Taking any app and adding Google Docs style "collaboration" to it is a recipe for success, in the same way that taking a piece of art and making it an NFT did, for a period time, make its value 10-1,000,000x greater.
From an engineering POV, maybe someone should sell a CRDT service that proxies multiple users into one and pretends to be general, but really authors domain-specific stuff since CRDTs and OT "general" is not very valuable.
Conceptually, yes. However "taking any app and adding Google Docs..." is less about adding, and more about rethinking the base app from scratch so that the fundamental actions are atomic enough and determinant enough to easily sync between users despite latency issues.
It wouldn't be easy to take Illustrator and add collaboration and get Figma. Microsoft bought a company that had already made a collaborative version of Word to get a head start on that process, and O365 is still clunky compared with Google Docs.
In the 3D mechanical CAD world, Onshape has done an amazing job of taking the functionality of Solidworks (or Creo or NX or ...) and making it collaborative. But really the biggest change is that they turned every user step into a "micro-version" which can be undone (pretty much infinite undo/redo). They built a Github style branching/merging (and reverting) version control system on top of the micro-versions. They have one service which runs the versioning system and another which runs the geometry engine. If you have all the steps, you are always guaranteed to get the same geometry - this fundamental rule of their system design means that only the deltas of micro-versions need to be shared between users/locations.
Anyone who's opened a Word file on a few different computers can tell you that the fonts, font handling and subtle version differences between different installs of Word means that the same source file doesn't equal the same visual layout. To some degree, putting "Word" in the cloud should mean that every user is using the latest (same) version of Word, but that's not the case still...
There's a reason that Google Docs doesn't have an offline mode or support any font in the world.
There definitely is an offline mode for Google Docs [1]. And since it uses Operational Transform (OT) [2] instead of CRDT, theoretically they could be customizing the handling of a coming back online event.
IMO CRDT seems to be the "easy way" to make the output look consistent, but when it comes to interactions that may have semantics, then one may want to go the OT route. My impression is that CRDT is better suited for distributed computing applications.
Well clearly I was wrong about offline editing of Google Docs. I'm trying to search for when this functionality was added but I suspect it was during a dark time when I was forced to use O365.
From an engineering POV, maybe someone should sell a CRDT service that proxies multiple users into one and pretends to be general, but really authors domain-specific stuff since CRDTs and OT "general" is not very valuable.