Apple keeps adding new Continuity features, like Continuity Camera, but it’s such a shame that they don’t fix fundamental bugs in support for document versions which make them an unreliable mess.
I’ve been revisiting the bugs which I have detailed already in the handling of document versions in iCloud, and looking at how they are affected by Handoff. These are important for anyone wanting to take advantage of these attractive integrations, whether you’re shuffling documents between laptop and desktop Macs, or with iOS devices like Apple’s new iPad Pro models.
When working on locally-stored documents on a Mac, the majority of apps – including Apple’s iWork suite of Pages, Numbers and Keynote – now save previous versions of their documents to a hidden database on that storage volume. Use the Browse All Versions… command in the Revert To item in the File menu, and you can browse back through time and locate an earlier version before you made a substantial error, such as cutting out some important content.
Versions are the ultimate undo, much quicker and finer-grained than hourly Time Machine backups, which are also integrated into the versions shown in the standard version browser.
The snag with versions is that they don’t travel well. Because they’re stored separately, when you move files to different volumes, versions normally get lost. And iCloud was no exception to that general rule until relatively recently. Then around a year or so ago, Apple finally added support for versions in documents stored in iCloud.
Unfortunately, as of macOS Mojave 10.14, support for versions in iCloud was fundamentally flawed. Instead of macOS (and iOS) queueing new versions to be saved to iCloud, if a new version of a document is ready to be saved, that can cancel the saving of earlier versions if not complete.
The consequence of this is that versions work well when they are made infrequently, each version is only small, and iCloud connectivity is good. The larger the document, the more often that a new version is saved, and the slower that iCloud is, the greater the chance of versions being lost. There is no way to replace them either. You could therefore end up with one Mac or device showing eight or ten versions of a document, and another only able to find six or even less.
Another bug in the current implementation of versions in iCloud is that they operate independently of those in local storage. When you save a document which is kept in iCloud, two copies of that version are made: one in the local version database, and one in iCloud, which can be accessed by other Macs and iOS devices. Both sets show up in the version browser, and (once downloaded from iCloud) both will appear in my free tool Revisionist. Unfortunately, these duplicate versions aren’t saved sequentially in the version database, and the only way of determining the order of different versions is to rely on their date and timestamp.
On the Mac which performed this rapid editing, there are nine previous versions stored.
But only two show up on a Mac which accessed the document via iCloud.
And the same applies to an iPhone.
These bugs and their consequent problems have not changed at all in Mojave 10.14.1, nor do the latest updates to iWork apps make any difference.
What I hadn’t tested until recently was version management when using Handoff. This doesn’t work through iCloud, but can be used to edit documents stored in iCloud, and appears to save versions reliably. Indeed, it poses a different problem for version management: what happens when the same document is open on two systems, and different changes are made in each?
The Handoff solution is to prompt the user to choose between the two versions, forcing them to delete one of them. There doesn’t appear to be any way, automatically or manually, of merging the changes. With autosave in operation, a user who is editing the same document on two systems will rapidly realise that is a bad idea. With existing non-matching versions on the two systems, it can only add to user confusion, particularly if the user closes the document on one system, then later opens it using the versions stored in iCloud.
At the moment, versions in iCloud and Handoff can lead to great confusion and missing versions. The bugs in the current implementation of versions in iCloud need to be fixed, and until they are, versions in iCloud simply can’t be trusted.