Oddbean new post about | logout
 @greenart7c3's Android native in-device signer is becoming a NIP 🚀

Who is doing the in-device relay? 👀

https://github.com/nostr-protocol/nips/pull/868 
 Yay 
nostr:nevent1qqsdnejx0q5l02ps5fr22el029qr7gayg9th85a59sqew7kg4tz3e7cpzpmhxue69uhkummnw3ezuamfdejsygzxpsj7dqha57pjk5k37gkn6g4nzakewtmqmnwryyhd3jfwlpgxtspsgqqqqqqsr92xkw 
 nostr:nevent1qqsdnejx0q5l02ps5fr22el029qr7gayg9th85a59sqew7kg4tz3e7cpzpmhxue69uhkummnw3ezuamfdejsygzxpsj7dqha57pjk5k37gkn6g4nzakewtmqmnwryyhd3jfwlpgxtspsgqqqqqqsr92xkw 
 https://fonstr.com/ 
 Nice! Any chance of making it a regular app?  
 Having one app that stores all events for all the other apps is way more useful than having a database in each separate app with the exact same information in it. Pure GBs of duplicated databases in each app. 

So, it is extremely useful.  
 hahahahaha 
 They dont need to install other apps from the beginning, they can do that later when they have more than one client. They will grow into it.  
 Value proposition is this: relays wont store information for free forever. People need to store their stuff somewhere. If their phone is avaiable, they should be able to use it free of any additional charges. 

Yes, they can buy a server or pay for a relay. But most people will never do that. They will prefer storing their info in their phones in the same way they store their pictures today.  
 I’m just a noob in all this Nostr stuff, but from my perception, I believe most users will have/need both: payed relays AND local event storage, just like they currently do with their photos.

I do pay Apple to hold a copy of the photos on my phone, as well as my wife and other non-technical users do, but the Photos app also keep a local copy. 
 If the local relay make a backup on cloud storage (such iCloud or Google Drive) you won’t need paid relay for storing your events 
 Dude, pay attention to context. The relay would work in the same way the Android signer does. It's a resource for the other apps installed on that phone. It's not for other people to access it. It doesn't need to be online all the time. 

I have another project for an online relay running from the phone, but that is different than what I am discussing here.  
 Wrong again. The local relay can serve as a central storage for all apps, as an central hub for off-line work in Nostr and as a way to significantly reduce data usage when online.   
 We are doing local relay, very useful. It can serve as another source along with normal relays 
 Nice, who is "we"? 
 Well, FreeFrom team. In FreeFrom, a user can upload 9 pictures at once without waiting. I wrote a in-app fake relay (local) to handle the pending event which contains still uploading resource URIs. The sender will see this event be published and rendered immediately. Now I am planning to extend this relay to store history events.
Of course, this in-app relay may be different than the local relay you mentioned. But I think the idea is the same. Maybe I am wrong  
 Yes, I think we should avoid in-app relays. Otherwise, all apps will have a database with the same stuff over and over again. I think it should be an independent app.  
 You are right. It’s better to make local relay independent. 
 I’m just a noob in all this Nostr stuff, but from my perception, I believe most users will have/need both: payed relays AND local event storage, just like they currently do with their photos.

I do pay Apple to hold a copy of the photos on my phone, as well as my wife and other non-technical users do, but the Photos app also keep a local copy. 
 If the local relay make a backup on cloud storage (such iCloud or Google Drive) you won’t need paid relay for storing your events 
 Sure, it's wasn't only for personal backups. My main driver is to significantly reduce disk usage on the phone. A single app to serve as a database for all other android apps would immediately solve a lot of issues we see today. 

Its even better if it uses WebSockets locally. Then client devs don't need to change anything and users just need to add their local phone relay to their list and boom, everything now runs mostly locally. 

Thats why a full relay is useful.  
 I dont think anyone did an analysis on this. But a local database is an absolulte requirement for many clients right now. We are all already duplicating downloads and duplicating disk space. This is besides the fact that we all developing our own databases separatedly, which is a huge waste of time compared to centralizing the development in relay apps.  

Then there is the offline use case. I believe most of our event writting will have to operate off-line. And the app must find each other events if that is the case. Otherwise users will just be super confused.  
 100% true. Local relay can act as interface of local db or can be used as other sources of information converted to events 
 100MB is good savings. I have receive daily complaints when people see even 5MB of data use by Amethyst...  
 FWIW I think an “in device relay” is a great idea. I also see the problem with having “multiple” apps to dl, when multiple clients are already a head scratcher. 

For “most” people the value prop of a “signer” app will be as an “identity manager” for accessing the entire nostr ecosystem (native apps and PWAs). Given this use case, having “personal storage” built into the actual signer app makes total sense. Il even raise the ante, and go so far as to suggest this app (the “identity manager” class of apps) could even act as a nostr on-ramp for profile building, client discovery, and relay management.

Maybe on paper these are separate NIPs, but in practice a single “this is me on nostr” app wd be bomb! 
 Call me bonkers, but I’m reminded of a convo I just had with @PABLOF7z and @GBKS 

nostr:note18kjsq7nd3vwrnw4fh0f5yzy6k9yh796g7mdr7cn4n326a2u2pgxsy4fsch 
 Nice, who is "we"? 
 Well, FreeFrom team. In FreeFrom, a user can upload 9 pictures at once without waiting. I wrote a in-app fake relay (local) to handle the pending event which contains still uploading resource URIs. The sender will see this event be published and rendered immediately. Now I am planning to extend this relay to store history events.
Of course, this in-app relay may be different than the local relay you mentioned. But I think the idea is the same. Maybe I am wrong  
 Yes, I think we should avoid in-app relays. Otherwise, all apps will have a database with the same stuff over and over again. I think it should be an independent app.  
 You are right. It’s better to make local relay independent. 
 Yes, I think we should avoid in-app relays. Otherwise, all apps will have a database with the same stuff over and over again. I think it should be an independent app.  
 You are right. It’s better to make local relay independent.