I understand that, it is not unique to Nostr, it has been a thing since Git, and Peergos for example while it puts lots of emphasis on data integrity using authenticated data structures (as opposed to separate events) it still acts as local first, and tries to sync with the server with CAS like api.
My point is that eventually you are going to run out of apps that don't require a clear and consistent answer to the question "did I update the state yet?" Or "What is the canonical state that others eventually will see".
There is only so many apps that can tolerate the lost update problem, which is very common in systems that don't have a datastors.
My point is; data stores are not a centralisation force, unlike say search indexes and "global feeds", so we shouldn't give up on them, they can be as easy as letting the user choose one of their devices as a home server, and all other devices wait for it to acknowledge updates, and show things in pending state otherwise...
But also, if your notes can be found, then a note about your "Outbox" can be found, and then that home server being cloud hosted is not really a "shitcoin", because you can't exit it on a whim.
Login to reply
Replies (1)
the behavior is up to the app to decide how they want the data synced, not the protocol. its true this logic might diverge between apps, but if looking at it on a per app basis then it will work fine.
if cross-app compatibility is important enough (i think it is for microblogging), then we will converge to things like outbox and other methods, but we are not tied to it and its open to be improved even more. its bottom up not top down. its the bazaar not the cathedral.
the SSB, matrix and even git guys already tried the method of heavily perscribing the state syncing in a top-down way, and it just sucks for app development.