When people write collaborative software, they usually communicate the state of a program over the network using some protocol. They might use something like REST to send API calls, or stream UDP packets with the state of a multiplayer game. I’m not aware of anyone implementing
In our ongoing Livelymerge project, we’re exploring what it feels like to put the entire state of a program into a shared collaborative database (
Livelymerge documents can be collaboratively edited, taken offline, synchronized, forked, or rewound. This leads to all kinds of exciting opportunities and difficult problems. In fact, in a meaningful sense, we’ve known this project was doomed from the outset.
Fans of systems in the Smalltalk lineage might recognize Livelymerge as a descendant of Lively
The ongoing project continues to explore the possibility-space by discovering (or creating) a problem and then trying to resolve it. If you’d like to learn more, you can see all the fun gifs and thorny problems by browsing our ongoing series of lab notes.
As we explore ideas we publish our internal notes, memos, sketches, and dialogues.