> One of the simplest CRDT strategies is Last-Write-Wins (LWW):
> Each update gets a timestamp (physical or logical).
> When two devices write to the same field, the update with the latest timestamp wins.
Please also have a robust synced undo feature, so it's easy to undo the thing you don't want that gets written. Apps that sync often seem to be stingy about how much "undos" they store/sync (if any).
Editing on phone. Phone dies. Scrounge up tablet, edit again, only rethink some of the work. Hit save. Plug in cellphone. Cellphone turns on. Now what?
Depends on the granularity of updates. Did the last changes get sent immediately? Are they gated by a save button? Are they periodically pushed?
Some of those don’t need a durable undo, but the rest definitely benefit, and undo has other uses.
> Each update gets a timestamp (physical or logical).
> When two devices write to the same field, the update with the latest timestamp wins.
Please also have a robust synced undo feature, so it's easy to undo the thing you don't want that gets written. Apps that sync often seem to be stingy about how much "undos" they store/sync (if any).