Open erlend-sh opened 4 years ago
Yes, it can handle offline manipulation of Evees (Evolving Entities) by developing service providers that live in the browser or, eventually, standalone software on the local machine.
CRDT works fine for perspectives (branches) from a single writer. When they have multiple writers either the changes can be automatically merged (if done on different parts of the Evee or sub-Evees) or they will result in a legit conflict that needs to be addressed by a human as in GIT.
Its also possible to delegate the CRDT logic to service providers that are eventually consistent, like Holochain or OrbitDB. In that case, it is their responsibility to specify the current head of a given Evee with whatever logic they implement.
Real-time collaboration will also be possible by having a "shared working directory" (following the GIT analogy) to which soft changes can be done prior to making new commits.
Thanks!
Its also possible to delegate the CRDT logic to service providers that are eventually consistent, like Holochain or OrbitDB.
There’s a discussion going on that’ll probably expand a bit on that possibility: https://forum.holochain.org/t/article-local-first-software/1240?u=erlend_sh
Does the protocol aim to support offline-first principles?
https://www.inkandswitch.com/local-first.html
https://blog.acolyer.org/2019/11/20/local-first-software/
...and if yes, will CRDT play a role in that, or do you have a different approach in mind?