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.
Edit: changed feed name to mixed-feed
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?