Hacker News new | ask | show | jobs
by sigil 4723 days ago
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...

1 comments

Not answering your question, but developers can also use http://parse.com or similar.