The nice part about Twitter's algorithm is it shows me popular posts that are trending, that I'd have otherwise missed if the timeline were chronological. (The bad part is the recommendations are based on massive amounts of behavioral surveillance data and are designed to maximize attention to extract value from me for advertisers, of course.)
What do you think about this idea for a hypothetical Mastodon algorithm?
There could be a "show me trending posts" setting that, if enabled, modifies the timeline so it's not purely chronological. Instead with each refresh (or something) it mixes in a random assortment of "trending" posts that you haven't yet boosted or liked.
To find trending posts, it starts by building a list of the last 3 days (or so) of posts in the timeline you're viewing. So for Home, it's the last 3 days of posts from people you follow, and same with Local and Federated timelines.
It then weights each post, giving them a higher number based on the number of boosts and likes. Then it sorts the list by weight. So basically, the highest weights are the most "trending" posts, the lowest weights are the least trending.
Then, when you're browsing the chronological timeline, the posts you see can be interspersed with "trending" posts, randomly selected from the top 10% (or 25%, or 50%) of "trending" posts. You get to see popular posts you might have otherwise missed, but there's no ML model, no behavior analytics, no surveillance, etc.