As you’re quite likely aware, there’s currently a massive explosion going on in the number of active Mastodon users, driven largely by Twitter users looking to escape Elon Musk’s disastrous mismanagement of that site. What this has meant for me is that I’ve found myself following (and being followed by!) perhaps double the number of people as I was one month ago, and I wouldn’t be surprised if my timeline was moving, like, four times as quickly (maybe even more – and would be more if I hadn’t turned off seeing boosts from certain people). I’ve rediscovered that I have quite the unfortunate completionist streak, and I’ve found myself spending ages scrolling through Mastodon (e.g. to try to catch up to the present moment in the morning) or else refreshing way too often, because there’s always something new when I do…

Amidst all of my excessive scrolling and refreshing, I’ve come across a few posts talking about Mastodon’s lack of an algorithm, and whether or not this is a good thing. For those unaware, Mastodon’s current approach is: show you everything in reverse-chronological order, unless a post matches a filter you’re filtering out, or it’s a boost by someone you turned off seeing boosts from, or if it’s a boost of the same post that someone else already boosted “recently” (I’m not sure how recent it has to be, but it seems less than an hour, because I definitely see the same posts boosted over and over again over the course of a day sometimes). I think this approach is fine if you don’t follow that many people, or if the people you follow mostly all restrain themselves from posting/boosting more than a manageable number of times each day. Since the recent explosive growth of the Fediverse, though, I’ve found that this is kind of overwhelming. I have turned off boosts from certain people who were boosting like 100+ posts a day (which felt unfortunate when those people were boosting good toots a high proportion of the time, but like, it’s just too much). Despite this, I feel like I’m still spending too much time trying to keep on top of my timeline.

Anyway, I was talking about other people’s posts. Some examples of what I’m talking about are:

  • This thread by @jon@social.lot23.com(external link), talking about how his experience from working at Twitter is that the vast majority of people do not really like strictly reverse-chronological timelines.
  • This post by @pence@scholar.social(external link) about how if you do implement an algorithmic feed then people still “miss stuff” on their TL, they just miss different stuff from if they have a reverse-chronological TL they can’t keep up with.
  • This post by @joshdotc@toot.cat(external link) about how a lot of the criticism of algorithms seems to be because people are thinking of algorithms that try to maximise social media companies’ profits, but that there’s surely a middle ground between that and “no algorithm at all”. (Also: yes, I replied to this post, so you can see some of my thoughts at that link 😆)
  • And from all the way back in April of this year: this thread from @jonny@social.coop(external link) who was talking about how cool it’d be if the Fediverse actually allowed users to craft their own algorithms, or even swap them around with other users, depending on what they personally want to see. That algorithms should be something individuals can control, rather than major corporations seeking to increase profits.

Even though I can’t find it now, in the comments of one of these types of threads, I’m pretty sure someone pointed to Reddit as a site with a relatively “good” algorithm, and as soon as I saw it I thought to myself, “Hey, that’s pretty true.” On Reddit, I follow a bunch of subreddits (and have even more in topic-specific multireddits), some which get hundreds of submissions a day and others which get 0–2 each day. What Reddit’s algorithm seems to do is make my home feed more equitable. When one of those subreddits that gets 0–2 posts a day gets a post, I see that post. Reddit makes sure to show it to me. On the other hand, those subreddits that get literally hundreds of submissions a day? I usually only see the top few (where “top” seems approximately defined by numbers of upvotes), depending on how far I scroll through Reddit that day. I suspect there might also be some weighting by how often I engage with different subreddits’ posts; there are some subreddits I subscribed to when I was interested in a thing, and then I lost interest in that thing, and now I don’t see many posts from that subreddit in my feed, even though if I go to that subreddit directly I can see it’s still active. But my lack of engagement with those posts means Reddit doesn’t show them to me as much (but it still does a bit if I scroll far enough).

To be clear: I think Mastodon should always offer a strictly reverse-chronological timeline, and they should respect users’ preferences to use it (not do that shit Facebook and Twitter always pulled where they’d “forget” your preference and force you to switch back to reverse-chronological over and over and over). But I think it would be a cool feature – perhaps implementable in an app, if Mastodon core didn’t want it – to introduce a view that weighted your followees more equitably.

For example, when I open my Reddit front page, the 25 posts there come from 20 different subreddits (there are five that have two posts on it). On page 2, there are posts from 15 additional subreddits (the other 10 posts are from subreddits already represented). And so it goes, and so it goes. The subreddits that appear the most often are the ones where I click to read almost every post and upvote a lot, or ones experiencing more activity than the long-term average right now (e.g. the Mastodon subreddit, and there’s a subreddit for a game whose sequel just got released), or huge subreddits with posts that get several thousand upvotes. As I mentioned, there are some subreddits I barely interact with any more, but I still see posts from them at around page 5–6 of my home feed (so between 100–150 posts in). Reddit does not show me posts from subreddits I don’t follow at all – there’s no “100k people liked this so you must be interested in it too!”.

The Fediverse is a bit different, of course, but in general I think I’d like to see something similar. Like, I should be able to see at least one post from everyone I follow who’s posted in the last, say, 24 hours, before I’ve seen anyone five times. (Maybe the timeframe should be customisable, for people who only check their TL once a week or something. And the “five times” should probably be customisable, too.) Original posts should be weighted more than boosts. There should be some way to advise the algorithm about which posts you’d prefer to see, when it comes down to those people who post a lot – like maybe you could provide hashtags or other terms you want emphasised or de-emphasised (falling short of an actual filter in the latter case; I’m thinking more like, “I’m sick of all the non-stop takes about Twitter, but I’m willing to see the very occasional one”). Failing that, or in addition to that, the number of likes/boosts/replies is probably also relevant information to take into account when weighing posts (like upvotes on Reddit). Also, if 20 different people that I follow all boost the exact same post, I should see that post once and not 20 separate times, please for the love of God. But on the flipside, if 20 people I follow all boosted it, it’s probably a pretty decent post that should appear high up on the timeline. I also don’t really know how hashtag-following would figure into this because I haven’t used that feature (yet, anyway) but my own gut feeling is that those should be weighted less than an actual person. However, like actual people, you should be able to see at least one post per followed hashtag before you see any hashtags five times.

I’m sure there are people who consider it anathema for Mastodon (or any other Fediverse software) to implement algorithms at all, regardless of whether it’s non-commercial or user-customisable. Strictly reverse-chronological seems more egalitarian because absolutely nothing gets buried, except by time (or by filters). But the problem I’m having – and I don’t think I’m alone – is that I’m spending way too much time on Mastodon, trying to browse my timeline in an “egalitarian” way. I just can’t see everything. I would like a way to see everybody (which is why lists wouldn’t really help in my case), just not everything from everybody. If you post/boost 100+ times a day, I’m sure you’re not expecting that your followers read every single thing. But without an algorithm, I don’t really have a way of seeing just the best stuff from you, and if I skip large chunks of timeline because there were too many posts, I’m probably going to miss posts that were actually worth my time. Basically, I want a feed where no one gets buried, but maybe some posts do, if that poster is already well-represented in my feed. If this existed, then maybe I could get my time spent on Mastodon a bit more under control, and treat it more like Reddit, which I open once or twice a day and scroll through until I get bored. When I want to, I should still be able to switch to “new” and see everything as it comes in. But I’d appreciate some alternate way of browsing that’s less prone to consuming loads of my time. And I think the idea of individually-customisable algorithms, rather than one imposed from up high by a corporation seeking to maximise “user en­gage­ment” and advertising revenue, is a neat one. Not one that I have the tech skills to work on implementing myself, unfortunately. Just a neat one.

Edit (same day, 19:34): I have a couple of things I wanted to mention in this post, but then I couldn’t find the links for them while I was drafting, so I frustratedly left them out. Well, I’ve managed to find them! So, firstly, I wanted to give a shout-out to Yoyogi(external link), an alternate frontend for Mastodon (Pleroma and Misskey support coming soon) which lets you choose just a single user that you’re following at a time and browse their posts. So that’s one alternative to the reverse-chronological timeline. Then, I was reminded of Spring ‘83(external link), an experimental protocol inspired by newsstands, where basically everyone gets a “board” that they can deck out with whatever HTML and CSS they like. I never experimented with it, but I wondered if something like that would make a good alternate frontend for the Fediverse, too – where everyone you follow gets one slot which showcases their most recent post, only. Finally, in the comments of this post I got pointed in the direction of Fraidycat(external link), which similarly gives every feed that you follow the same amount of space, and you have to expand feeds to see more than the most recent post. It’d be cool to see something like this for the Fediverse, too (if not exactly like this, because I’d rather see full posts than one-line excerpts). Obviously none of these are algorithmic, and people’s most recent posts aren’t necessarily going to be the most worthy, but they do grapple with the question of “how to see everyone, rather than just the most frequent posters”.