flâneur — a map of the web's best reading

Designing Data Structures for Collaborative Apps - Matthew Weidner

mattweidner.com · 7,107 words · saved by 1 readers

I’ve put many of the ideas from this post into practice in a library, Collabs. You can learn more about Collabs, and see how open-source collaborative apps might work in practice, in my Local-First Web talk: Video, Slides, Live demo. Suppose you’re building a collaborative app, along the lines of Google Docs/Sheets/Slides, Figma, Notion, etc. One challenge you’ll face is the actual collaboration: when one user changes the shared state, their changes need to show up for every other user. For example, if multiple users type at the same time in a text field, the result should reflect all of their changes and be consistent (identical for all users). Conflict-free Replicated Data Types (CRDTs) provide a solution to this challenge. They are data structures that look like ordinary data structures (maps, sets, text strings, etc.), except that they are collaborative: when one user updates their copy of a CRDT, their changes automatically show up for everyone else. Each user sees their own chang

Designing Data Structures for Collaborative Apps - Matthew Weidner Designing Data Structures for Collaborative Apps Matthew Weidner | Feb 10th, 2022 Home | RSS Feed Keywords: collaborative apps, CRDTs, composition I’ve put many of the ideas from this post into practice in a library, Collabs . You can learn more about Collabs, and see how open-source collaborative apps might work in practice, in my Local-First Web talk: Video , Slides , Live demo . Suppose you’re building a collaborative app, along the lines of Google Docs/Sheets/Slides, Figma, Notion, etc. One challenge you’ll face is the actu

Explore this link on the map →

related reading