| So now app developers have a choice: they can use iCloud or Dropbox to manage distributed app state. Any iOS app developers (I'm not one) care to compare & contrast the two options? It looks like Dropbox may be using Operational Transformation [0] to merge changes to lists: Lists are special field values. They contain an ordered list of other values, though not other lists. Lists can be manipulated via four list operations: put (i.e. replace), move, insert, and delete. These list operations allow Dropbox to handle merging changes to the structure of the list automatically. [1] iCloud, on the other hand, uses the coarser, state-centric approach of whole document versioning. [2] (Edit: okay, key-value property versioning is also available.) But iCloud lets the app control conflict resolution, while the Dropbox Datastore API only lets you choose from a predefined set of conflict resolution strategies. [3] Which approach provides greater value to the app developer? Has Dropbox realized here that developers are just not comfortable implementing a custom merge strategy for entire documents, and not having to worry about this is worth some loss of control? [0] http://en.wikipedia.org/wiki/Operational_transformation [1] https://www.dropbox.com/developers/datastore/tutorial/ios#re... [2] http://developer.apple.com/library/ios/#documentation/DataMa... [3] https://www.dropbox.com/developers/datastore/tutorial/ios#co... |