I don't understand CRDTs or OT algorithms to be honest. It's just not natural for me to understand why we need to edit something at the exact same time.
In real life, I don't write at the exact place that someone else does. If I want to collaborate with someone in person, each has a piece of paper and a pencil or each has their computer.
Even if collaborating in Google Docs weβre not editing the same part of the document. At least I havenβt done that.
Space.
You canβt be at the same space at the same time. That doesnβt happen. But it seems to me that async collaboration implies that?
I know that itβs about merging changes and avoiding conflicts.
But I insist. In real life, we donβt have telepathy. And if we had it, we wouldnβt speak at the same time. We would still take turns to speak and listen.
I think the closest thing we have to CRDTs are neurons and cells. I donβt know enough about this but my understanding is that neurons collectively have copies of knowledge not data. (see π Data Persistence)
Truth is fuzzy.
Data is fragile.
Knowledge is never static.
Every living thing is essentially a different unique version of the accumulated knowledge of life.
Why am I saying this? What does this have to do with CRDTs?
Iβm not sure.
But one thing is clear. I donβt feel excited about learning CRDT algorithms and all those things.
What I do know is that I want better tools for managing copies, addresses, and merge conflicts.