Anyone working on / know the current landscape of ...
# present-company
k
Anyone working on / know the current landscape of protocols for real-time collaboration (ideally editor agnostic)? So far I’ve seen tandem and teletype, but neither seem to be active anymore.
t
check out CRDT and y.js, this is what people are largely talking about today for RTC. The more academic will point out issues, but they are a good enough solution for most.
s
t
Differential Synchronization is how Google docs originally worked (not sure if it is or not still the way) https://neil.fraser.name/writing/sync/ There were some interesting insights in the paper, notably that you only have to support a reasonable number of users at once.
k
thank you both for the interesting pointers!! y.js and Peritext both look awesome. The asynchronous/branching model of Peritext is very interesting. I’d love a future where people can do RTC on {code, notes, etc.} using a shared protocol like CRDT, but unlike Google Docs, not everyone is locked into the same tool
t
How much can you use git? This is what every professional programmer uses for collaboration on code, and RTC would break our workflows most of the time.
k
Yeah, I mean I use git for work and all my projects. That said I do think there are use cases where RTC seems quite useful though (eg working remotely with someone on some experimental code)
Looks like the former Atom devs are building an editor with RTC: https://zed.dev
t
The difficulty here is forcing developers to use a certain editor for RTC, vs using Zoom which has RTC by sharing controls. Most of the time, RTC does not need both people with a mouse and keyboard. Convincing developers to use a given IDE is harder than herding cats
j
Figma also published an overview of their implementation: https://www.figma.com/blog/how-figmas-multiplayer-technology-works/