My book
My book, Designing Data-Intensive Applications, has received thousands of five-star reviews.
I am a researcher working on local-first software and security protocols at TU Munich. If you find my work useful, please support me on Patreon.
A talk at Emerging Technologies for the Enterprise (Philly ETE), Online, 04 May 2021
Unfortunately I forgot to share my screen, so the first 10 minutes of the talk are without slides!
Lots of software these days needs to enable collaboration between several users. We know how to build basic web apps, where all users read and update data in a shared database. But real-time collaboration, as we know it from Google Docs or Figma or Trello, is a much bigger challenge. It gets even harder if you want to allow users to continue working while offline.
Automerge is an open-source library that aims to make collaboration software simple and robust. It provides a shared JSON-like data structure that several users can update at the same time, and which automatically merges all updates into a consistent view. It provides data formats for efficiently storing this data and syncing it between users. It seamlessly supports both offline work and live real-time collaboration while online.
Internally, Automerge is based on Conflict-free Replicated Data Types (CRDTs). In this talk we will explore some of the interesting computer science research that makes it possible, and see how it is used in practice.