Zentrope

Text

iCloud Conflicts

According to what I can glean from a John Siracusa/Dan Benjamin “Hypercritical” podcast (at 5by5.tv), Apple’s iCloud sync strategy doesn’t resolve conflicts via a complicated merging scheme (such as are found in source code version control systems).

If you enter a contact from one device and enter it in differently on another device, you’ll no longer get a dialog box asking you to resolve the difference. Instead, iCloud will pick one to push down to all devices and that’s that. What saves you from losing data is that they keep all versions of the contact on the server. When you enter your contact manager and discover a contact missing the data you thought you’d added, you can click a button and see previous versions and then “revert” to the “correct” one, if you so choose. Depending on the application, you can probably choose to “cut” from one version and “paste” into the other (thus doing a merge without thinking of it that way). Same kind of thing you can do with Time Machine.

I really like this approach because it makes things seem simple as you go about your life.

If you never enter data such that a conflict would occur (i.e., you never enter two contacts for the same person on separate devices or experience network splits) then you’ll never even notice versioning and history because the algorithms behind the scene don’t do anything other than store versions and are thus too limited to mess anything up.

However, if you look at a contact and say, “Wait, I fixed that yesterday. What’s up?” or worse, you end up dialing a wrong number or emailing a wrong address because you didn’t notice that the contact is not the one you thought you corrected, you can hit the “versions” button and pick the right one and you’re done and all your other devices are done, too.

The “syncing” problem is so much easier when you leverage the human brain, which you can do because the data is personal.

Really nice, and more akin to the way people think about these things. The inherent problems of concurrent updates are never brought to the surface. Everything is always consistent. And if the current state isn’t what you want, you make it what you want when you want to, because, ultimately, you are the single source of truth.

Posted on Tuesday, June 28 2011. Tagged with: editorialicloudiososxsoftwareessay
5
Notes
  1. howardtharp liked this
  2. zentrope posted this
Zentrope Keith Irwin

Plenty of tropes, not much Zen.

Ask me anything
Previous Next