Comment by archagon

6 years ago

Most people won't make use of this kind of research. However, CRDTs aren't just another way to architect the same kind of software. They are an inversion of the tropes and techniques we've zealously stuck to over the last decade, and they grant us brand new technical capabilities that no SAAS player will ever be able to offer:

• Offline-first support with real-time collaboration

• Real-time collaboration with local devices over Bluetooth/ad-hoc Wi-Fi

• End-to-end encrypted real-time collaboration without the server having access to any of your content

• Transport-agnostic sync: use Dropbox, iCloud, and Bluetooth all at the same time with no consistency issues

• The ability to switch to a different cloud provider with zero friction, and to grab your (mergeable, collaborative, and versioned) documents from your current cloud provider without conversion to any intermediary format

• Anxiety-free sync: the user can be 100% confident that their changes will never fail to merge, even if they spent a month in the bush editing their documents

These are off the top of my head, but there are many, many others. And they are features. If enough people build software using these tools, people will get used to them and start seeing the big players as annoying and clunky. ("Why can't I make changes to my spreadsheet when I go through a tunnel? Why did I lose all the changes I've been working on over the last hour? What do you mean this .doc file is just a link to a webpage?")

Is there Big Money in it? I don't know (or care), but I'm going to try hard to make sure that any software I write on the side follows these principles, and I hope others start to do the same.

You could have easily said that "the reason that software is online is a business one" about time sharing versus personal computing, and yet here we are. Focus on the user instead of your bottom line and you will (eventually) win.