A Nostr client with no concept of "follows", you just get shown some content from selected relays, then if you like -- or if you read (your local client would know by your clicking or how much time your spent on each thread, no one else) -- that person gets added to a dynamic ranking of possible interests, so you start to softly "follow" them (by which I mean the client fetches their notes specifically from their relays). As you interact with new notes and new people that dynamic list changes.

Replies (45)

The magic sauce in the tik tok algo has been revealed..... image
fiatjaf's avatar fiatjaf
A Nostr client with no concept of "follows", you just get shown some content from selected relays, then if you like -- or if you read (your local client would know by your clicking or how much time your spent on each thread, no one else) -- that person gets added to a dynamic ranking of possible interests, so you start to softly "follow" them (by which I mean the client fetches their notes specifically from their relays). As you interact with new notes and new people that dynamic list changes.
View quoted note →
Asu Dhakal's avatar
Asu Dhakal 0 years ago
This is the ideal social media “algorithm”. Bravo! 🤝
I like the idea although isn’t this similar to TikTok, Twitter, Instagram/Threads? Whatever the soft follow algorithm is, there has to be a way to factory reset it when it no longer delivers the results you want.
HoloKat's avatar
HoloKat 0 years ago
Isn’t this just the TikTok algo?
Ok, so. 1: forget the selected relays *insert stop trying to make manual relay selection happen .gif* 2: client takes the follow list and uses it as a guide to pick relays for a feed innitially. 3: innitially uses the existing follow list as your 'soft follow' set up. 4: continue the scheme as you described. 5: 'clustered' softfollows could be a reason for the client to decide to add a relay for feed purposes (instead of just fetching particular npub notes) A: assumes an existing profile with existing socialgraph, if this is not the case, pls see *bootstrapproblemexistsforeverything.pfd* B: manual relay selection should still be an option, ofcourse, if not just to make you happy
Yeah, we're taking the "from Follows" option out of the landing page and burying it in an advanced search, instead. Follows is just a contact list, really. We're going to be relay-focused.
Big relays are a solution looking for a problem, IMO. We preload our client with our own curated relay, and then people can add their own relays, by logging in.
Basic idea is that it's a client-side machine-learning spam filter that pushes things you have told it that you don't want to read (maybe starting from your 1984 reports) further down. You curate the algo yourself, over time. If the client also has a gold finder, working the other way around, starting from your lists and things you've quoted or replied to, then it would constantly to refine your suggestions, while you keep control of the refinement process and can intervene, if it goes AWOL.
Hard no on copying what TikTok does. Let's aim for conscious interaction, not unconscious interaction. Let's tend to our higher self, not our lower self.
I feel like most of Nostr just wants to add zaps and Nostr logins to the same things we are trying to free people from instead of building some new and better. TikTok but with Nostr Instagram but with Nostr Twitter but with Nostr etc…
Is that what TikTok does? I imagined like they would push "similar content from random people" onto you, not "content from the same people".
This sounds interesting, I like the ability to check in on contacts manually -- with some help from the app so I don't have to type names all the time and remember that people exist. I'm curious about how this looks like in the actual app UI. The website is impressive, but totally vague.
Couldn't agree more! We have to decide what gets our attention. We can redesign social media completely. We don't need follows. We need intentionally designed roles and spaces for interaction in the digital world. We're building this on @nextblock! Blocks, Neighborhoods, the City, and the Wilds! Everyone you meet is a stranger unless you add them as a contact. Then you can put them on your block (where you see only accounts and activity of 21 people), your neighborhood (same concept as block but no # cap), the city (all NextBlock citizens - we aren't "users", or the Wilds which is all of Nostr). So someone is either a stranger, contact, or neighbor. You can also visit other people's neighborhoods! So less labor on your part of you want to trust someone else to be in charge of what you see for a bit. Lots more to our design on how we think Nostr works without an algorithm. Please do check us out if you have time!
Brian's avatar
Brian 0 years ago
it's a great idea. TikTok does this with the goal of TikTok making money. fiatjaf can do it with a goal of making a better experience for new nostriches
I say yes. I think people sometimes forget the nature of the openness of Nostr. Unconscious interaction based applications can coexist with conscious interaction based applications. As other have pointed out, there are advantages to having this approach that isn't brain rot. Unconscious interaction does a good job recommending users to follow, expanding your network, which is even more needed on Nostr (especially when starting out). E.g.: 1) Start out on Nostr -> social network doesn't exist 2) Use unconscious interaction based application -> create good base of initial users to follow 3) Stop using application and move to conscious interaction based application -> no brain rot
usually when you interact with someone’s content on tiktok it’ll push you more of their content as you scroll on.
i don’t think it’s a bad thing to make something like tiktok. a lot of people have a negative attitude towards it, but it’s insanely popular.
Default avatar
npub148hy...vy59 11 months ago
Isn’t this how you create a bubble? With following I can create my bubble and am aware of that. With this TikTok algorithm you’ll create it for me and it’s hard to change for me at some point.