How to make a real-time collaborative text editor in 5 easy steps!
summary
Claim: build a real-time collaborative text editor by making operations commute and be idempotent. Uses CRDTs not OT, models text as a bag of characters with unique per-character IDs and orders via fractional indexing with site IDs and counters/timestamps. Explains how inserts and deletes commute so replicas converge, contrasts with Google Docs and roebucks paper, and says the prototype generalizes beyond text; implementation details and a blog post link are provided and the approach is presented as simpler to understand.
AI-written summary · about
chapters (7)
- 0:00Intro
- 3:36Commutative + idempotent = synchronize
- 5:40Make all kiwis unique
- 8:16Order to Alphabit soups
- 9:11Fractional indexing
- 10:07Globally unique fractions
- 12:12Implementation details
related talks
37mBuilding a Collaborative Text Editor
29mCRDT: Conflict-free Data Types for Collaborative Editing and Offline-First
40mNew algorithms for collaborative text editing
49mWhat CRDTs, distributed editing and the speed of light means to your writer friends
33mDoes the network seem thin up here? Collaborating with mountaintop mesh networks
01h 00mBuilding a real-time collaborative editor
32mCRDT and other new ideas for client-server communication
23mBuilding a real-time collaborative editor with Phoenix
