An adventure in realtime collaborative editing
dov.dev · 1,512 words · saved by 1 readers
An exercise in collaborative editing that ends with lots of work to bring native subdocument support to the YJS ecosystem.
Motivation Over the last few weeks I have begun work on a project I am calling Figment . I’m not quite ready to talk about Figment publicly yet but I do want to write up some of the more interesting things I have been working on in the process. One of the core features I wanted in Figment was for multiple users to be able to edit text collaboratively a la Google Docs. It turns out this problem is extremely hard. This post is a brief write up of how I arrived at a robust solution. Prior art I consider myself a pretty competent engineer but I know enough to know what I don’t know. Collaborative
related reading
- Yjs | Homepageyjs.dev
- CRDTs go brrrjosephg.com
- Peritext: A CRDT for Rich-Text Collaborationinkandswitch.com
- Upwelling: Combining real-time collaboration with version control for writers.inkandswitch.com
- yjs/INTERNALS.md at main · yjs/yjs · GitHubgithub.com
- A simple way to build collaborative web apps | Hacker Newsnews.ycombinator.com
- You don't need a CRDT to build a collaborative experience | Hacker Newsnews.ycombinator.com
- Offline Support | Yjs Docsdocs.yjs.dev
- Idea Listjzhao.xyz
- Introducing the collaborative editor built for teams and agentsmintlify.com
- Realtime editing of ordered sequencesfigma.com
- You don't need CRDTs for collaborative experiences — /dev/knillzknill.io