Concept of real-time communication between browser clients.
Tools
- webRTC
- web socket
- yjs is a set of shared data types that adds a layer over these real-time data capabilities
Use cases
- live “documents” between active clients
- in order to support live changes, need to figure out how to handle conflicts and merging. This is a separate problem around collaborative app which CDRT and operational transform attempts to solve
- with a server broker, can sync live updates as well as historical updates
- with some local storage (i.e. indexed DB in the browser), you can spread live updates and personal historical updates
- maybe you can keep your own history and then you join a room to “share” when you want to share
- what happens if no one to share with? Maybe it’s ok that it’s not always possible. You can’t join unless there’s someone else live that wants to join. It’s like the magic of chat roulette and be real. There’s a magic inherent in knowing that other people are on at the very moment as you.
- What’s a space where you can make meaningful changes on your own that become more meaningful when you share them?
- maybe you can keep your own history and then you join a room to “share” when you want to share