Your inbox and outbox relays are for your followers, not for you.
I know, 🤯
The list tells your followers where to get your posts. Not where your app should send/receive yours.
So, the smaller the list the better.
Your app should have an additional setting, separate from the Inbox/outbox setup, where you can add extra relays to save your posts, in addition to the inbox and outbox relays.
So, if you want to send/receive to 30 relays... fine. But don't ask your followers to download/send from 30 relays for each person they follow.
That's not cool.
How does that interact with things like Gossip that try to calculate a minimal relay set? Seems like it will make the difference between clients that use that idea and those that don't less significant.
Correct. Clients that autocompute would like to see smaller lists to simplify their life.
Ditto seems to aggregate from many relays, not sure if that's technically true.
Become the relay. 🫡
Good to know ^^
nostr:nevent1qqs2cezjvtsuw9dln52pr8x2cuqztvpx6vn6uhkuk7xue8arysped8cppemhxue69uhkummn9ekx7mp0qgsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqrqsqqqqqprqq3cm
Why don't clients just take the top 3 options and cut off the rest? Wouldn't the forced limit change end user behavior easier?
They shouldn't need to do that. Why would they download a larger event just to get the first three? It's just extra data for each follow you have. If they have 500 follows, the extra relays per follow really add up.
Plus, if you have a long list, I can guarantee many of those relays don't have all of your events. So, the follower can miss your posts if it doesn't choose your best performing relays.
I agree they shouldn't need to and applaud trying to get users to use things the right way. I'm just not confident in end users getting the message that less is more at scale. What about an in-app alert system based on over usage to help educate and reduce in app?
Then it is easy to target developers of those options. Variety gives more time to develop privacy tools and protection for end-users and developers.
If would be cool if amethyst saved the context around my notes to the local relay too.
It should do that if you add it to the local relay section.
Nice! I appreciated that.
I must admit that when I went back to the relays option after some updates of Amethyst I got quite confused. I'm still not sure my setup is fully optimized but at least I more or less get it now, thanks.
Have you chosen 1 or 2 home relays that MUST have all your posts? That's the first step.
How does one do this step?
Find your 2 favorite relays and make sure they are not going to delete your data.
Is it simply connecting to those relays or are there additional steps?
Just adding to the list. The app will make sure your data is there. Not so much for the others.
I have nostr band, damus and snort. I had a fourth one, a relay that was running on my Umbrel accessible with a public url but I had to shut it down as it was slowing down my node too much.
Users having to configure and understand this isn't going to help Nostr grow. It's going to have to be frictionless.
Or am I missing something?
Sure, but users must know where their notes are by choosing 1-2 relays they want. If they can't do that, Nostr is not much better than centralized Twitter.
I've been using Amethyst for ages. Is this part of the onboarding process now? Are new users prompted to choose?
Look, I get it that with power comes responsibility, but if we're looking to onboard a good percentage or X or Brazil, for instance, the friction needs to be minimized.
If my less technical friends had to pick relays many would stop right there.
Do you think people can't choose one or two relays?
The onboarding is automated, but they MUST choose a relay to host their notes. Otherwise, we are not anything better than Twitter.
Right.
I think people are going to be wondering what relays are and what the implications of choosing a relay over another. Will this affect my experience here? Can I change later? What's the right choice? All of this is friction.
Either that for have a 'Randomly pick for me.' Button. From a UX perspective it's too much for many normies. I already hear it from people who have tried nostr and left.
Look, its just my 2 sats from a slightly more technical normie wanting to help.
They have to wonder. Most relays will be screwing them over. So, it's not an optional part. Let's hope people write more articles and analyze the policies and resilience of relays out there. As an app dev, I definitely cannot do that myself. It's too much.
🍻
I get that and the UX tradeoffs must be difficult. Thanks for what you do sir.
This is a problem people have with Mastodon and the Fediverse, selecting an instance. It’s a major source of friction
That and the Fediverse sucks.
It’s an easy choice once you’ve had a few relays, but a difficult one for new users who just want something to just work. Apparently Nostr doesn’t just work. “Am I making a mistake if I choose this relay or another?” Turns out you could make a mistake! But also not a terrible one.
Not giving new users some random defaults for complicated settings and mechanics and not telling them they can just change them later is just bad UX.
Every single on-boarding step a user must make is a potential cliff.
I'm a long-time nostr enthusiast and i have no idea how to manage any of this outbox model stuff. Is there an easy (or easy-ish) UX planned for this? Can i just use Amethyst and not worry about it, or do i need to put forward a little effort? If it's the latter then what should my efforts be?
If you had to choose a single relay to host all of your notes, which one will be?
That should be the only item on your inbox/outbox
Your client can check other relays, but your followers will only check your main one.
Can you add these instructions to Amethyst?
Well, I think this is good for those who wants to run their own relay. But this work with all clints or just for #Amethyst?
In time, all clients will adopt it. We are just early to the game.
Clients should just pick one relay (maybe the fastest one or lowest latency) and a secondary fallback when fetching events from another user. Having many options would only be bad if clients don’t apply any optimization strategy.
Users can’t make good choices if they don’t understand the implications of this inbox/outbox setup. Assume they will do it poorly and code accordingly.
But I do think choosing a Home relay is key for any new user. If you don't know where your notes are, then what's the point?
Education must not be circumvented .. devs should not make choices for users - else you will become #Apple :-)
There should be articles explaining all of these concepts, and I hope users learn them in due time but Nostr works just fine for the average user without it. The outbox model is an optimization.
Could you get away with just using general relays for a new user, then a while down the road (a few posts, a few days, I don't know) send them to an article describing how to pick a home relay?
Tried it, but people don't change default settings. We have to add more interesting measures to get people to take control over their data.
After reading your post and all the comments, I have cleaned up some relay lists.
I hope I didn't "break" anything.
Before the cleanup I had 273 followers, on Amethyst. After this cleanup, Amethyst only counts up to 182 followers.
🤔
My understanding is that the more relays I publish to:
- the more options a person has for finding the information
- the more people it could reach (because not everyone uses the same relays all the time)
Is that not the correct way to do it?
You can publish to as many relays you want, but ideally you should tell your followers to look for your events in one or two a reliable datasets so they don't need to search within your 100 relays for your posts. 1-2 relays are more than enough for a follower.
Searching in 10s of relays for each follower is a huge battery and data plan drain.
I did not know that. Thanks.
@3xethical what I was saying about relays earlier today.
See the relays that the people you follow use to get their post.
@Vitor Pamplona correct me if I am wrong please.