I'm planning on doing an application for mobile and desktop which includes syncing. Since they can be offline, I'll probably get the problem of merging conflicts at some point. Now, this is something one has to handle on his own - in this case, the user.

How would you prevent this from happening and if it does how would you present it to the user? Just show the difference and let them decide?

  • 1
    There are multiple version control solutions and strategies out there already. What are they lacking that necessitates a new solution or strategy? Commented Jun 17, 2017 at 23:42
  • 1
    @EvilClosetMonkey, I assume that if the OP is asking, he's not aware of those solutions and strategies. Maybe try adding those as an answer?
    – Devin
    Commented Jun 19, 2017 at 17:47

3 Answers 3


Always explain to your users what's happening. In this case have a status bar that indicates when the user has synced for the last time. Also give the user the option to force sync and to choose versions.

enter image description here

There's another side to it also. It's not only UX wise a choice you have to make but also for your application. Do you want users to work in old versions? That's something you have to think of business-wise. Good luck.


The best way is to :

  • Show direct comparison between the results of actions on each device like Git does. (Follow the link to understand what and how Git does it)
  • Show the timestamp of both the variants

PS: I won't be talking about the technical issues with such type of software model because this isn't the right community for it but when I was a developer, I tried this exact model and it has a lot of problems. Just saying.

But, if you're going to do that then this is the way to go.


Taking the question litteraly: "How would you prevent this from happening ...."

The only way you can prevent merge conflicts is to check out the items so that only one user can work on an item at any time.

Without locks, conflicts will happen. How to handle them depends on the type of data you synch and your users etc, but usually you would show both copies and ask whether to overwrite the cloud version, overwrite your local version, merging using some more or less advanced merge tool, or postponing (leaving them unchanged, maybe to manually revert certain changes etc on the local copy).

Also, as another answer suggested, clearly show when the document was last synched.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.