a lot of early nostr apps started with server-as-the-only-datastore but now many of us are making nostr apps local-first + set reconciliation with remote only when you need it.
the flexibility of choice here is super powerful. notedeck is local-first by default for any app you build inside it (its a nostr browser). local network or remote syncing is more of a business logic choice for the app.
Login to reply
Replies (1)
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.