I am writing an Android app and would like to know what's the recommended conflict resolution strategy, or what is the behaviour of the iOS version.
Specifically, under such condition:
1. User create a task using Web
2. User syncs the task to the Android phone
3. User disables network on the Android phone
4. User edits the task using Web
5. User edits the task on Android phone
6. User enables network on the Android phone
Which should be the final task? #4 or #5? I was surprised to find out that if I try this with Google Contacts, it will be #4 instead of #5, so Google always take the one that is updated from the Web first, regardless of the modified time.
It is up to you which one it will be. In our iPhone app, the web's version wins as well. We plan to add better conflict resolution in the future.
A better solution would be to compare modification dates and use the most recent version. An even better solution would be to compare the two versions of the task and if they differ in some attribute, then prompt the user which they want to keep.