> The user should never be faced with a “pick the correct revision” dialog box.
These two goals cannot be reconciled.
If we both synchronize a document with content and then we both go offline and we make conflicting edits then someone will have to resolve the conflict.
I'm still reading TFA, but this is probably the biggest reason I won't use this system as described. (I will copy any useful ideas, though, and keep it in mind for future projects.)
For my current project, it just doesn't make sense to blindly merge documents. The result will be broken, or worse -- valid but silently incorrect. Having changes you made and saw applied silently vanish is not acceptable to me, and I think having users resolve merge conflicts might be. Not sure, I'm aiming at non-technical users...
We wouldn't accept this for code, though. If that is a principled stance, and not just a side-effect of traditional code syntax being brittle, we should wonder whether our users deserve the same.