Tooling for developing real-time collaborative remote working environments is about to take of dramatically.
CRDTs [0], while complex to work with untill recently, are now so much easer for developers to use with toolkits such as Yjs[1] and AutoMerge[2]. SAAS and PAAS companies proving tooling around these, enabling developers to easily build collaborative tools for specific niches and verticals are going to explode into the market.
Every 5-ish years there is a big “new” database tech that receives massive investment for both enterprise and small business. Real time CRDT based data stores are the “next big thing” - in my view.
CRDTs are often only talked about in relation to rich text editing, but “generic” CRDTs that represent “standard” data types (think JSON), and basic operations to them (inset, edit, remove) are able to represent so much more. You can use them for building so many CRUD type business apps, and by using a CRDT as your base data representation you get conflict free collaborative (and offline) editing for free.
The nice thing about both Yjs and AutoMerge is that they provide both Rich Text and JSON-like data types, covering 95% of what people would need for building business apps.
Did this 20 years ago in an FMMS. It's not worth it. It's better to have an arbiter source of truth that can guarantee ACID principles with transactions rather than introduce merge conflicts or lose transactions for lack of synchronization. The internet is almost everywhere, so use that rather than provide academic features that cause more headaches than they solve. SQL databases with transactions and row locks are invaluable inventions.
Also, if you want to collaborate, synergize, innovate, and revolutionize consider OTs. They're a known quantity. Handling merges of data is fraught with landmines.
You can't sell 2 of something to the same person offline and know if they wanted 1 or 2. Plus, giving an end user the ability to resolve merge conflicts is asking for theft and fraud.
i don’t want to realtime collab. i want to concentrate and get my shit done. slack is a nightmare for example. there is always a fool constantly interrupting your flow.
You might be missing the point. Some examples of realtime collaboration in the world of remote work can be: google docs / sheets, project boards (trello, miro), whiteboarding (jamboard, zoom), design/drawing, or even coding (VS code sharing).
Collaborative content creation in tools like Miro/Lucid can work well, especially when on an audio call at the same time. It’s the best execution of the whiteboard experience in a remote working environment that I have experienced so far.
The same technology that makes realtime collaboration (e.g., figma) go is the technology that makes it possible to build high performance single-user apps that you can open on your phone and desktop at the same time (e.g., roam). It's collaboration whether it's two users or two devices from the same user.
The web will go multiplayer because it's the only way to make high performance UIs that are multi-device without locking. The multi-user realtime collaboration bit just comes along for the ride.
Agreed. I chunk slack messaging the same way I do email. I have two channels that I'll take realtime notifications on, but if someone raises those flags without very.good.reason, they'll hear about it. I generally won't see anything on those channels more than once a month.
For special 'war room' projects I'll set up a special channel that I'll pay attention to for real time colab, but those are very unusual situations with a well defined end date.
Sync work process is inefficient. 80% of the time I would define work process to be asynchronous e.g. with git branch, pull request, docs, backlogs. This is efficient collaboration.
Real-time collaborative tool is a thing but not going to be big.
Pair designing could happen while meeting where there's not only approval process but also some tweaks here and there. In normal workflow, work should be done as single responsibility (feature) per designer. Synchronous workflow within tool is not that better than it's done by talking (letting 1 person doing it)
CRDTs [0], while complex to work with untill recently, are now so much easer for developers to use with toolkits such as Yjs[1] and AutoMerge[2]. SAAS and PAAS companies proving tooling around these, enabling developers to easily build collaborative tools for specific niches and verticals are going to explode into the market.
Every 5-ish years there is a big “new” database tech that receives massive investment for both enterprise and small business. Real time CRDT based data stores are the “next big thing” - in my view.
CRDTs are often only talked about in relation to rich text editing, but “generic” CRDTs that represent “standard” data types (think JSON), and basic operations to them (inset, edit, remove) are able to represent so much more. You can use them for building so many CRUD type business apps, and by using a CRDT as your base data representation you get conflict free collaborative (and offline) editing for free.
The nice thing about both Yjs and AutoMerge is that they provide both Rich Text and JSON-like data types, covering 95% of what people would need for building business apps.
0: https://en.m.wikipedia.org/wiki/Conflict-free_replicated_dat...
1: https://github.com/yjs/yjs
2: https://github.com/automerge/automerge