Skip to content
Thoughtful, detailed coverage of everything Apple for 32 years
and the TidBITS Content Network for Apple professionals
Show excerpts


Our big news this week is a 50-percent-off Take Control ebook sale to celebrate the unveiling of the new Take Control account management system. In between dealing with technical issues related to that launch, we found time to examine the noteworthy releases of Skype 2.0.1 and iBooks 1.1.2 for iOS. Also this week, Glenn Fleishman wrote about Apple donating the MacPaint and QuickDraw source code to the Computer History Museum, Chris Pepper contributed a warning about how using a Bluetooth keyboard with an iOS device can have unexpected results, and a punchy Jeff Carlson turned Apple’s record-setting Q3 2010 financial results into a quiz. The issue is anchored by a pair of articles by Matt Neuburg and Adam, looking first at how iOS handles document mapping and how this causes headaches for people trying to serve Internet-based files to iOS device users. Finally, don’t miss the DealBITS discount on PDF Shrink! Other notable software releases this week include 1Password 3.3, Wiki Server Update 1.0, Firefox 3.6.8, and iTunes 9.2.1.

Adam Engst 3 comments

Take Control Sale: 50% Off to Celebrate Account Management

We’ve created a new Take Control account management system that enables everyone who has ever ordered a Take Control ebook to access all their purchased books on our site. The marquee feature is that you can read your ebooks directly from our site on an iPad, iPhone, or iPod touch. You can also re-download purchased PDFs, get free updates, download EPUB and Mobipocket versions, and more.

To celebrate this new system, we’re having a 50-percent-off sale on all the ebooks we sell. This is a great opportunity to try your first Take Control title, and our system will automatically create an account for you and register your book with it. And for those who already have numerous Take Control titles, although our account management system also knows what books you can upgrade at a discount, the sale is the cheapest and easiest way to update several ebooks in one trip through the cart.

To take advantage of this limited-time sale, visit our catalog using this coupon-loaded link, select the titles you want, and click the Buy Selected Ebooks button. You’ll see the coupon code and the discount on the first screen of the cart. The sale runs through 3 August 2010.

We particularly recommend our iPad-related ebooks, including:

  • Take Control of Media on Your iPad
  • Take Control of Working with Your iPad
  • Take Control of Mail on the iPad, iPhone, and iPod touch
  • Take Control of iPad Networking & Security

(Don’t forget Tonya’s “Take Control of iPad Basics,” but it’s free!)

But we still focus on the Mac and Mac OS X, with recent titles such as:

  • Take Control of Permissions in Snow Leopard
  • Take Control of Screen Sharing in Snow Leopard
  • Take Control of Back to My Mac
  • Take Control of Syncing Data in Snow Leopard

And recent application-specific ebooks include:

  • Take Control of Getting Started with DEVONthink 2
  • Take Control of Apple Mail in Snow Leopard
  • Take Control of Spam with Apple Mail

To see a full list and shop with sale prices, use the link above to visit the Take Control categorized catalog, or use this coupon-loaded link to view all our ebooks, sorted alphabetically.

Thanks for the support! We couldn’t afford to create useful services like the Take Control account management system without your continued help.

Glenn Fleishman 1 comment

Skype 2.0.1 Brings Background Calls to iOS

The latest version of Skype for iOS brings several long-awaited features, including background call continuation in iOS 4, where an in-progress call will continue to work even when you switch away from the Skype app. Version 2.0.1 is free, like its predecessors.

The revision also includes improved voice quality, and notifications for incoming calls when the Skype app isn’t the active foreground program. This latter feature, coupled with the background call continuation, could make the Skype iPhone app into a serious competitor for standard phone calls.

Skype said in a blog post that it had dropped its plan to start charging a fee for each Skype-to-Skype call placed over 3G. When the company first announced it would set a price on internal network mobile VoIP calls, which is unprecedented across the rest of its services, it offered no explanation for why it would need to levy a fee, since the user was responsible for 3G data.

Adam Engst 5 comments

iBooks 1.1.2 Adds Image Zooming, Fixes PDF Link Bug

Hard on the heels of iOS 4.0.1 and 3.2.1, Apple has released iBooks 1.1.1, a minor yet welcome update to the free EPUB and PDF reader for iOS devices. From our perspective, the most important change is that iBooks 1.1.1 on the iPad now handles PDF links properly when the iPad is in portrait orientation, which wasn’t true of version 1.1. (Very shortly after the 1.1.1 release, Apple released 1.1.2, saying only that it fixes a problem with updating iBooks itself.)

Other improvements in iBooks 1.1.1 include the capability to zoom images within EPUB-based books by double-tapping them (after which you can pinch to zoom further; this worked in PDF before), support for ebooks that include audio and video (we suspect this works only with EPUB-based ebooks, but we don’t have anything to test just yet), and the capability to look up definitions to English words inside EPUB-based books that lack a specified language.

Along with the PDF link bug, Apple claims that iBooks 1.1.1 also fixes a bug that could prevent some book downloads to fail to complete, provides performance improvements when reading PDFs, and “includes many stability and performance improvements.” Honestly, I can’t say I’m buying it – if anything, PDF performance seems worse, with pages drawing initially fuzzy and then becoming crisp a second later. It’s almost as disconcerting as the Kindle’s page blinks.

Alas, several glaring holes with iBooks remain unfilled. Most notably, iBooks still lacks a Back button or gesture. If you tap a link in an EPUB or PDF book to navigate to another part of the book, there’s no way (short of setting a bookmark before you tap the link, which is wildly clumsy) to return to the page containing the tapped link quickly. Also, if you zoom in on a PDF page (necessary on an iPhone or iPod touch), iBooks forgets your zoom level when you move to another page. I realize I sound like a broken record, but GoodReader continues to outperform iBooks in both these areas.

Like all iOS apps, the update to iBooks 1.1.2 is available by clicking the Apps category in the sidebar in iTunes and then clicking the “X Updates Available” link in the bottom right of the iTunes window. Or, open the App Store app on an iOS device and tap Updates in the toolbar.

Adam Engst No comments

DealBITS Discount: Save 20% on PDF Shrink 4.5

Congratulations to David Gue at and Nick Robson at, whose entries were chosen randomly in the last DealBITS drawing and who each received a copy of PDF Shrink 4.5, worth $35. But don’t fret if you didn’t win, since Apago is offering a 20-percent-off discount on PDF Shrink 4.5 to all TidBITS readers through 13 August 2010. To take advantage of the discount, order from Apago’s store; the discount appears once you’ve added PDF Shrink to your cart. Thanks to the 732 people who entered this DealBITS drawing, and we hope you’ll
continue to participate in the future!

Glenn Fleishman 6 comments

Apple Donates MacPaint and QuickDraw Source Code to Museum

Few pieces of software inspire rapture. QuickDraw and MacPaint are surely at the top of the short list. QuickDraw, developed by Bill Atkinson, defined what you saw when you used a Mac; MacPaint was the first mainstream program that let you create imagery on a personal computer.

Through the efforts of Andy Hertzfeld, an early and long-time Apple employee deeply involved in the Mac’s creation and development, Apple has donated the source code for QuickDraw and MacPaint to the Computer History Museum. Apple retains the copyright, but it’s generous of the firm to give an insight into the fundament of Macintosh’s heart.

QuickDraw and MacPaint were both developed by Atkinson for the Mac’s predecessor, the Lisa. However, they reached fruition on the Mac.

QuickDraw is a set of graphic primitives and window-handling routines that provided Apple’s developers and third-party software companies with highly optimized ways to present and update information on the screen. That is, no one had to develop the same approach twice; instead, developers could tap into a constantly improving set of routines designed to work as fast as possible. (Graphic primitives includes things like making squares, circles, and polygons, or shading an area enclosed by a line.)

This was in contrast to most graphical systems of the time and for years thereafter. I recall using Windows 1.0 a few years later, in which every piece of software seemed to invent its own way of interacting with a user, although Microsoft had consistency across its own software line.

Atkinson figured out ways to speed up clipping by a couple of orders of magnitude. Clipping happens when overlapping windows have to be drawn. Atkinson describes some of his techniques in this Computer History Museum oral interview (with both him and Hertzfeld) in 2004.

By making clipping fast, you could drag arbitrary windows around and have many windows on screen without the operating system becoming unusably slow. Hertzfeld wrote the glue (literally called QuickGlue) that connected QuickDraw into the Mac OS for developer’s use.

MacPaint’s importance shouldn’t be overlooked, either. It was the first capable digital drawing program available to a mass audience, and it could be used to produce real work. Relying on QuickDraw components and extending them, Atkinson developed a rich set of metaphors and approaches for drawing that still define the dominant paradigm in software today.

In the image below, LisaSketch’s toolbar is at the far left, and MacPaint’s is just to its right. The next two toolbars to the right are from the latest versions of GraphicConverter (6.7) and Adobe Photoshop (CS5).

MacPaint was also one of the few programs that came with the Mac. For a lot of people, it was the Mac: no one had ever seen anything like this. Click and drag with the mouse and make shapes! And few people had ever used a mouse before, either, so MacPaint introduced users to the power of hand gestures translated through hardware.

MacPaint was written in Mac Pascal and 68000 assembly language (about 60 percent Pascal); QuickDraw is 100-percent assembler. Assembly language is one step above machine language. Machine language is the program code represented directly in the numbers the CPU uses for commands; programmers sometimes reach down to this layer today for optimization. Assembler is a lightly abstracted layer above it that allows the use of symbols and operations that are converted into sequences of machine code.

Hertzfeld wrote up a series of stories about his experiences at Apple at I reviewed the book adaptation of this site in “Continuous Revolution” (24 January 2005).

Chris Pepper 9 comments

Beware Bluetooth Keyboards with iOS Devices

One of the iPad’s much-appreciated improvements over the iPhone was its support for Bluetooth keyboards, both the Apple Wireless Keyboard and non-Apple models. Fortunately, iOS 4 brought this support to the iPhone (3GS and 4) and third-generation iPod touch as well.

Unfortunately, a subtle and non-obvious interaction between Bluetooth keyboards and all compatible versions of the iOS can cause results that range from irritating to destructive. The short version: make sure you turn off your Bluetooth keyboard before packing it for a trip. You may even want to pop its batteries out.

Why take such a precaution? First, the Bluetooth keyboard can wake a paired iOS device, so if the keyboard is in your bag with the keys mashed against some other object, the iOS device (and the keyboard itself) could be woken up repeatedly, draining battery power. Even worse, if the Play/Pause key on the keyboard is pressed, the paired device will start playing audio – even if it’s locked with a passcode.

The Apple Wireless Keyboard’s power button can also be depressed from the side, turning it on – so consider removing batteries rather than just powering off.

Second, if you do have a passcode lock set (Settings > General > Passcode Lock), as is recommended for anyone whose device contains sensitive data, iOS has a progressive delay built into the passcode lock: each time the wrong code is entered (in this case, unintentionally), the duration increases before the code may be tried again. After a few failed “attempts” to unlock by a mashed keyboard, the iOS device disallows logins for an hour or more. Dan Frakes at Macworld found this out the hard way.

Third, if you have Erase Data enabled in the Passcode Lock settings screen – recommended for anyone using a passcode – an iPad or iOS 4 device will scramble its flash memory after 10 failed “attempts.” All iOS devices that support Bluetooth keyboards also have hardware encryption, and employ “crypto-shredding,” in which the hardware key is discarded, making data impossible to access or decrypt within just a few seconds. (The iPhone 3G and second-generation iPod touch can run iOS 4, but neither supports external keyboards.)

If your device loses access to its cryptographically protected storage, getting that lost information back is a simple matter of reconnecting the device to the copy of iTunes it backs up to and then restoring, but that might be inconvenient if you’re travelling with only the iOS device, or disappointing if you had created documents in Pages, transferred photos and deleted them from a camera, or performed other tasks that involved irretrievable work. Mike Rothman at Securosis managed to turn this into a lesson about looking on the brighter side.

A few solutions present themselves. First, and easiest, turn off your Bluetooth keyboard before packing it. For the Apple Wireless Keyboard, the on/off switch is on the right edge of the round keyboard support (the battery compartment opens on the left side). Press it to turn the keyboard off. Instead of turning it off, if you’re concerned about the on/off switch being pressed (thus enabling all the problems described above), remove the batteries instead.

Alternatively, you can always turn Bluetooth off on your iOS device to ensure that it isn’t accidentally accessed from a mashed keyboard.

Of course, the ultimate solution should come from Apple, in the form of an iOS option that would ignore input from a Bluetooth keyboard when the device is showing the passcode screen.

Jeff Carlson 5 comments

Apple Reports $3.25 Billion Profit for Q3 2010

And now for something a little different. Rather than merely repeat Apple’s financial results for the quarter, we’re going interactive and providing some of the data in the form of quiz questions.

Quarterly Finances — Today’s first quiz question is: Apple reported its financial results from the third fiscal quarter of 2010, marking:

  1. Record revenue for the quarter
  2. Record revenue for any quarter in the company’s history
  3. “…a phenomenal quarter that exceeded our expectations all around, including the most successful product launch in Apple’s history with iPhone 4,” according to Apple CEO Steve Jobs
  4. All of the above

Apple recorded revenue of $15.7 billion, which fueled a net quarterly profit of $3.25 billion, or $3.51 per diluted share. That compares to $9.73 billion revenue and profit of $1.83 billion in the year-ago quarter. Last quarter (Q2 2010), Apple posted revenue of $13.5 billion and a $3.07 billion profit.

Numbers Behind the Dollars — These results can primarily be attributed to:

  1. Increased Mac sales: 3.47 million, a 33 percent increase over the previous year’s quarter
  2. Increased iPhone sales: 8.4 million, an increase of 61 percent (with only two days of iPhone 4 sales) accounting for $5.33 billion in revenue
  3. Strong iPad sales: 3.27 million, contributing $2.17 billion in revenue
  4. Who are we kidding? Of course it’s… All of the above.

The exception to all of this growth is the iPod category, which includes the iOS-based iPod touch as well as the Classic iPod, iPod nano, and iPod shuffle. Apple sold fewer iPods in this quarter than a year ago (9.4 million compared to 10.2 million, an 8 percent decline). Since iPod touch sales are up 48 percent from the year-ago quarter, the implication is that non-iOS iPod sales have fallen off dramatically, which isn’t really much of a surprise.

Interestingly, the average selling price for the iPad was $640, implying that most people aren’t buying the low end $499 model.

Product Breakdown — Answer this question in your head before you read the choices: Which product line generates the largest percentage of Apple’s revenues?

  1. Mac (28 percent)
  2. iPhone (34 percent)
  3. iPad (14 percent)
  4. iPod (10 percent)

So while it’s clear that Apple still relies heavily on Mac sales for revenue (thanks in part to record Mac sales in the education sector), the iOS devices combine for more than half of the company’s revenue. During this quarter, iOS device sales broke the 100 million mark.

Other contributions to Apple’s bottom line come from the iTunes Store, which generated over $1 billion, a 25 percent year-over-year increase.

Apple Retail Stores — Choose which of the following facts about the Apple retail stores does not belong:

  1. The retail stores generated $2.58 billion in revenue, averaging $9 million for each of the 287 stores open at the end of the quarter.
  2. Apple sold 677,000 Macs through the retail stores during the quarter.
  3. Roughly half of the customers buying a Mac from an Apple retail store are purchasing a Mac for the first time.
  4. The previous statistic has remained consistent for as long as Apple has been running the Apple stores.
  5. Apple just broke ground on the first Lunar Apple Store location.

(You can tell we want this quiz to be really easy, can’t you?)

Money in the Bank — Apple now has $45.8 billion in cash reserves, up from $41.7 billion last quarter, no doubt thanks to a comparatively small $1.9 billion in operating expenses for this quarter. The company expects to use that war chest for (choose one of the following):

  1. Preserving capital, as usual.
  2. Buying Dell, liquidating the company and giving the proceeds to shareholders.
  3. Following the suggestions made by TidBITS in “What Apple Could Do with $40 Billion” (1 April 2010).
  4. Turning it all into coinage, and creating a Scrooge McDuck money pit for Steve Jobs to frolic in.


Looking Ahead — Identify which of the following statements were provided as guidance for the next fiscal quarter (which ends 30 September 2010):

  1. Apple expects revenue to be about $18 billion, and diluted earnings per share of about $3.44.
  2. Apple will defer approximately $175 million to the December quarter, which is the estimated cost of providing free cases to customers who purchased the iPhone 4. Apple says it will recognize the cost based on when the cases are delivered to customers (which should be in 3 to 5 weeks; presumably it’s a matter of complicated accounting. (See “Apple Responds to iPhone 4 Antenna Issue,” 16 July 2010, for more information.)
  3. Apple will be launching the iPad in 9 additional countries.
  4. “Those whiny analysts will never be happy no matter how much money we make.”

We’ll have to wait until October to learn how well these results match up with reality, but in the meantime it’s safe to say that Apple continues to fare well. As Jason Snell said in Macworld’s Live Update: Apple Q3 Earnings Call (from which we pulled many of the figures for this article), “I think it’s safe to say that Apple is a titan of industry now,” and no longer the “beleaguered” Apple of old.

Thanks for taking the quiz! Add up all of your correct answers, multiple by 42, divide by 11, and no matter what the score, consider yourself a Mac pundit!

Matt Neuburg 8 comments

Apps and Docs in iOS

The Macintosh has always had a notion of documents associated with an application. Double-click a document’s icon in the Finder and the associated application launches and opens that document. This mechanism has had its ups and downs over the years, becoming sometimes more sophisticated, sometimes more crude (see “Snow Leopard Snubs Document Creator Codes,” 6 September 2009). But at least it’s easy and it generally works.

Starting with iOS 3.2, the iPad (and now, with iOS 4.0, the iPhone and iPod touch) has had a mechanism for associating document types with apps. But the two are scarcely comparable: the Macintosh mechanism is like a rocket ship, and the iPhone mechanism is like one of those jalopies that flaps its wings and crashes into a barn in the silent movies.

Under iOS, there is no Finder, and there’s no file system visible to the user (the normal user, at least, who hasn’t jailbroken the device). So it’s up to individual apps that handle documents to offer the user the option of opening a document in some other app. Most iOS apps don’t deal with specific document types, or if they do, they don’t choose to offer this option; so that’s the end of that.

If an app does want to offer the user such an option (as does, for example, Safari or Mail), it calls the system to perform a limited range of actions. The system can present a preview of the document; it can present an Options dialog; or it can present an Open In dialog. These amount to pretty much the same thing, ultimately. For example, the Options dialog is likely to offer one choice of app in which to open the document, along with an option to present the Open In dialog. In the end, therefore, it comes down to the Open In dialog, which is a list of apps that can open the document in question. The user either taps a name in the list or taps Cancel to dismiss the dialog without doing anything.


Note that the app is not presenting the Open In dialog and knows nothing of its contents. The dialog belongs to the system. The app has no way of querying the system to learn what other apps can open a document of a certain type. This would appear to be an instance of the iOS’s “sandboxing” policy: apps run in a strictly delimited space, and are not allowed to tread on, or even know about, one another’s territory.

(As usual, though, Apple’s own apps can be privy to system information that other apps can’t obtain. This must be the case with Mobile Safari, because it doesn’t present the Open In dialog; it uses its own interface, and that wouldn’t be possible if it didn’t have some way to query the system as to what apps can open a given file.)


For the same sandboxing reason, there isn’t any central document repository in which an app can look to find a document. You won’t find an iOS app with a standard Open dialog, because there are no standard Open dialogs in the iOS; there is no built-in provision for perusing the file system as a whole. An app can keep documents within its own sandboxed file system, and can present its own custom interface for perusing that file system; but it can’t see outside its sandbox.

That being so, how can one app open a document that currently lives in another app’s sandbox, in response to the Open In dialog? It’s all up to the system. Just as apps can’t see which other apps can open a document of a certain type, but the system can, so too an app can’t move a document from its own sandbox into another app’s sandbox, but the system can. If, in the system’s Open In dialog, the user elects to open the document with a second app, the system takes charge. It places the document in the second app’s Inbox folder, which is inside the second app’s sandbox. Then it launches or foregrounds the second app and sends it a message asking it to open that document in its new location.

How does the system know which apps can open a certain type of document? That, at least, is similar to Mac OS X. An app’s bundle contains an XML resource called Info.plist, which the system reads to learn various important things about the app, such as where its icon file is and which of its nib files contains its startup interface. The Info.plist can also list document types the app is willing to open; it specifies those types by their uniform type identifier, or UTI. (The UTI is the modern equivalent of the old four-letter creator code and also enables mappings between file extensions and MIME types; for more gory details, see that creator code article cited earlier.)

I’ve omitted two pieces of the puzzle, because they’re not really pieces of this puzzle. First, you’re probably aware that you can copy documents into some apps via the File Sharing interface in iTunes when the iOS device is hooked to your computer. That’s a separate mechanism. It’s a simple on-off switch: either the user can or can’t copy files to and from a certain directory in this app’s sandbox using iTunes.

(To further muddy the issue, iBooks, of course, has a special relationship with iTunes, because it’s Apple’s own app. There’s no accounting for how iBooks acquires files in the iTunes Books category.)

Second, there are also custom URLs. An app can define a URL scheme, such as “myScheme://something/or/other”, and may be contacted when such a URL is tapped in a Web view or otherwise sent to the system. But this has nothing to do with document types. It’s more like a secret code for sending a message, defined by an app and usable only if the user or another app knows the secret. And how an app responds when it receives such a message is entirely up to that app.

To summarize: You can’t arbitrarily pick a document and ask for some app to open it. You can’t even arbitrarily pick a document; you see the Open In dialog only if some app that encounters a document feels like showing it to you. You can’t easily find out what apps are prepared to open a given type of file, for the same reason that an app can’t. There’s no easy way to look inside an app bundle to view its Info.plist, and there’s no system call that an app (other than one of Apple’s own apps) can use to perform such an inquiry. The entire process of getting iOS to work with documents is like trying to tell someone how to knit, while they’re wearing mittens and earmuffs, and you’re blindfolded.

Adam Engst 11 comments

Take Control’s Problems with Apps and Docs in iOS

Until the iPad came out, we didn’t receive many requests to read our Take Control ebooks on the iPhone and iPod touch. But once the iPad appeared, the email from readers requesting this capability started to pour in.

What We Want, and Why We Can’t Have It — If you’re shopping for an ebook, it should be easy for you to browse a Web-based catalog, pay via an online cart, and download your new ebook to your device, whether that device is a laptop or desktop computer, a new iPhone 4, an iPad, an older iPhone or iPod touch, or maybe an Android phone or other device.

And, in the Take Control Web site and cart, all of that is possible… except downloading of the files. We haven’t yet seriously looked into the Android and other handhelds, but we have recently spent quite a lot of time learning how we can make it possible to download to an iOS device and investigating how iOS makes the connections between apps and documents. This investigation prompted Matt Neuburg’s article, “Apps and Docs in iOS” (15 July 2010). If you haven’t done so already, go read Matt’s article — what I say next may not make sense without that background.

Now think about what Matt says in relation to a publisher offering an Internet service that provides downloadable content to iOS device users, such as a purchased ebook or a software manual. The Take Control series, as an example, faces several hurdles:

  • iOS offers no centralized file storage area, so any downloaded file would live in only one app, or, if that app could share with others, multiple copies could be spread among multiple apps. That could be confusing for users, who would likely then turn to us for help.

  • iOS needs to support Zip files. We distribute our ebooks as zipped PDF files, not just to reduce file size, but also because it ensures that when you download the file, you really download it, as opposed to displaying the PDF in your Web browser. Otherwise, someone could become confused by closing a PDF-displaying browser window and “losing” the ebook. Although some iOS apps can handle Zip files, none of Apple’s own apps can. Plus, there’s no programmatic way — either on the iOS device itself or on a Web page — to know before a link is clicked if a user has an app like GoodReader that can handle Zip files, so we can’t even sniff the presence of a Zip-handling app and change the download page accordingly.

Although our cart doesn’t have a feature for presenting iOS-using customers with straight PDFs at the end of the shopping process, such a feature would be fraught with problems. A straight PDF download might work in iOS 4, under which Safari presents a normal Open In dialog, but in iOS 3.2 on the iPad, Safari displays the PDF but doesn’t let you open it in any other app to save it. Navigate away from that page, and the PDF disappears. And since the download URLs in our cart are good for only a limited time, you wouldn’t be able to get that PDF again. That’s not a good user experience.

Luckily, as we were trying to figure out a better alternative for iOS users, we were also building our Take Control account management system. At some point we had a brainstorm — iOS users could download their books when they were logged in to our Web site. We have PDF versions of all our ebooks, and EPUB and Mobipocket versions of many of them. You could log in to your account and then view the PDF version of one of our ebooks in Safari or download into GoodReader, which offers better ebook-reading features. And with PDF, that’s easy and is working now.

But what about EPUB? Apple’s iBooks app can display EPUB files copied into the Books category in iTunes, but it turns out that iBooks does not register itself as being able to open files with the EPUB UTI. Tap a link to a .epub file on a Web page loaded in Safari and another app might offer to open it, but iBooks won’t. Worse, if the user doesn’t have any app that can open an EPUB file, Safari merely reports “Download Failed: Safari cannot download this file.” Also not a good user experience.

Why Not Use the iBookstore? An answer to this problem is to upload our ebooks to the iBookstore, and in fact, we’ve done that with a number of our titles (search for “Take Control” from within iBooks). However, we don’t consider the iBookstore a complete solution, for a number of reasons:

  • We want the autonomy of running our own site so we control the shopping experience, including offering bundle discounts and sales like this week’s 50-percent-off sale (see “Take Control Sale: 50% Off to Celebrate Account Management,” 26 July 2010).

  • Working with the iBookstore is slow. It takes roughly two weeks for a book to be approved for sale, and even once it has been approved, changes take anywhere from a few days to a week.

  • All books in the iBookstore must be in EPUB format, even though iBooks now supports PDF. Although we have converted many of our PDF-based ebooks to EPUB, the PDF versions look and work a lot better on the iPad (EPUB is better for the small screen iPhone and iPod touch).

  • The iBookstore is a black box, accessible only via iBooks. There’s no way to link to a book in the iBookstore from the Web, as is possible with the iTunes Store and the App Store.

  • Apple takes a 30 percent cut of sales from the iBookstore, and while we don’t begrudge them that, we’d prefer to sell directly from our site, where our transaction costs are lower.

  • If you purchase one of our ebooks through the iBookstore, you must create your Take Control account manually, or, if it’s already created, add your book to it manually. Account creation and population is handled automatically for orders through our cart. We give free and generously discounted updates to many of our ebooks; some of that won’t be possible for iBookstore customers.

  • The iBookstore has a nice layout, but it’s not ideally suited to the needs of our ebooks and customers.

Further, other organizations or individuals may wish to make a few documents available for download to an iOS device in an informal manner, but not so informal that they toss their documents to the winds of the current iOS approach. Brochures, posters, course catalogs, newsletters, and so forth, for instance, don’t belong in the iBookstore.

Documents in the Dark — So, assuming Internet-based file serving of ebooks is something we want to roll ourselves, what would be a good user experience, since nobody can predict in advance what file types a particular iOS device can open in which apps? To explore this question, I created a simple Web page that linked to a PDF, an EPUB, a Mobipocket file, and a Zip file, and we tested what happened when we tapped each of those links in Safari on different devices. Then, to see if the results were different outside of Safari, Matt wrote a tiny app that contains sample documents in each of these formats and displays the Open In dialog when the user taps an
associated button.

Alas, our results were all over the map. The iOS 3.2-based iPad reacted somewhat differently than the iOS 4-based iPhones, and each device offered different options for opening any given file type based on which apps were installed on it. This is, in fact, how we learned that iBooks cannot open an EPUB via the Open In dialog, and that Safari in the iPad’s iOS 3.2 doesn’t offer an Open In dialog for PDF, while Safari in iOS 4 does. So, while Safari can open linked files of various types and potentially hand them off to other apps, one of three things will occur:

  • If no app on the iOS device can handle the file type, Safari displays a Download Failed dialog.

  • If the file in question is a PDF, Safari loads it and displays it, and, if you’re in iOS 4, it also shows native Open In buttons (below left). If there is only one app that can handle a PDF, such as iBooks, you’ll see a single Open In iBooks button. If you have multiple apps that can handle PDFs, one will be the default (I’m guessing now that it’s the most recently updated), and the full set (below right) will be displayed if you tap the Open In… button.

  • If the file isn’t a PDF, but there’s an app that can handle it, Safari downloads it and displays an unusual Web page-based “dialog” that shows either a specific Open In AppName button, or both that and an Open In button (below left) that, when tapped, shows the list of available apps for that file type (below right).

    The user experience here isn’t good either. This “dialog” isn’t a real Web page, in that you can’t scroll it vertically on an iPhone or iPod touch screen, and its buttons are below the bottom of the page and out of tapping range. Plus, if you have zoomed the Web page containing the source link, the resulting page for the “dialog” is also zoomed, with the effect that the dialog is sometimes completely out of sight. If multiple apps can handle a file type, the icons that Safari shows are almost always mixed up between the apps. Finally, I’ve had to terminate Safari manually in at least one case — dealing with that dialog froze the app.

On the iPad, we learned that EPUB files can be opened in Stanza, GoodReader, BookShelf, and CloudReaders, though only Stanza can actually display the EPUB file. We also learned that Bookshelf can open and display a Mobipocket file.
BookShelf, CloudReaders, and GoodReader all claim to be able to open a Zip file, but only GoodReader can. Lots of apps can open PDFs, including iBooks and GoodReader. (In our initial tests on an iPhone and iPod touch, GoodReader wasn’t showing up in the Open In dialog at all, since it hadn’t at that point been updated for iOS 4. This is yet another area where apps must be rewritten and recompiled to deal with the ever-evolving iPhone system — see “What is Fast App Switching?,” 23 June 2010.)

For people like us, who try to give reliable, concrete directions, this situation is maddening. At Take Control, we want to provide a service to our readers, supplying an ebook via the Internet and helping the user open it in some appropriate app. But we’re having trouble doing that because there’s no way of predicting what will happen on any given user’s device.

It would be great if we could write an iOS app or code a Web page that checks what a user’s options are and says, “You have an app that can open an EPUB, so shall we download the book as an EPUB?” But we don’t see any way to learn what the user’s options are. We can’t find out what apps the user has that can open a certain type of document, and there’s no central registry telling us even what apps exist that can open a certain type of document. If, on the other hand, we just provide a URL to the ebook and let the user open it in Safari, we’ve ceded control to Safari, which might tell the user that there’s no app that can open this document. Now the user is confused, stymied, and probably mad at us.

Interim Solutions — What have we done? Two things. First, we’ve added a blue-colored note to the first screen of our cart when it’s loaded from an iOS device, giving customers advice on how to proceed once they finish ordering.

Second, when you visit your Take Control Account page from an iOS device, we focus the available links on downloading the PDF file for each purchased ebook. One link downloads the file in Safari; the other downloads in GoodReader, by using the ghttp: scheme that GoodReader alone understands. We recommend the latter, since it’s a better experience. (In fact, it downloads the zipped PDF, which GoodReader can expand, resulting in the full book title being displayed in GoodReader, rather than the filename of the PDF.)

We’ll be evaluating these decisions (and the specific interfaces we use) regularly, and if we come up with something better, we’ll implement it. We’re definitely feeling our way at this point, and are open to suggestions.

Right now, we don’t let readers download the EPUB and Mobipocket versions of our ebooks directly. They’re accessible only as zipped archives from your Take Control account, and only from a desktop or laptop computer. That’s because, as noted above, iBooks can’t open EPUB files from a link yet, leaving only Stanza (EPUB) and Bookshelf (Mobipocket) as the apps that could handle those links. However, we plan to make it possible to download those files within iOS in the future, once the apps (iBooks in particular) catch up.

(In case you were wondering, we don’t sell a bundle of the PDF, EPUB, and Mobipocket files because we don’t want to delay publication until EPUB and Mobipocket conversion is done, and we don’t want users to get different things depending on when they download.)

Overall, the moral of the story is that until Apple makes the whole business of apps and documents more rational and open in iOS, every document type will have to be dealt with individually, on a case-by-case basis, with a lot of head-scratching and frustration for anyone who wants to offer documents for download from the Internet. Document types are a good idea, obviously, but Apple needs to loosen the wraps and make this a better experience for users and developers alike. Otherwise, while we don’t want to say that what Apple has provided is worse than nothing, it’s darned close.

TidBITS Staff No comments

TidBITS Watchlist: Notable Software Updates for 26 July 2010

1Password 3.3 — Agile Web Solutions has released a substantial update to the popular password management utility 1Password. Version 3.3 improves integration with Dropbox, adds support for beta versions of Firefox 4, and adds support for Camino 2.0.3. 1PasswordAnywhere gains search and copy capabilities, and can now be set to lock after 1 minute of idle time. The update also fixes an issue that prevented initial clicks on the Firefox 1Password toolbar buttons from registering, and another issue that would cause the 1Password menu to open and close when pressing modifier keys. Full
release notes
noting all 28 changes are available on the Agile Web Solutions Web site. ($39.95 new, free update, 15.1 MB)

Read/post comments about 1Password 3.3.

Wiki Server Update 1.0 — Apple’s Wiki Server Update 1.0 (part of Mac OS X 10.6 Snow Leopard Server) is a minor maintenance update that addresses a handful of general reliability issues. Issues addressed include authenticating users with high-bit characters (such as accent marks) in full user names, enabling wiki group calendar access from iCal, enabling wikis and blogs to remain accessible after a migration from Leopard Server, starting wiki services after a page was modified by a user using their full name, and displaying private blogs that have been accessed by their owner. The update, whose changes are also included in the just-released 1.1 update to Snow
Leopard Server 10.6.4 (delta and combo), is available via Software Update and the Apple Support Downloads page. (Free, 26.3 MB)

Read/post comments about Wiki Server Update 1.0.

Firefox 3.6.7 — Mozilla’s Firefox 3.6.7 is a minor maintenance update that addresses a handful of security vulnerabilities and a long list of stability bugs. The 126 stability issues addressed in this update are minor and/or exceedingly technical, though if you’d like to peruse the list it’s available on Mozilla’s Web site. The critical security vulnerabilities addressed could result in the standard threats of arbitrary code execution and attacker-controlled memory. More specific security notes are available. (Free, 19 MB)

Read/post comments about Firefox 3.6.7.

iTunes 9.2.1 — Apple has released iTunes 9.2.1 to fix a number of bugs, addressing some minor unspecified issues with drag-and-drop, disabling some older incompatible third-party plug-ins, resolving performance problems that can occur on the first sync of a new device with iTunes 9.2, and fixing a bug triggered by upgrading an iPhone or iPod touch to iOS 4 with encrypted backups. Finally, the update addresses a critical security vulnerability. iTunes 9.2.1 is available via Software Update and the Apple Support Downloads page. (Free, 101.82 MB)

Read/post comments about iTunes 9.2.1.

TidBITS Staff No comments

ExtraBITS for 26 July 2010

The black iPhone 4 will become available in 17 more countries this week, while the white iPhone 4 will now be delayed everywhere until later this year. In other iOS device news, the iPad will be tested for use in academia by quite a few colleges and universities, the joke Antenn-aid lets you solve your iPhone 4 antenna troubles with a custom Band-Aid, the “Don’t Hold It Wrong” blog points out holding instructions from other mobile phones, and if you want an iPhone 4 case for free, you can now order it via a free iPhone app. Finally, we recommend you read about how Safari can reveal your personal information via AutoFill, along with Jeffrey Rosen’s excellent article about the ramifications of data persistence on the Internet.

iPhone 4 Debuts in 17 Countries — Apple has announced that, on Friday, 30 July 2010, the iPhone 4 will arrive in 17 new countries, including Australia, Austria, Belgium, Canada, Denmark, Finland, Hong Kong, Ireland, Italy, Luxembourg, Netherlands, Norway, New Zealand, Singapore, Spain, Sweden, and Switzerland. Customers can purchase the iPhone 4 through Apple’s online or retail stores, or from any Apple Authorized Reseller.

Read/post comments

Apple iPhone Case App Takes Free Case Orders — Apple is now taking orders for free iPhone 4 cases to reduce antenna problems. Orders can be placed only through the new iPhone 4 Case Program app, which requires your iTunes account password for verification. From there, you select a case (choices include Apple’s black bumper and several third-party options), enter your shipping information, submit your order, and wait 3 to 10 weeks (depending on the case) for it to arrive. You can place only one order, so once you’ve done so, you may as well delete the app.

Read/post comments

Remembering How to Forget on the Internet — New York Times contributor Jeffrey Rosen, a law professor at George Washington University, has written a thoughtful article on the ramifications of data persistence on the Web. Those who share personal information via social networking services are being forced to come to terms with the Internet’s extraordinary capability to preserve past actions, beliefs, and versions of oneself for posterity, causing problems as the lines between the real and virtual, and the past and the present, become ever fuzzier. Rosen provides an overview of the legal, technological, and social solutions we
might employ to overcome this new inability to forget.

Read/post comments

The iPad Goes to College — Ars Technica reports on the growing number of universities experimenting with integrating the iPad into their academic missions. While a couple of campuses will run exploratory pilot programs (not dissimilar from Princeton’s Kindle experiment), others are offering iPads to all incoming freshmen, to select honors students, or to select graduate students. Also, at least one university, North Carolina State, has equipped its libraries with a collection of iPads for anyone to use (which is a little odd, given how personal these devices tend to be).

Read/post comments

Safari Reveals Personal Info Via Auto-Fill — Jeremiah Grossman has discovered and explained a potentially significant security flaw in Safari 4 and 5. In essence, if you have the AutoFill option “Using info from my Address Book card” enabled, a malicious Web site can extract your name, company, city, state, country, and email address without your knowledge. For the moment, we recommend turning off that option in Safari’s AutoFill preference pane. Apple told the New York Times (though not Grossman, who reported the bug) that they are “aware of the issue and are working on a fix.”

Read/post comments

Apple Delays White iPhone 4 Until “Later This Year” — Making iPhones is harder than it looks. After delaying shipment of the white iPhone 4 models until “late July,” Apple has now announced further delay. The statement reads, “White models of Apple’s new iPhone 4 have continued to be more challenging to manufacture than we originally expected, and as a result they will not be available until later this year. The availability of the more popular iPhone 4 black models is not affected.”

Read/post comments

Antenn-aid For iPhone 4 Signal Woes — Apple hoped its recent press conference could heal the bruising the iPhone 4’s image has taken from the press. But for further repair there’s Antenn-aid, a vinyl Band-Aid sticker sized precisely to cover your iPhone 4’s antenna gap. It’s mainly a gag, but if you’re trying to avoid a bulky rubber bumper, you might give it a shot!

Read/post comments

“Don’t Hold It Wrong” Spreads the Blame — Are you unconvinced by Apple’s videos showing other mobile phones being affected by the “death grip” reception problem? Check out further evidence presented by David Chartier at his new Don’t Hold It Wrong blog. He cites examples ranging from YouTube videos to user handbooks that show this is an industry-wide problem that’s far from secret. (PS: Don’t let small children read the blog’s About page.)

Read/post comments