I was recently feeling bad about how lazy I am when it comes to curating my relays and setting up relay lists.

Then it occurred to me, life’s too short to manage relays actively. If I’m not going to do it, then no one is.

We need super simple tools or patterns built into all the major nostr clients that help to default users to relays that make sense for them. Obviously these wouid need to take into account decentralization but I think it can be done.

Feels like a hard design problem more than an engineering problem. nostr:npub1r0rs5q2gk0e3dk3nlc7gnu378ec6cnlenqp8a3cjhyzu6f8k5sgs4sq9ac nostr:npub149p5act9a5qm9p47elp8w8h3wpwn2d7s2xecw2ygnrxqp4wgsklq9g722q nostr:npub10000003zmk89narqpczy4ff6rnuht2wu05na7kpnh3mak7z2tqzsv8vwqk

Reply to this note

Please Login to reply.

Discussion

Yup, that's where the whole "dumb commodity relays and giga-smart clients" dogma gets you.

It's hard to purposefully select relays, if they don't have a specific purpose.

Idea: maybe something like a like-driven funnel. Affinity relays. Interest led relay opting toward, rather than the usual binary of opting in or out.

Hope this idea is useful in moving the design process forward.

Until we have topical relays, I think the simplest approach is for each client to categorise the typology (what nostr:nprofile1qqswuyd9ml6qcxd92h6pleptfrcqucvvjy39vg4wx7mv9wm8kakyujgpypmhxue69uhkx6r0wf6hxtndd94k2erfd3nk2u3wvdhk6w35xs6z7qgwwaehxw309ahx7uewd3hkctcpypmhxue69uhkummnw3ezuetfde6kuer6wasku7nfvuh8xurpvdjj7a0nq40 is doing with Gossip) and randomizes the assignment, maybe trying to match the user with the nearest geographic relays, to incentive a first aggregation by culture and language.

A variant may exploit an invitation system, such as that of Coracle, and assign the new user the same relays as the one who invited in order to maximise the visibility of both parties.

Finally, when topical relays will bootstrap, probably thanks to NIP-29 groups, a simple "pick your interests" wizard could improve the assignment.

Actually, here I see more engineering than UI, at least for the onboarding phase.

Instead for more advanced users, I would try to surface relays by country, social graph usage and topics.

nip66 can help clients display good choices for users to find relays.

besides social media like experiences,

I imagine honest and efficient use cases of relays that are location dependent.

e.g. "airbnb-like" or marketplace listings stored on relays in the city of interest

I think clients have to decide who they are designing for and how they want their user experience to be.

There will be room for different types of relay handling. Some will have people hunting around and typing in addresses and some will do this automatically.

I think if you want your client to appeal to the masses, it has to be all automated away where you don’t even need to consider what relays are. I know bitcoiners don’t like that proof of work and all - and that’s fine but we have to look past our biases and identify how people act and choose (hint: people want easy).

But again, this depend on what type of user you’d like to serve. It’s not a one fits all approach.

Hmmmm and what about microservice taking care of that? A microservice (which every client also could use perhaps) which will give you a curated list of relays based on your social graph.

Relays are Communitues, by default.

Surfacing (and using!) them in that way is how you get to their #normielization.

To the people around me (of which 90% doesn't use or enjoy Twitter btw) I show this:

Then I tell them: "Every chat/group/community you see here **is** a Relay (server)"

They all get that part straight away and thus know what relays to choose for their outbox 👉 the communities they want to publish in

They also grasp pretty quickly that they can publish more than just chat messages in there: posts, articles, events, audio, repos, ...

And honestly they get pretty exited about this part specifically.

In my designs, every such publication, when opened, displays to what communities it was targeted (and accepted of course):

This helps with community discovery and with helping them understand that they can target their stuff to more than one public community at once.

Then, for the inbox-part it comes down to shilling the benefits of having a personal relay:

- a backup of all your stuff

- fast access and computation for you specifically

- having your own inbox that you can set a price or other conditions for

- publishing private things exclusively to a whitelisted set of npubs

- privacy in general

- etc...

One last thing that can help is not displaying relays as freaking geeky looking websites 😅. Relays need npubs, and the profile name that comes with it, if you ask me.

Niel are there clients out there now that allow users to treat relays in this way?

I'm loosely aware that anyone can choose to treat a relay that way already. So, I'm guessing it's the client UX is the main hurdle?

Only extremely alpha/unreleased ones.

Will start building out my own design in +-10 days.

Ditto added to my study list.

My study list is getting long!

Relays are designed to relay notes from one user to another. They are not designed to store things, and have no guarantees of storage. Using a relay for anything more than temp storage, or micro storage (e.g. profiles) is a terrible idea. For communities what's needed is a storage solution and a relaying solution. Ditto is probably the best answer we have to that, right now.

All NIP-29 based?

The screenshot confuses me a bit. Is it sort of a super app with DM/private groups, kind:1 short posts, long-form, etc. all bundled together and instead organized by relay/community?

I think I understand what you mean but I'm not convinced. This feels way more confusing to me rather than less confusing. We have very strong mental models right now around how specific apps do specific things. Not that it isn't possible to change that paradigm (and absolutely worthy of experimenting with other options) but it's going to be a hard one to break I think.

If the goal is to promote relay as community the just make a familiar community app. I too can never figure out what’s going on in Niel’s screenshots. Feels like too much functionality in one place. There are plenty of highly successful community software options to look at to see how people use the available tools. Part of what stops nostr from blossoming is thinking too far outside the box - people just don’t know what to do with it.

What community software is worth looking at?

1. No, with NIP-29 the community isn't the relay.

2. Yes, organization by community > by content type. It's what people naturally do.

3. No, it's not a super app. It's an app that's super good at the conversations/notifications around content types, not at handling/creating those content types.

4. What I'm showing are the most complex screens, because I need productive feedback on those. If people just use Chat, it looks and feels mostly like people's mental model of a Chat app. Groups/people that want to integrate more content types, however, can.

NIP-29 is literally titled "Relay based groups". I get that your concept here is likely a superset. A community can exist across multiple relays and based on the relay the user is looking at, they'll see a different version of the community content.

We'll leave aside the challenges of building a client that doesn't make that really hard to understand as a user (e.g. you might see replies to original posts that you don't see, etc) as I think that's ultimately solvable.

How do you see private groups fitting in here? Is your concept focused on public content only?

I really like the ideas, it's definitely a bit of a different model that would have the chance of working really well as a reddit style app but some of the magic of the single feed type apps is that you're always discovering something new or seeing things that are outside (but maybe adjacent) to the areas that you've signaled interest in. Separating into communities closes that discovery pathway quite a lot.

Who sees anything new in Kind 01 OP feeds? Most npubs only look at their lists, like "following" or "trending", and everyone follows and boosts the same few people.

NIP-29 Just has that name because relays issue some of the events. There is no 1:1 relationship between relays and NIP-29 groups. It is n:n.

this is awesome, see its not just me that thinks relays are more than a race to the bottom to consume your data. FOSS relay hubs turning up, communities happily using em.. its a slow and steady pace, because relay maintenance and dev is a lotta work, but we are getting there!

i also think nip29 is just an obfuscated way to say "use a different kind pls ser"

Collab invite = in preparation for you sir

pending/ t-y 4 thread

Great minds think alike. I was thinking the same for Master Hello Nostr to help new Nostr client developers with this best practices. Some kind of automatic relay advisor.