Skip to content
0:00 / 0:00

#differentialsynchronization#collaborativeediting#mobwrite

Differential Synchronization

Google TechTalks

349K subscribers • 62 videos on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2012 to 2020.
  • Presented by Neil Fraser, software engineer at Google

Intermediate. Assumes working knowledge.

51K views17 years ago3 recommendations

Distributed systemsComputer scienceConcurrency and parallelismAlgorithms

Neil Fraser presents differential synchronization, an algorithm for keeping multiple copies of a document in sync in real time.

Google Tech Talks January 8, 2009 ABSTRACT Keeping two or more copies of the same document synchronized with each other in real-time is a complex challenge. This talk describes an algorithm which is robust, convergent, and efficient. Differential synchronization is the algorithm powering MobWrite. Speaker: Neil Fraser Neil is the developer of MobWrite, a real-time collaborative web-based editor.

Why it's here

3 people recommend this

What people say. Recommended as a simple and robust alternative to Operational Transformation for real-time collaborative editing.

raganwaldon Hacker News • Recommends

On “JSON Patch, a proposed standard for synchronizing JSON structures”

One real-world use case is differential synchronization. Here's a Google Tech Talk on the subject: link to this video This is for real-time collaborative editing or replication of structured data (unlike Operational Transformation, which is optimized for text). Sending patches back and forth is at the core of the protocol.

dahjelleon Hacker News • Recommends

On “Eventual Consistency in Real-time Web Apps”

I've not tried it, but you might also be interested in an approach called differential synchronization1. Basically, it's just a specific way of passing diffs around to guarantee convergence, though (as far as I can tell) it doesn't guarantee much else (as in do you lose data if a patch can't be applied?). The really nice bits, though, are that it is a simple algorithm and that it can be applied to anything that you have diff/patch algorithms for. 1 link to this video

mhaleon Hacker News • Recommends

On “CRDTs are the future”

…ile it also relies on a centralized server, it allows for servers to be chained in such a way that seems to address many of the downsides of OT. I wonder why I rarely ever see Differential Synchronization mentioned here on HN? Is it due to lack of awareness or because of use-case fit issues or some fatal flaw I haven't seen? Or something else? 1 link to this video…

pg_boton Hacker News • Mentions

On “Differential Synchronization (2009)”

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: link to this video . 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.