This article originally appeared in TidBITS on 2016-03-30 at 2:29 p.m.
The permanent URL for this article is:
Include images: Off

iBooks with iCloud Drive Is Unreliable and Confusing

by Michael E. Cohen

First off, let me say that some users have had no problems with the latest versions of iBooks that Apple delivered with OS X 10.11.4 and iOS 9.3.1: 1.5 for Mac and 4.7 for iOS. However, I am not one of those lucky users, and, judging from various discussions in Apple’s support communities (like this [1], and this [2], and this [3]), I’m not alone.

Here is what Apple promises, from the support document “Sync ePub, iBooks Author books, and PDF files with iBooks and iCloud [4]”:

You can use iBooks and iCloud Drive to sync ePub, iBooks Author books, and PDF files so that you can access them on all of your devices. After you turn on iCloud Drive, all files automatically upload to iCloud. Any ePub, iBooks Author book, or PDF file that you add to your iBooks library later also automatically upload to iCloud.

Sounds nifty, doesn’t it? If you have iCloud Drive enabled, and sufficient storage for your library, you can forgo the iTunes syncing dance: just plop a book — even a PDF! — into your iBooks library (supposedly on any of your devices) and it becomes available to all your other devices! Who wouldn’t want such a streamlined syncing system?

I certainly would. For one thing, I regularly make EPUBs, and the ability to check layout, for example, on my various devices (a Mac, an iPad Air, an iPhone 6+, and an ancient iPad 2) without having to sync these devices via iTunes sounds wonderful. And it would be… if everything worked as Apple says it should. Reality, however, begs to differ. With its latest iterations of iBooks, Apple has cooked up a gallimaufry of inconsistencies and unreliabilities.

Enabling iCloud Drive/iBooks Integration -- The confusion begins with enabling the feature. When you first launch iBooks after updating your iOS device or Mac, the app offers you the opportunity to enable iCloud Drive for your book library.

[image link] [5]

If you don’t do so at that time, however, it’s hard to find out how to do so subsequently. In fact, the answer can be deduced from the support document [6] mentioned above, a link to which also appears in the initial screen, although finding that document is an exercise in online searching once you dismiss that screen. Furthermore, once you do find that support document, you’ll discover that it offers no direct information about how to enable the iCloud Drive feature: instead, you find how to disable it. From that, however, you can figure out where the necessary settings are to turn on iCloud Drive integration with iBooks:

After you turn on iCloud Drive integration with iBooks on your iOS device, the next time you open the iBooks app it asks you if you want to use iCloud Drive. If you decline the offer, the switch in the Settings app is turned back off.

Uploading Irritations -- I have only my own impatience to blame. I downloaded the OS X and iOS updates as soon as they became available, and, once I had installed them, I immediately enabled iCloud Drive integration with iBooks. Naturally, Apple’s servers were being hammered by millions of users all fetching the latest updates, so the transfer of my iBooks library from my Mac to iCloud Drive was understandably slow. However, there was little indication of how much time it would take to finish, or how many items remained to be uploaded. A progress icon did appear from time to time on the toolbar seemingly at random, but the information it provided was both uninformative and misleading.

When I looked at iBooks on one of my iOS devices during this upload period, I saw thumbnails appear, disappear, and shift around in a seemingly haphazard fashion. Even after waiting several hours, iBooks on my iOS device no longer matched what I saw on my Mac: I had to terminate iBooks manually and relaunch it on the device to see the current state of affairs.

What I saw wasn’t pretty: my All Books collection, which I had sorted by Recent, showed all the books in my library that were not on my device (as indicated by download icons on their thumbnails). I had to scroll down past dozens of books to reach the most recently read book that was on my device. What’s more, the arrangement of books in my various collections was scrambled, no longer matching the careful order in which I had once placed them.

[image link] [8]

Furthermore, many books — and I could find no pattern that predicted which — were no longer on my device but, instead were marked as available for download from iCloud. When I turned on Hide iCloud Books in the collections menu on my iPhone, for example, I saw many fewer books listed than had been there before the migration to iCloud Drive.

Corruption Issues -- Because one of the books I was in the midst of reading (I usually have several going at once) was no longer on my iPad Air, I tapped its download icon. Within seconds, the download was complete. And when I tapped to open the newly downloaded book, it opened to where I had left off. So far, so good.

Or not. When I went to download another book, one that I had not read in a while, a tap seemed to download it, but when I tapped again to open the book, I saw a message telling me that there was not enough storage space to install it — absurd, because my iPad had more than 10 GB free, and the book itself was less than 1 MB in size. When I dismissed the message, the download icon reappeared on the book.

[image link] [9]

I went to my Mac, found the book, and opened it there. It opened with no problem. I went back to my iPad and tried again. Again, I saw the same message. I then dragged the book out of my iBooks library on my Mac, deleted the book from the library, and then dragged the copy I had just made back into iBooks.

On my iPad, the book was gone; although iBooks on the iPad had registered the deletion, it could not see the newly installed copy. I force-quit iBooks, and, when I restarted the app, the new copy appeared after a couple of seconds. This time, I could download it and open it with no problem.

Sadly, I encountered the same out-of-space error on a number of books I tried to download: as many as half of those I tried. I could only conclude that the initial upload of my books to iCloud from my Mac had corrupted something. The only way I was able to fix this was to remove and reinstall every book in my Mac’s iBooks library, one collection at a time:

  1. Display a collection.

  2. Select all the books and drag them into a Finder folder to copy them.

  3. Wait for the copying to finish, and then in iBooks, delete all the books in the collection.

  4. Wait for the deletions to finish, and then drag the copies from the Finder back into the now-empty window for the current collection in iBooks.

  5. Wait for iBooks to finish uploading the copies back to iCloud, and then empty the Finder folder in preparation for the next collection.

  6. Repeat Steps 1 through 5.

This process took me most of the day, but, when I was done, I had no more issues with downloads on my iOS devices. And it had only cost me a day of uncompensated labor!

Insurmountable Obstacles -- Since then, I have continued to explore what the new iBooks apps have to offer, and what I have found is disheartening: a cavalcade of problems for which I have yet to find solutions:

Final Words -- iBooks with iCloud Drive integration is a great idea executed atrociously. Even without iCloud Drive integration, the latest iBooks apps remain embarrassing examples of poor quality control, Schrödinger’s apps built atop a Heisenberg engine that is unreliable, unpredictable, and dangerous to use if you value the contents of your ebook library.

I’m willing to forgive Apple occasional minor flaws in software when it re-engineers an app to provide important new features. But what Apple has provided in these latest iBooks updates is simply unforgivable. Unfortunately, there seems to be no way for a user to address these problems, but if you rely heavily on iBooks and have not yet updated to OS X 10.11.4 and/or iOS 9.3.1, I suggest you wait.