Oddbean new post about | logout
 In your experience, what is the difference between nostr apps with outbox, vs nostr apps without outbox implementation, in terms of rate of notes not found?

#asknostr 
 ok, i’ll bite. what’s outbox? 
 It’s a technical solution that enables your nostr app to find e.g. notes on relays other than the ones you are subscribed to.

The benefit is network decentralization, and not needing to have 100 relay subscriptions. 
 I don't know which clients implemented this thing, but when I compare Coracle fees with other clients, always I see that some notes do not show in Coracle. The only clients I see exactly the same feed, are nostter.app and Primal on Android. 
 *feed 
 that's probably because of primal's cache and primal's popularity

i've started using #nostrudel with firefox because brave was blocking the use of the local relay cache (replaces the in-app mini-relay) and it basically caches everything that the client fetches from anywhere, so i can store gigabytes of relevant messages now on my own pc, the only thing that would make this easier is a few more relays in my relay list, but i use two paid relays and damus and nostr.band 
 But nostter.app? Does it use any cache? I don't think so. Nostrudel works ok for me too. 
 it probably uses some kind of aggressive scattershot approach to catch all the events and chews your bandwidth like a mf

most of the time if you have relay.damus.io and nostr.band you get almost everything 
 @hodlbod you have outbox on coracle, correct? Have you measured what percentage of “missing notes” is post outbox implementation? 
 I don't use other clients much, but my feeling is that:

- Coracle succeeds at finding specific missing notes better than other clients. Sometimes this is impossible, because other clients don't include any hints, which makes the outbox model impossible to implement.
- Coracle does not load complete feeds, for two reasons:
    - The outbox model is not fully implemented. Many profiles point to relays they don't actually use, or that are actually defunct, meaning Coracle has guess at fallbacks. In other words, the notes the user is looking for aren't where they should be.
    - There are too many relays, with too much redundant information. There are around 500 relays on the network, and 30-100k active users, meaning on average there are around 200 users per relay. All but the smallest follow lists will have to connect to upwards of 50 relays to fetch from all relevant relays. Coracle only connects to `relay_limit` relays, which is configurable by the user, and defaults to 10. That means you're connecting to at best 20% of the relays you know you could connect to. Coracle supplies reasonable defaults (user selections + hubs), but the network is actually currently *too* decentralized (this was Mazin's point a few weeks ago).

Ways to improve the state of things:

- Better outbox support, especially from clients *writing* the notes.
- Fewer relays. We really only need 20-50 relays at the network's current size.
- Social clustering over relays. Don't join random relays, join ones that map to your social circle.
- More reliable indexing. Clients should publish 10002s, and notes should be copied to user relay selections when they change. 
 @fiatjaf do you know if anyone has measured this? 
 There is no way to measure this without spitting out bias all over the measurement. 
 Its not possible to A/B test nostr app X before and after outbox implementation, as most nostr apps are FOSS?? 
 for now whick clients haven't  implemented outbox?
You can try to config a proxy relay, the config also a nice solution for nostr.