I've been working on an article to help understand how CRDTs work in realtime collaborative editors. Unfortunately, this knowledge base is quite large and it would be far too much to try to sift down to a small blog post. Instead, I've compiled a few resources I've found to be quite helpful in learning more about CRDT and how to build realtime collaborative editors with this concept. I'm still working on that article and I'm working on making sure to combine that with my series on Writing a Canvas Markdown Editor.
- Data Laced With History
- Understanding Lamport Timestamps
- YJS: P2P Shared Data Types
- Time, Clocks, and the Ordering of Events in Distributed Systems
- Introduction to Conflict-Free Replicated Data Types
Feel free to share additional resources!