how do we design a Nostr client that allows multiple accounts BUT doesn't need an "Account Switcher"? We can definitely allow the author to switch on the new post screen, but how would the user know that the feed is for a given account? Or do we just merge all feeds from the multiple accounts? 🤔 I hate account switching in almost all apps.
Colour coding. Posts destined for account X's feed are red, account y's feed green. I have similar ideas for distinguishing from which relay a given post is from too.
I like the UX of switching when performing an action too (post, reply, zap, you name it...) Besides that Community relays are worth looking into. Don't have time to write out why now but they have interesting properties, feeds that are detached from the reader being just one of them.
I've a update for you. All accounts will be show in a single screen, you can config which column will be show too. You can create a group (follow set) for account X and interest set for account Y, both can be use at the same time. I will show more demo video later. https://image.nostr.build/d019dce58eadc461108d9fcc427a914a5dcfb4414a172d55502bb290a4c198f9.png https://image.nostr.build/eac0ae8e14b709bba825af5bd6cf349fec40fea3d63521e7a5bfbc6c74c8e346.png
Lume merged the feeds! 🚀 nostr:nevent1qqszez5lx4w3usw3w8u4y89tcng7esgx7ke2zurklxywwg0zmgg665qpzemhxue69uhhyetvv9ujumn0wd68ytnwv46z7q3qzfss807aer0j26mwp2la0ume0jqde3823rmu97ra6sgyyg956e0sxpqqqqqqz73kfe8
Do you use an event kind to specify the feed like that?
Ah, I'm not use event kind for that. Each newsfeed define by user's contact list (default) or their follow/interest sets (NIP51). Lume just show its all into a single screen, and save the state when user close app into the local database, maybe save it into relay too with NIP78.
So, I am going to start defining some type of Custom Feed event type. nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz3mhxue69uhhyetvv9ujuerpd46hxtnfduq35amnwvaz7tmjv4kxz7fwwajhxar9wfhxyarr9e3k7mgprdmhxue69uhksmmyd33x7epwvdhhyctrd3jjuar0dak8x6lmt90 has his version below, but I find it too complicated with the union/diff/intersection stuff. This is complicated by definition, but it would be nice to have a feed defined in Lume showing up on Amethyst. https://github.com/nostr-protocol/nips/pull/1181/files
as good a time as any to learn how to implement set operations in Go i do them with for/range iterations and maps (which require mutexes because of concurrency)... to be honest, a lot of C++ and other OOP programmers (java, rust) overemphasise the use of map/reduce operations, which are essentially set operations, but in my experience i need maybe one or two in a whole application and often this allows very specific implementations
Oh I will check it
We should find a good way to do it.