A few Nostr client features I would like to see:

Currently, most clients I've seen blast every relay for request of notes from all your followers. This results in a ton of bandwidth usage unless you really become selective in which relays you're requesting from. But if you limit the number of relays you request from, you limit the reach of where you can see notes from which can reduce the decentralization of Nostr.

Be requesting following notes from all relays, as most people have probably noticed, this results in quite a bit of bandwidth usage. Since most of us are using Nostr on our mobile phones, our data plans can take a pretty heavy hit.

What I would love to see in some clients is statistics on what percentage of those we follow we are seeing notes for on each of our relays. Now, there will always be those we follow that aren't posting notes and so we won't see anything from them on any relay, but overall we'll get a better idea as to which relays are the most popular among the people we're following. I know Amethyst on Android provides download statistics for each of the relays, but I would love to see what percentage of those we follow are being seen on each relay we request from.

This leads me to my next feature request. As I mentioned earlier, most clients blast every relay for requests of our entire following list. The reason clients do this is because Nostr is not meant to be a reliable network and you never know which relays will be up or down at any given time. For client performance reasons, the client simply requests from every relay in a best effort attempt to get notes back. If clients had to wait for a relay to return results back before requesting from the next relay, the experience would be very slow for the enduser.

However, if given the statistics of which relays among those we follow are most popular, it would be awesome if the enduser had a choice in how the client would retrieve notes from relays. On Wifi? Blast away with requests to every relay. On mobile data? Sequentially request notes from relays in order of relay preference. Allow the enduser to specify relays in order of preference. Preference could be "where most of my following are" or "these relays perform best", etc. Doesn't matter the reasoning, just allow the user to choose. Then the client will request notes from each relay in sequential order. After receiving notes from people on relay #1, the client will then ONLY request notes from relay #2 for those you follow that we're not received from relay #1. This will avoid the downloading of duplicate notes and thus avoid a ton of bandwidth usage. This sequential requesting will continue through each of your preferred relays. A timeout can be set to limit waiting too long before proceeding to request from the next relay. Performance will obviously not be as good when it comes to retreiving notes, but giving the enduser an option to choose how the client retrieves notes would be a huge benefit, especially when using Nostr over cell networks.

Reply to this note

Please Login to reply.

Discussion

No replies yet.