What about a new mixed-feed which merges the Subscribed, Local and All feed based on probabilities customable by the user e.g. 10/40/50 or 0/20/80?
This would push users toward local posts (especially on smaller instances) while still supporting a better distribution of user engagement over the threadiverse. And if you don’t trust that it was implemented correctly – you can simply check it by counting the amounts of posts against your chosen probabilities.
When someone creates a new discussion in a merged community, which servers would it be posted to? All? Of only one of them, wouldn't it be confusing for the user to suddenly have to choose? What if the component communities have different moderation policies?
I've been considering a very similar but distinct idea for a while now. I want my subscribed feed to be based on user weightings. Give subscribed community a default weight of 100. Then if I see too much from worldnews, I can scale it down to 50 and see half as much from that community in my feed. The goal being that I can adjust the proportions of different contents types without blocking users or unsubscribing entirely.
Mmh ... why call it weight? You probably still want to sum it up to 100, right? So why not just call it probability right away?
Then if I see too much from worldnews, I can scale it down to 50 and see half as much from that community in my feed. The goal being that I can adjust the proportions of different contents types without blocking users or unsubscribing entirely.
That's basically a fully custumizable feed, right? Yeah, that would also be cool. Altough maybe a bit of over-engineering - don't now if it would be that useful to the average user.
Edit: I think this also addresses the problem that smaller communities don't appear as often between very active communities. I think this should be solved with a better sorting algorithm (already tried to fix here: https://github.com/LemmyNet/lemmy/pull/3907). But in part, this also needs to be fixed by the community, because discussion quality in some communities isn't what it could be. This will probably change over time and then, for the average user, I think it will be enough to unsubscribe. I still think weights are a bit too much.
Actually. I don't think I would want it presented as a probability from a usability perspective. If everything has to add up to 100, then increasing one means lowering all the others and vise versa. Similarly, those numbers will all change when I (un)subscribe to a community. This sounds extra confusing for users. Want to see half as much? Divide by 2. Let the computers do the math and turn it into probabilities.
Agreed that it might be an over engineered solution. But I think it would make a very good experience for users. And if a user doesn't want to bother with it, they can easily ignore the feature.
While I do think better sorting algorithms are good to explore, I see that as a separate initiative. Yes, weighted subscriptions and better sorting algorithms can address the same problems but they can also be implemented separately. And they can work together to improve the user experience.
My big concern is performance. These are all assumptions but here are my expectations: Giving every user a distinct sort will send memory usage crazy high. Thus, you have to apply the weights dynamically when a client gets data. Can it be done fast enough to not slow down those calls? How much extra cpu will this cost?
No it doesn't. It addresses a different problem, namely: posts from small instances should be somehow boosted in my feed.
The problem I try to address is regarding posts from my local instance vs. posts from all federated instances. I would like to have a sorting that gives up a good mix here and that would also be in line with admin's motivations to keep their instances alive. As described here: https://lemmy.world/post/5110168 their chose to promote the All/Explore or the Local feed can be modeled with problem from game theory and can result in admins to choosing to promote only the local feed if they find that the All-feed gives their posts a disadvantage and over long, drains away their user engagement. Scaled sort will not be able to fix that.
(Actually should have written that in the description)
... The Fediverse can only acquire steady growth if engagement in some of the bigger communities picks up and new users are noticing that there is constantly something going on around here - I'm sceptic that with the natural spread of thematically related smaller communities over the Fediverse, we can make that happen without pushing some incentives for community centralization...
I think that Explore is very confusing name for feed type. IMO there are 2 better ways to do this:
checkbox called "discover new posts" or something similar. It would randomly throw posts from All to Subscribed
"Mixed" feed type with a slider that allows users to set how many posts from All and how many from subscribed will show up in Mixed. It can look like this:
I like the idea, but it should also include another feed specifically with subscribed smaller communities, since they'd still get buried under this system.
Honestly don't bother with the customization by the user. That seems to be the solution to when anyone might object to something, but it just creates more confusion to the average user. Maybe keep it as a setting in the instance config. Less is more.
Yes, because for smaller communities, the All-Feed would still mean that they aren't present there. They would still chose the local-feed.
It would also be nice for people who chose their instances for a reason and want them to give them a bit more attention than other instances but don't want to switch back and worth between All and Local. I think there are many of that.
Meaning that it will store your preference in a per user file and learn from your behavior. Tracking your every like and every comment, measuring every word you posted against every tagged key words available and serving you the most probable posts that matches the most with your profile.
And of course this would be open to the public given the nature of the fediverse. And then advertisers would just waltz in and pluck it from the records.
Thanks for your effort, especially the example screenshot! Your presentation with colors showcases the idea very well!
It's not clear where the numeric preferences (e.g. 10/40/50) should be defined. Is it in user settings? Or should it be right next to the Subscribed/Explore/Local/All toggle? And is it a digit input field, or a graphical control like sliders? Anyways, details.
I'd also like the option to always show new posts or posts with new comments from favorited communities. This could help small communities and their subscribers to get things going.
Or well, we can implement both ideas with the same mechanic: Allow me to override the likelihood with which a post from a specific community shows up in my feed. This way, I can include both big and active communities in which I'm only mildly interested, and small and rarely active communities in which I'm very interested in the same feed.
It’s not clear where the numeric preferences (e.g. 10/40/50) should be defined. Is it in user settings? Or should it be right next to the Subscribed/Explore/Local/All toggle? And is it a digit input field, or a graphical control like sliders? Anyways, details.
I don't know but yeah I think that would be details.
I’d also like the option to always show new posts or posts with new comments from favorited communities. This could help small communities and their subscribers to get things going.
But that's what subscribed is for, right?
Or well, we can implement both ideas with the same mechanic: Allow me to override the likelihood with which a post from a specific community shows up in my feed. This way, I can include both big and active communities in which I’m only mildly interested, and small and rarely active communities in which I’m very interested in the same feed.
This could also be addressed by giving smaller communities slightly more weight in general. To prevent their posts not appearing because bigger more active communities. But I think that's a different problem. Also, it was also trying to be addressed here: https://github.com/LemmyNet/lemmy/pull/3907