

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.
A few thoughts.
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?