11 comments

[ 4.4 ms ] story [ 255 ms ] thread
We’re looking seriously at using this at work. Is anyone aware of any OSS implementations?
The reference implementation is MobWrite: https://code.google.com/archive/p/google-mobwrite/

The project got put to one side when Google Code shut down, but I dusted it off last month and everything still works.

(comment deleted)
Thanks for the reply, and the code!
Morgan Dixon implemented with me once. Be aware that as define, it is limited to updating at a fixed polling interval. So you don't get updates as each party types; you have to wait for the round-trip sync update every 100ms (or whatever you configure it to).
Differential synchronization does not require a fixed polling interval. You can have real time updates as each party types, in fact the algorithm prefers this setup as it is easier to process a lot of small changes rapidly. Neil goes into further detail in this google talk about why this is the case: https://youtu.be/S2Hp_1jqpY8?t=2815. The trick is sync after someone changes the document while including a short debounce so that you aren't overloading the system with superfluous edits.