Shut up nerd.

These relays should NEVER be in your Public Outbox (write) OR Public Inbox (read) relay lists. Please remove them.
relay.nsec.app
purplepag.es
sendit.nosflare.com
groups.fiatjaf.com
relay.getalby.com
inbox.nostr.wine
filter.nostr.wine/...
relay.groups.nip29.com
They are just wasting yours and your followers data plan. They are designed to go into other lists, not the regular ones you use in your client.
You can check your relays on https://metadata.nostr.com/
🤣🤣🤣🤣🤣
Brutal 🤣🤣🤣
Freedom to fuck up.
This is about right. NIP authors might fail to define heuristics for relay selection, client developers don't explain what different relay lists do, relay operators fail to explain how their relays should be used, users ignore any advice their given. Oh well.
*they're 🤦♂️
Build your client adversarially to deal with dumb users. There are lots of us and you need us if you want your apps to mean anything to the world.
I'm currently writing a chapter of a book on nostr about relay selection, which I hope will help define best practices. There are some scenarios currently that have no right answer. Fixing the problem requires starting at the NIP level and working our way up.
Who is this book being written for? Certainly not users. Hopefully for other devs. Nobody in their right mind is going to expect an average user to read a book just so they can use nostr “correctly.”
Would love to see this, I need it for Purplebase.
Here's a rough draft if you can't wait: https://github.com/coracle-social/how-to-nostr/blob/master/04-relays-are-repositories.md
I intend to have some folks review it before I publish.
Outbox model :110percent: assumes users are total nerds
Right! lol. It’s a power user’s feature in my view… at least the ability manually configure it all is a power user’s feature. I used to love tinkering with my devices, not just nostr but my computers running Linux, my Android devices running custom roms, my iPhones back when jailbreaking was big, and so on. Then came the day that life got too busy to always be doing that, and I just need my technology to work well enough to do what I need it to do. If it does more, then I’m happy, but I also don’t care if it isn’t perfectly optimized for the absolute best performance according to this or that dev’s analysis. I’d wager most people don’t care either. We just want to use the app. Devs who don’t get this are out of touch.
Yuuss.
Community admin are the people at the right incentive level to properly select, pay for and moderate their hosting solutions (relays AND media servers, which keep being forgotten in these discussions).
I see Primal, for example, as a kind of community app that caters to the Bitcoin/Nostr community. And many people in said community seem to be very happy to outsource the hosting and moderation to them.
The way forward imo, is building on this community-scoped trend that is happening regardless, and making it (more) transparent and interoperable.
i don't get what you mean by that
the logic is all inside the client, it just grabs events of users relay lists and uses them as a starting point to searching for events that aren't found on your own relay lists and associated configuration.
if you aren't a nerd then what are you doing writing client software for a decentralised post-office/pubsub protocol?
The assumption is that a user:
- wants to publish all his publications to the same set of relays (as if he's a nerd with only 1 interest / community he interacts with)
- has time to figure out what relays are, compare them and pick and pay for some that suit him (to then have zero solution yet for his media, the more expensive hosting need he has).
- takes responsibility for the moderation of all his publications, with that moderation being applied by the same relays for all of his stuff
That's all nerd stuff imo.
Most people just want to post in the Communities / Apps they're involved in and let them take care of the moderation, hosting, etc...
And the have the option to backup whatever is relevant or important to them on their own (cloud) server solution. Ideally, that server also lets' them share specific stuff with specific profiles, for the private (non private group- side of things too.
point one you showed you don't understand what outbox means
it means the client tries to publish the events to the relays on the relay lists of all mentioned pubkeys in the event
second point, would also be moot if all relays were paid or associated with membership in a group that has a membership subscription
in actual fact, you have it back to front. pre-outbox model was what you described.
the bigger problem with outbox and paid relays though, has to do with how you get permission to publish events to other people's relays, if you don't subscribe to them. this can probably be achieved though, by allowing anyone to publish events to the relay if a subscriber's pubkey is named and the user hasn't muted that user.
I was talking OPs.
And yes, for replies, reactions, etc... you then have to publish to the inbox of the profiles you're replying to. Which assumes these profiles all:
Main point is that this doesn't work for the :90percent: of people that just want to be involved in some online Communities. They'd prefer the Communities to handle the hosting and responsibility + have the ability to backup / republish their stuff whenever, wherever.
this can be solved by paid relays automatically whitelisting all of the follows of subscribers and clients publishing events to all of the user's follows relay list.
a lot of the issues you talk about can be solved with relays, clients even can be quite dumb. actually, the whole original idea of fiatjaf that relays should be dumb and clients smart, is upside down. the relays can be a lot smarter if you give them info to work with.
also, this is why i have talked about the concept of "directory events" which should be broadcast to every relay. follow lists, mute lists, relay lists, profile metadata. if these were propagated by relays to peer relays across the network this information would always be available for these solutions
Agreed.
Except that I prefer smart relays (or more broadly → server automation) to overlap with specific goals or niches.
Communities typically have one clear and defined goal / niche.
Individual profiles typically want to engage with a whole bunch of said Communities + have their own specific goal for their personal server.
I don't want to oblige all profiles to care, pay for and set up their own relays that play nicely with the outbox model.
indeed, what i described is for a decentralised distributed global forum like kind 1/1111 based discussions
communities and groups don't want to have interlopers. this can all be controlled on the relay side though, with some small elements in the client (like disabling outbox, for example)
Yes :110percent:
i think the thing here is that you probably need to make clients specifically for this kind of purpose. they will be more focused on forum and chat, and have stronger moderation systems than an open town square style social media client.
i know that building clients is what you are mainly into, so that's on you :)
Sounds like poor client design. Users aren’t going to bother. Perhaps you’re too “smart” to understand this.
Yep. It's the client's problem. I understand it. But regardless of what I do, if the relay list is misconfigured, the user is wasting resources of themselves and every single follow that uses their relays. There is no way around it.
Wouldn’t it be better to yell at client devs to fix their apps instead of shouting into the void with gobbledygook that 99% of users don’t care about even if they do understand it?
You have been yelling at devs for a while... Did it work? No client today blocks users from putting these relays in their lists. Absolutely no one. And this issue is not new. Every dev knows about it.
There will always be clients that are too busy to fix it. And in the end, if the user wants to put trash in their lists, there is very little clients can do to block it.
I would imagine that people who use those relays (of which I am one) are like me, and they added them a long time ago when the very devs who you imply should know better pushed them as a good idea to solve problems with Nostr’s decentralization. It’s why I’ve left them there, and unless a client I’m using gives me issues I have no reason to change them. If it hurts you, unfollow me. I genuinely don’t care that it bothers you which relays are in mine or anyone else’s lists.
Yeah, things have changed since those days. If you don't update your lists at some point nothing is going to work and no one will see your posts. This has happened many times with other users.
Each relay adds ~5MB on the data plan of each of your followers. You can "not care" as much as you want and people can decide to just unfollow you.
But it seems idiotic to me to keep forcing wrong relays into your followers just because you are too lazy to fix your shit up.
If you can't fix your own shit, why would any dev fix their shit for you?