They should be called out if they say something that is untrue.

But what is a nostr client? What makes a client a nostr client? Does it make sense to enforce what one can call a nostr client?

I agree that you shall not compare apples to oranges.

But also nostr was built for a reason. Other clients that does not fully support that idea shall miss something, otherwise the original idea of benefit of nostr does not hold. If they have a benefit, they shall outcompete others with that benefit, or? (Not this easy I know)

Also it does not help, that it is not that general, that people use social media with spending X amount per month. Social media is free in the eyes of many.

Reply to this note

Please Login to reply.

Discussion

A nostr client connects directly to relays via websockets and pulls down notes via the nip01 specification. This is the bare minimum. If you don’t do this you’re not a nostr client.

Imagine creating a web browser that doesn’t connect to web server directly. Instead you connect to a central server that makes the request for you and completely MITMs you, losing all verification.

This server can tell you what sites you’re allowed to visit, and will randomly stop working when the server goes down.

You wouldn’t call this a web browser (aka web client). It’s just not the same thing. People who build real web browsers would be frustrated that they are marketing themselves as the best new web browser for the http protocol.

People trying the web for the first time get spied on, censored, and generally have a slow and unreliable expeirence. Now they think: wow the world wide web sucks and leaves.

This is why it’s important to use words properly and not let people affinity attack well defined terms.

This is probably the best explanation of the issue with calling Primal a "client" that I have seen. Thank you!

If the app you are running on your device isn't reading directly from Nostr relays, it's probably fair to call it something else, rather than a Nostr client. Otherwise, it would be akin to calling something a Bitcoin node when it isn't downloading and validating blocks locally, but merely trusting the information sent to it from some outside source.

I think I like your idea of calling Primal's apps "Nostr gateways" instead of clients.

Yeah, we discussed our architecture internally, at length, and decided to stick with NIP-01.

Both for transparency and simplicity, and so that anyone can host or fork our client, and add his own community relay, and have all core functionality immediately work and all the events from that relay immediately present. It also means that a user can log in and easily switch to using their own relay list for reads and writes, with a big toggle on the landing page. That way, even the person running the community relay can't stop them from reading and writing whatever they want, using our client.

And all communication is instantaneous, with no weird lag because of filtering, blacklisting, or the funnel effect of everything being pulled through one server. You aren't stuck using effectively one relay to read, and if one of the relays goes down, you won't even notice.

I feel like that's the Nostr "secret sauce", so abandoning this principle detracts from the usefulness of the protocol and undermines the censorship resistance of the original deisgn. I'm hopeful that Primal might actually implement that as an option, tho. We'll see.

The most recent update was definitely a step in the right direction. Time will tell.