| ▲ | anematode 4 hours ago | ||||||||||||||||||||||
Enjoyed the article! As someone who's worked on bits of collaborative software (and is currently helping build one at work), I'd caution people from using CRDTs in general. A central server is the right tool for the job in most cases; there are certain things that are difficult to handle with CRDTs, like permissions and acquiring locks on objects. Edit: I had an excerpt here which I completely misread. Sorry. | |||||||||||||||||||||||
| ▲ | epistasis 4 hours ago | parent | next [-] | ||||||||||||||||||||||
Here's a 2019 Figma article on this, not sure if its representative of their current system > OTs power most collaborative text-based apps such as Google Docs. They’re the most well-known technique but in researching them, we quickly realized they were overkill for what we wanted to achieve ... > Figma's tech is instead inspired by something called CRDTs, which stands for conflict-free replicated data types. ... Figma isn't using true CRDTs though. CRDTs are designed for decentralized systems where there is no single central authority to decide what the final state should be https://www.figma.com/blog/how-figmas-multiplayer-technology... | |||||||||||||||||||||||
| ▲ | gritzko 4 hours ago | parent | prev [-] | ||||||||||||||||||||||
Heh. Find how to grant permissions/ acquire lock in git. You can not. That is fundamental to distributed systems. Downside: harder to think about it all. Upside: a rocket may hit the datacenter. From what I remember about Figma, it can be proclaimed CRDT. Google Docs got their sync algorithm before CRDT was even known (yep, I remember those days!). | |||||||||||||||||||||||
| |||||||||||||||||||||||