Trying to figure out if we can share databases (media and Nostr events) as well as connection pools, notification services, Tor services, through Android Services that each app can bind to. In that way, the first app starts each service and the others just reuse them. Because if every Nostr app decides to keep running in the background, we will have issues. We will have to share common services. image

Replies (29)

REEEEE This is centralization! REEEEE *deep breath* Now that I have that out of my system, I wonder if a self-sovereign way to do this would be a self-hostable “relay-relay”; a relay that your clients connect to that pulls from your chosen relays for them. If my understanding of WOT is correct it could maybe be built on top of that?…
Let me know how your progress goes. This goes beyond just performance on mobile. Users can have ownership of their data and grant or revoke fine-grained access per app as needed (even for relays, Blossom servers, etc). This is what Tim Berners-Lee is currently working on: (not sure if you’ve come across it before). It would be nice to see a Nostr/Solid hybrid. If you’re interested, I’d be happy to collaborate on getting a PoC running.
I think that self-hosted relays basically do this... So you would just connect to the one relay from your device, and that relay is pulling notes from all the others. I guess this is kind of creating an on-phone version of that? Is that really what we're getting at here, a relay running on "localhost" that all of the apps would connect to?
If you consider that there’s a point where it becomes unreasonable to keep cramming features into a single app from both UX and development perspectives, and also that nostr is flexible enough to be the engine of multiple platforms, then it shouldn’t be unreasonable to think everyone would end up having more than one “nostr” app. Even some simple case of having one app for notes and another for chats would be enough to match that criteria.
As for self hosting a server, or even worse, needing to rely on somebody else to do that for you, doesn’t seem like a barrier most people would be willing to climb. I personally think that some sort of automated arrangement of micropayments could suffice to incentivize bringing up more relays and funding “anonymous” ops, without bringing too much cognitive load onto end users. See @Keychat stamps for example.
Yeah I doubt that most people are running two separate clients. But because of the nature of Nostr with it's multiple connections, it's a technical architecture question that should probably be resolved..
Yep, but its mostly to avoid duplication. If every client has a local DB with 3GB of data like Amethyst, we will soon run out of space.
I don't think everyone on Nostr today is a power user and many people do have more than one client app installed. On iOS almost everybody has Primal and Damus. On Android, almost everybody has Amethyst and Primal. That is on top of the 0xChat, KeyChat, Fountain, Nostur, Coracle, Jumble, Habla.news, Yakihonne. These apps don't do the same thing people will have more than 10 apps in every phone for sure.
ESE's avatar
ESE 3 months ago
Posts like this makes me wonder if swapping gun.rs key authentication scheme to nostr schnorr nsec is the real deal. @Martti Malmi
Yes, the Relay Interface is the protocol. I would aim to shift all this behind one side or the other of the Relay, rather than establish another interface or platform-specific standard, this early in NOSTR Relay Extensions and additional ports and features negotiated via handshake would be a better target for us to aim towards.
CanopyKev's avatar
CanopyKev 3 months ago
I am working on the philosophy that clients should only ever use one relay, a locally hosted one. But that local relay should connect to the broader relay network. Clients connecting to untrusted relays gives away too much meta.
There's a large amount of people that only use primal. I think after it got attention from people using it's inbuilt wallet to buy goyslop at shakes and steaks when they started accepting Bitcoin
And those stupid Background-Service notifications need to go away 😡