Replying to Avatar Derek Ross

i love nostr and i remain incredibly bullish on nostr, however these are the apps that i use daily that cause me frustrations. when i said this morning that i go from bullish to frustrated and back, these are the reasons:

nostrudel - i have to refresh or reload the app often to get profile names and photos to display. sometimes new notes don't load and i have to refresh or reload to display them.

chachi - chats just don't load most of the time. i have to nuke local storage and reload and refresh constantly to get new chat messages to display. this is tedious.

olas - i haven't used olas since the last update. i can't upload images. the images upload blank or never finish publishing. even the feed is inconsistent showing me mostly my images instead of images from people i follow.

pokey - mute thread is not consistent. sometimes it works and sometimes it doesn't.

citrine - no new events get published. i've been at 207,513 events for months. i think this happened whenever i tried to import all of my events from all of my relays. whenever i open citrine there's a notification that it's exporting events, but that never finishes. i think i need to cut my losses and my local data and nuke and start from scratch, but then ill lose all of my local data :(

wavlake - a popup window for amber is displayed every single song that i listen, because it's trying to set a status for the song im listening to. this continues even if you attempt to remember or save the setting.

primal - my NWC somehow stops working. i can generate a new string and apply it and have zaps work for a few days, but eventually it will stop working and ill have to disconnect and regenerate new NWC strings.

fountain - i just don't boost as often as i'd like, because having a separate wallet balance makes boosting harder. NWC is coming to fountain though. that will resolve this.

---

honestly the most stable and consistent apps that i use daily are #0xchat, #Amethyst and #Notedeck (jumble.social is great too, i just don't use it that often.)

---

looking at the larger picture, these are not showstopping issues, but mere annoyances along a bumpy path forward. and that's where we are moving. forward.

keep building.

It's easy to take shots from the cheap seats (not what Derek is doing) and certainly not my intention, but this is fair and necessary criticism. As I keep repeating, we need fewer features and more QA.

There is no path to broader adoption without *quality* on par or better than the alternatives.

nostr:nevent1qvzqqqqqqypzq0mhp4ja8fmy48zuk5p6uy37vtk8tx9dqdwcxm32sy8nsaa8gkeyqqs8p4qscjwldwnrhhz5qqmnq2xpjxv2xtx3gtqnzzjsnc6mmvvfy6q5m8gts

Reply to this note

Please Login to reply.

Discussion

💯 I don’t think anyone who has been here for a while is taking shots from the cheap seats. Users who are actually using these apps and are sharing their wishes and frustrations are the best feedback any dev is going to get. They’re fools if they don’t listen.

Until QA becomes a higher priority, Nostr won't see sustained growth. It might not be sexy, but it's the true path forward.

nostr:npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 had an idea of NostrCI. Not sure if that went anywhere.

I'd bet on him.

Ehhhh, I don't see how a generic test suite would catch the types of issues Derek is pointing out, but perhaps I am regarded . Usually they have to be app specific and extremely well planned out to catch crashy type scenarios

nostr:npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 has wanted something like that for years and I always tell him it's an impossible task.

I think he just means a common test suite

Yes. I'm not a dev, so I'm reaching, maybe, but is it not reasonable to build test suites for the most commonly used libraries?

nostr:npub16ux4qzg4qjue95vr3q327fzata4n594c9kgh4jmeyn80v8k54nhqg6lra7 is working on a nostrCI proof of concept. More details to follow

Not impossible, fairly simple POC. Once the poc is done it's at matter of getting funding to grind out use cases. The matrix of use cases is also fairly trivial to generate.

Likely the hardest part will be the mobile testing.

Probably the idea would be to run these on nostr:nprofile1qqsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3cppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hsef7u3d's cicd DVM so anyone can trigger and pay the invoice.

These are up to date, with some known inaccuracies (and in production use)

Schema: https://github.com/sandwichfarm/nostr-watch/tree/next/libraries/schemata

TS/JS Validators: https://github.com/sandwichfarm/nostr-watch/tree/next/libraries/schemata-js-ajv

I'm confused what I'm looking at. This isn't something for testing, it's for validating data as it comes into the relay, correct

It's for validating data, in general. A huge percentage of interoperability issues between clients relates to missing tags or missing data within tags.

Validation and QA are different things tho right? Or am I thinking about this incorrectly

nostr:nprofile1qqsthdwa5rs42euhnuz5xsrmmssr84hshwes7uj392vpeldj7z0zw3cppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hsef7u3d what are you getting at? I'm unsure how you're saying to use this for qa. Like I get it for apps to use, but I don't understand what you're saying about using this when testing clients.

Validation can be one task in the process of QA. It's not the whole thing but def important

But why? The whole point of QA is to use broken events and see how the clients react. Also, it's to use working events and see how they react. Once the test data is generated you won't really have to validate? Sorry I think I'm missing something