Oddbean new post about | logout
 all nostr clients use algorithms

most just choose the algorithm of sorting messages in timestamp order

this is the most neutral algorithm, it’s attractive ideologically

it’s a stark contrast to the corporate-controlled engagement algorithms we’re accustomed to on the rest of the web. It feels like a breath of fresh air. it makes nostr feel peaceful

but it also makes it hard to find areas of activity and energy which might match my interests. what happened while I was gone? what do I not know about yet, but might I find interesting?

if an algorithm is designed to attempt to bait me into anger/rage for the purposes of serving me an ad, then this is an algorithm I would like the power to opt out of. It’s designed to serve me an ad, not to inform me

I want to choose algorithms that serve my interest to learn from people I trust (e.g. show me the notes from people I don’t follow, but who are most zapped by people I have zapped; surface notes that are replies to notes I may have seen and zapped but which are gaining a lot of zaps/replies themselves)

we can create algorithms that serve the needs of users and not the needs of corporations. They can be transparent (how do they work?) and pluggable (add/remove which algorithms you see fit). This is a different approach with different incentives from any existing algorithms in social media. “Show me the incentives I’ll show you the outcome.” We’ve never seen the outcome with this set of incentives.

I want a nostr that’s more alive and points me towards hubs of energy/activity, but is structured in service of me 
 I’ve been wondering about this and it would be awesome if someone is working on it 
 Chronological timeline also favors spammy posters unfortunately. It's natural because it mimics communication in the real world, but isn't the most useful. 
 But it's in your control -> Unfollow these people ✌️ 
 🎯

Or have a pluggable algorithm that says “show me a note from person X (who’s generally kinda spammy, but sometimes has good ideas) only if it’s been zapped by at least one other person I’ve zapped before” 
 I guess I shouldn't have said spamming, just that it favors people who post more often 
 Primal’s trends? 
 could this be solved by an rss-ish subcription model that sorts/filters based on your input. all while making sure you are using unfettered relays.  im new here and spouting idealism. let me know where i went silly. 
 RSS is very timestamp oriented, so yes we have lots of Nostr clients that are timestamp oriented like RSS.

“sorts/filters based on your input” is a very underexplored design space (and very interesting to me).

do you have more specific ideas on how this might work? 
 well, as im as new as this protocol, im looking at the possibilities. i think that a relay that is completely open allows for a client that can at least sort/filter by nip/kind (and if i have my way, geohash).  i think that key here is that a client with a simple enough interface could sort by more than the conventions offered within the protocol, but by content, author, and other metadata.  i dont see why this couldnt/wouldnt be implemented in damus or primal, but again im new here and still havent fully assessed the landscape. 
 Fingers crossed…

https://github.com/nostr-protocol/nips/pull/1268 
 more than crossing fingers, talk to some people developing clients/relays to get their feedback or who might point you to any prior art to consider 
 “…but I was gonna head to Toshi station to pick up some power converters!”
:)

seriously, you know anyone specific to damus or primal i can hit?  otherwise im just gonna hit their support channels. 
 Maybe we should keep basic feeds sorted by timestamp, and have algorithms as opt-in optionals that people have to click to go to every now and then? Like different tabs in the UI.

Once you make one algorithm the default way of browsing it's hard to not imagine things going bad. 
 Or have filter options that allow users to "create" their own algos. 
 Thinking of this in terms of what I used before (Tweetdeck).

Allow the creation of lists users and keywords.

Create the ability to see a feed by list. 

Create the ability to filter that feed by other parameters - zaps, quotes, boosts, likes, replies, etc.

 
 I would suggest prioritizing user-choice as the north star when thinking this through. A default sort by timestamp could be good for many cases.

I could imagine different tabs in a UI being good ways to navigate different algorithms, but there are probably lots of alternatives creative developers could come up with which solve different problems for different kinds of apps. @primal, for example, chooses the UI of a filter icon in the upper right to select different algos. I could imagine a subreddit/stackernews-like view of the links being discussed/zapped in my nearby network recently. It would make it a lot easier for me to “catch up” if I’ve been away for a day. I haven’t seen a good example of an interface like this being explored yet with nostr.

I’m not convinced that letting people choose an algorithm as their default way of browsing has to go bad. I would want to know more about the following: “what are the goals of the algorithm?”, “can the user evaluate the purpose simply?”, “is the user empowered to change the default algorithm if they don’t find it’s serving their needs?”.

I just think the goal should be that the algorithm is in service of the user’s needs and not just attempting to generate incremental page views to serve more ads (like a corp algo is usually designed to do). Having algos with very different goals than we’ve seen before could help us discover a way where things go very right. 
 Really cool idea, the discoverability on nostr isn’t too great, awesome protocol though. 
I think that’s a great idea!