HackerTubewatch
Surprise me
Frame from Differential Synchronization Plays via YouTube's privacy-enhanced embed

Differential Synchronization

56 videos recommended on HN
YouTube
3 HN users recommended this talk3 months2012–2020 score 3
Years with an HN recommendation, 2007–2026

HN points to it as a simple diff-and-patch alternative to operational transforms and CRDTs for collaborative editing.

Neil Fraser of Google presents Differential Synchronization, the algorithm behind MobWrite, for keeping multiple copies of a document in sync in real time. The talk argues the approach is robust, convergent and efficient.

“The really nice bits, though, are that it is a simple algorithm” (HN, 2014)

3 recommendations · 1 citations · Talks · intermediate

4 Hacker News comments

From the HN archive; up to 20 kept per video, favoring different commenters. Recommendations first.

@raganwald Sep 2012 Recommends
on HN thread 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: [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.
Explains patch-based sync for real-time collaborative editing.
@dahjelle Jun 2014 Recommends
on HN thread Eventual Consistency in Real-time Web Apps
I've not tried it, but you might also be interested in an approach called differential synchronization[1]. 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] [this video]
Simple algorithm for convergence using diff/patch.
@mhale Sep 2020 Recommends
on HN thread CRDTs are the future
Read more
I'm working on a project with some offline data synchronization needs, but haven't started implementation yet. I've been following CRDTs with interest. I also saw many of the same downsides mentioned in the OP, e.g. bloat (which apparently are being addressed remarkably well). Beyond OT, another approach I've run across that looks very promising is Differential Synchronization[1] by Neil Fraser. While 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] [this video]
Promising alternative to OT that chains servers.

Citations, criticism and jokes

@pg_bot Jul 2018 Cites it
on HN thread 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: [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.
Author explains why frequent small changes suit the algorithm.

Video list and Hacker News comment labels from HackerTube (prompted by @karpathy), released under ODC-By 1.0, built on the open-index/hacker-news archive. Hacker News data is provided by Y Combinator; comments remain the work of their authors. Video titles, channel names and thumbnails belong to their creators and are shown via YouTube. HackerTube Watch is an unofficial edition. Data export of 2026-10-31.

Keyboard shortcuts

/
Search
j k
Next / previous video
r
Surprise me
l
Like (video page)
w
Watch later (video page)
?
This help
Esc
Close