Is anyone working on algorithms for feeds on here?

It just seems so obvious that this is one of the two things that will determine whether nostr *as social media* (sure it can be other things) is going to achieve any scale ... but I never see anyone talking about developing this?

The other is scaling, but that's a very vague thought, I have no idea what the issues or solutions around running a relay are (except, paying for service with LN is great).

Reply to this note

Please Login to reply.

Discussion

Tag, you’re it.

what is this referring to? (^_^ )

let the market come to u......or b the solution u seek....tag your it

you're

but the algos are 666vil they said

This is the response I'm wondering about, i.e. is this perspective the reason we don't hear much about it? Algos can be user chosen so that argument has always seemed dumb.

I used to use mastodon and the developer had a similar reason for not having algos. I think it's incoherent and stupid. Time ordering is an algorithm, just an extremely simple one.

It's totally different in a FOSS scenario.

Agreed 100%.

Nostr devs may be afraid of a negative feedback but I think if you query most users they would be in favor of it.

And if I had a choice of selecting/building my algo based on a certain criteria I will spend more time on Nostr and think less of what other social networks are doing.

I agree especially with users making their own algorithm. 💖

my 2 cents

- NO algorithms (ever)

- use block and use follow for users, keywords, etc

- improve search

- most importantly take responsibility for your own feed!

the problem with mainstream Internet (or anything) is that it panders to people who want no-thinking easy mode, censorship and don't care who controls what they see. people like this uninformed, ignorant (they'd actually rather not know), and stupid. do I want to see that on nostr? NOPE!

Nostr needs more normies. Sports, news, technology, comedy etc

Yes. Personal, opt-in recommendations from webs of connections you control and score.

No global consensus, no trust you didn't award, no mandated agreement between parties who don't wish to voluntarily agree.

Fully auditable, portable, subjective and sovereign.

for that, clients need to be able to "plug in" to an algorithmic feed ?

Or accept an algo as part of their function. But that seems just too complicated.

We are talking about this…

nostr:note1m69f00rzyqrgwlrcsx56dxr8572rj4psl6zqr0cpqwvjl83mfyrsugevgv

Can you briefly describe 1 simple algorithm that isn't just notes ordered by creation date?

Maybe if we start with that one concrete thing we can try to implement it and see how hard it is to do it in a nostric way.

Every time someone brings up this topic they talk about it in generic abstract terms, so it's hard to make the first step.

here is one such algorithm

https://github.com/pablof7z/dvm-references/blob/master/apps/dvms/src/dvms/you-might-have-missed.ts

fetch events you signed

fetch your follows

compute activity windows (i.e. clustered time windows in which you were active)

fetch reposts from your follows

remove events where a repost occurred during a time in which you were active

return the list of stuff your follows reposted while you were away

and this is what the output can look like

https://vendata.io/jobs/nevent1qqsr8693plxux3dufslf6t45qs5vpgk0wxq0dv4229n7yg6syg57zdqpp4mhxue69uhkummn9ekx7mqzyrafsj7hmweg9ur7zmn6apajdg48hxuskujx53rhrux0ttjcqx84yw53h7e

Thank you for the description, it has really cleared things up for me.

Some of these DVM results are always impressive when I see or think about them, but I may be too dumb because I never grasp the entire thing in a concrete way.

I have been thinking one neat way for a DVM to expose a feed to a user, which they will be more likely to consume is to 'run the algo' and then broadcast the events that match into an algo specific relay.

This would allow normal clients like amethyst to show a feed of events from this relay's global feed vs. users having to go to a webpage and/or modify their follow list.

I think the algo based stuff would be far more useful on a per event basis than it is trying to lump a diverse human's post history into a category. Then the user can use their trusted client to add follows when they see an event they like and use nostr more 'naturally'.

for example:

create a drag and drop interface that allows users to drag options/keywords/time/dates/blocked tags/whatever into some sort of order or priority including blocking that allows them to customize their feed(s). maybe even allow them to have multiple tabs with different feeds that they create.

I have a simple algorithm for the Hot feed in Nostur:

- get your follows

- fetch posts from the last X hours that they liked or reposted

- sort posts by most liked/reposted, only count likes/reposts from your follows, don't count duplicates

What are your thoughts on scaling?

According to nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft's estimates an average Nostr client following 850 users would only have to connect to 56 relays in order to fetch posts from all of them.

nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h can give us some estimates on how much it costs to host one average Nostr user in a relay on https://relay.tools/

There is a certain amount of sharing resources that seems to make running relays very cost efficient. For relay.tools there are 3 tiers of sharing. The server is shared by multiple relays, each relay is shared by multiple users. One popular pattern for sharing right now is someone runs a relay and adds their follow list (or any number of lists) to it's access control and/or enables payments to keep spam out.

This is good for the outbox model because clients will be more likely to hit one of these relays where most of their friends notes are without going overboard on connections.

Relays only get used if the relay operator promotes their use, otherwise they mostly just sit there idle (but usually do start receiving traffic from blastr, and scraped by nostr search engines when nostr watch discovers them).

As nostr moves to more of an outbox model and/or nip42 auth it will become clearer the cost per user, as it is now it's fairly nebulous. That being said strfry is very efficient and can easily handle 10k simultaneous connections on a low tier VPS.

Strfry is really a piece of art ⚡

What is the current feed status on nostr? Is it just an ordered timeline with posts shown by the date they were posted? Still trying to get my head around how the app works 🤔