There is a lot that goes into building a microblogging nostr client, i am suddenly reminded of this when building another one from scratch 😅

Some of the hardest things:

- tagging (requires a good local db and complex ui to pull off correctly)

- thread rendering (many ways to do it, sometimes hard to represent the tree structure on small screens)

- notification views with all of the relevant information grouped together

- note parsing and note embeds, note stats collecting (likes, bolt11 parsing for amounts, etc)

- mechanisms for fetching missing notes as they appear inside other notes

- countless other crap i am likely forgetting

Respect to devs who can do this without giving up. remember, hard is fun!

Reply to this note

Please Login to reply.

Discussion

If you think Hard is fun, try Losing!

#dwarfFortress

dwarf fortress is the 🐐

Wow, yet another one of your posts in my feed. I'm not letting you bait me into blocking you so that you can reply to my shit uncontested. Stop clogging my fucking feed. Get out of my Primal followers list.

Countless crap 😂😂😂

Did anyone go back to Windows Explorer style of tree representation? I always liked this.

Yeah, from the different types of apps I have been building on #nostr, the social feed is the hardest.

I thought nostr became popular because it's a social feed protocol, what am I missing?

Just because that’s what popularized it doesn’t mean it’s not useful for other things. You can use it for many other types of realtime or store and forward protocols. It even gets cooler when the social protocol can interact with these other applications

what if there were a library available to UI builders that performed these functions?

I guess the way to go about those things in the global sense is building in layers. Nostr libraries for logic and ui are a good direction in that sense. The hard problem is creating “correct” layers, preventing leaky abstraction.

I’ll bite - why are you building another microblogging client?😅

I wanted to use a client that works on all platforms

Can I ask what nostr libraries are you using for it?

Does 'all' mean desktop native apps as well? Something like Gossip with zaps maybe?

its unbelievable how much.. i just built the most basic of basic clients to render a feed. it took me ages, and as soon as i deployed it it dawned on me;

you can’t create keys

you can’t select relays - they’re currently hardcoded

you can’t follow etc

its not rendering mentions or replies properly

no threads

etc etc etc

the list could go and on

Thanks for Damus - it’s amazing! (and all the high quality clients out there!). Super appreciated. I’m still stoked to have build something so basic tho. the stoke is real

Way to go AK!

Thanks maaate. I was suuuper stoked

(Even tho it sucks 😂)