There’s a problem with sync and its name is offline.

Sync on iOS is built on the false assumption that the Internet is everywhere. But the world of humans, airplanes and trains and subways and backroads and basements demonstrate otherwise. Holes of offlineness lurk everywhere and sync on iOS (both with iCloud and DropBox) really falls down hard if you step into one.

Offline Perils

On iOS, your data often isn’t on the phone until you try to access it. Doubtless there have been many a sad businessman who once in the air over the Pacific Ocean discovered that all his music didn’t get on the plane with him.

But that’s not all: did you rent a cabin far out in the woods to work on your book? If you didn’t download it to your iPad ahead of time, it’s going to be an unproductive retreat.

And the problem works the other way, too.

If you live in a city with a metro system you’ll be out of Internet range multiple times a day: and the data you generate on your iPhone might not make it back into the cloud.

For example: I use an app called Notesy to store ideas for future projects. And ideas flow freely while I’m slightly bored on the Underground.

Later, when I go to use the notes on the iPad version of Notesy – its empty. Why? Apps only sync when they are open. The solution isn’t a big deal: open Notsey on the iPhone then manually tell the iPad version to sync – but it’s an irritation that shouldn’t exist.

But the way iOS handles sync can lead to much bigger, serious problems: it’s possible to overwrite new versions of your data with old versions without warning.

Again, as example Byword is my text editor of choice and it uses Apple’s iCloud to sync documents. But because of the sync-only-when-open-rule this can happen:

Monday: Start writing a new script on my iPad.

Tuesday: Continue working on it on my Mac. No problems.

Wednesday: Go back to working on the iPad. But this time I’m offline for some reason. Because Byword can’t sync, I’m working on Monday’s version of the script and, the next time Byword on my iPad connects to the Internet it will replace Tuesday’s work.

While it’s possible to remember over the course of three days where the latest version of a document really is: 1) the user shouldn’t have to & 2) as the time between edits and the number of documents increases, errors are inevitable. Versioning is only useful when you know you've overridden something.

This kind of problem can destroy days or months of work . The result is that I’m never 100% sure that what I’m working on is the current version.

And to be clear: this isn’t Byword’s, or any other app’s, fault. It’s a structural problem with the way iOS limits what apps can do.

That's not even getting started on the horror that can be unnoticed conflicts. For example, take a look at my TextExpander folder: