Local-First Software (2019)
inkandswitch.com
inkandswitch.com
I think the article drifts a bit far from "Local-First Software" but I learned a lot about the issues dealing with real time collaboration.
I'm just about ready to release a new version of a web app I first released in 2002 that offers a Local-First option. That's been a goal of mine since I first released it. indexedDB works, but that's a pretty awful option for the app I'm speaking of.
I'm using CouchDB to do this, and it requires the user install CouchDB on their desktop PC. That's a pretty big hurdle, but it's actually very easy to do. I think the hard part will be convincing users it's worth their effort.
Some past HN threads mentioning CRDT did not fare as well as OT (Operational Transform):
Just a few weeks ago he released a video that explains CRDTs in a bit more detail:
[1] https://marijnhaverbeke.nl/blog/collaborative-editing.html
CRDTs absolutely are a level above OTs, except seen lesser adoption, because they're newer, and the libraries and frameworks around it are maturing. It is inherently more scalable (data store/caches are simple pub/subs and queues).
These open up quite a few usecases for applications - offline first is now a real technological possiblity, as the main deterrent (conflicts) has been algorithmically addressed.
The cons are non-technological : commercial operations have no incentive to support losing control of the data. For those that can get past this archaic roadblock, the pro is amazing - enabling true collaboration at every level of the application. These would be the killer apps here!