Nostr should have also supported plain HTTP from the get go. Websockets are unreliable under some conditions, and polling works just fine for a ton of usecases - and have more tooling making it even more accessible to newbs. Big mistake. Probably not too late to add it though.

Replies (15)

Websockets set a false expectation that by subscribing you will keep receiving data, which fails in many situations. Now you need to use more libraries to deal with that. Everybody knows curl, nobody knows nak.
I hand-rolled a simple API that only reads from a website, so that you can download the e-books we're printing as epubs and mobi/AZW3. Had to strip the whole site down. No Javascript, websockets, nothing. Just HTML and HTTP. There's no standard. @ᴛʜᴇ ᴅᴇᴀᴛʜ ᴏꜰ ᴍʟᴇᴋᴜ and I have done some fiddling with Rest, for a while, is all. We are trying to get Nostr onto more different types of machines and deal with the sort of slow Internet that I regularly have to deal with, in my region. Websockets sometimes result in my seeing a blank page because they time-out over and over.
There are lots of OtherStuff use cases where speed is less important than persistence and reliability of the connection. Websockets are an artifact of starting off with Twitter clones. We've already spread out from there. Since there are Nostr clients and relays using the other protocols, they already count as part of the Nostr protocol. As per the Nostr rules.