pull down to refresh
21 sats \ 1 reply \ @fiatjaf 13 May 2023 \ on: algorithms on nostr that have a chance of working nostr
Can you give some examples of algorithms?
Sure.
hypothetical but relatively concrete
These are not exhaustive. I'm also not arguing any of these should be implemented. These are just illustrating some obvious and simple algorithms that aren't currently possible on nostr. Any algorithm should go through the "fire" of NIP approval.
naive and unidimensional
- created_at in descending order
- "I want to see the newest events" (nostr's default)
- created_at in ascending order
- "I want to see the oldest events"
- sum(zap amount) in descending order
- "I want to see the events earning the most money"
- sum(reactions) in descending order
- "I want to see events with the most reactions"
- sum(comments) in descending order
- "I want to see events with the most comments"
- sum(followers) in descending order
- "I want to see people with the most followers"
- content_contains("some string")
- "I want to see events with this string in this field" (naive search ... I know we already have search but it's not standardized)
fancier
reminder: not exhaustive or recommendations
- arbitrary combinations of the naive algorithms
- e.g. sum(zap amount)+sum(reactions)+sum(comments)
- any naive algorithm (or combination) with a time decay
- "I want the most zapped events with a bias toward the most recent"
- "I want the most followed people with a bias toward them having gained those followers recently"
- "I want the most active conversations happening now"
even fancier
reminder: not exhaustive or recommendations
- the fancier algorithms weighted by my following graph
- "I want the most zapped events biased/weighted by my following graph with a bias toward the most recent"
- "I want the most followed people weighted by my following graph with a time bias"
- the fancier algorithms but weighted by a TrustRank like algorithm, ie use the relay's PoV rather than my own
- ZapRank (SN's algo) which is kind of like TrustRank but weighted by zaps.
abstract but "real world"
The following algorithms are ubiquitous because there's no talking people out of wanting these. They give us what we all universally want: "give me what's most important to me - and truthful - and I want it without seeing unimportant and untruthful stuff."
- the algorithmic feed on all major social media applications
- the purpose of these algorithms (absent perverse advertising incentives) is to distill subjective and recent signal
- "trending topics/events/stories/whatever"
- "what's happening now that I might be sad to miss"
- "who/what to follow"
- generic recommendations for things I might want to see more of
- aka discovery of anything
examples of algorithms happening on nostr today but centralized
- https://nostr.band/
- trending
- discovery
- https://primal.net
- trending
- discovery
- https://zaplife.lol/
- I can't really tell what's going on here
There's probably a bunch that I'm missing, but these services exist and are widely known/used in nostr (at least 1 & 2) because they are giving people what they want.
summary
Even if we believe in a nostr world with topic based relays, the classical music relay will want basic algorithms too without having to ask centralized mega relays for permission.
We've been doing user interviews and most people we've talked to are "unhappy" with their nostr experience except when they use these centralized services that distill signal for them.
In feeds that only sort by created_at in descending order, the noisiest and most frequent posters win.
reply