I'm about to leave Mastodon for a few months. Not because I had a bad time, or couldn't find interesting people, or don't think the concept of a fediverse is dumb. On the contrary, I think it's great.

I just have other stuff to do. But before I go, I want to share some thoughts as an ex-Twitter designer and someone who's been on Mastodon since 2018.


1/ I was lucky enough to soak in Twitter's data for years. So I could see what features people actually responded to, and which we just *assumed* they'd respond to.

Buckle up, I have some interesting news that you, as a Mastodon user, are going to disagree with.

People don't like reverse-chron timelines. (head explodes)

Let me explain myself.

2/ As a Mastodon user, you're waaaaaay more likely than the average user to love reverse-chron with no algorithm. It's one of the main selling points for Mastodon!

But it's not rooted in what we saw in seemingly hundreds of different findings.

The reason Twitter almost died so many times at the start is that normal people aren't looking for an IRC or RSS experience. So people joined, got frustrated, and left.

It took THREE YEARS to turn users into "healthy users." That's bad.

3/ Designers love talking about , but it can be hard to walk the walk. What do you do when literally 97% of your users are saying "I don't like trying to curate a good timeline, and I don't like having to scroll to keep up with everything, and I feel like I'm missing out on the good stuff, and I'm confused?"

Bad designers say "Deal with it."

Good designers say "Hm. This is a problem to solve."

And that's where algorithmic timelines, guide, moments, editorial content, etc came from.

4/ I remember when we moved from strict reverse-chron (which 97% struggle with) to "You might like" prompts (which 3% struggle with) and hearing from the VERY LOUD minority that we were destroying Twitter.

But we saw as the 97% had a much better time. We saw that every step forward we took (I have a whole presentation on this) was helping people more and more.

The data told us we were making a better product. And that reverse-chron kinda sucks. For most people.


5/ I remember when we added quote tweet, and we have the receipts. It does *not* increase abuse. (Source: I was the lead designer on the abuse team)

You know what increases abuse? Reverse-chron replies without any sorting or algorithm, because someone can say "Kill yourself" as the first response. It becomes a game. It silences people.

6/ My team rolled out mute keywords, which people SCREAMED at us about, saying it was killing the concept of "just show me everything" Twitter.

Victims of abuse, who aren't nearly as loud, thanked us quietly.

We rolled out "hide replies" which almost caused an internal riot, and was shelved for three years, but eventually it went live.

Again, some people said we were killing Twitter. Again, they were wrong.

7/ Mastodon is exciting for a ton of reasons. I love it. I want it to succeed. But ... have you read Animal Farm?

As Mastodon grows up, and tries to reach beyond the early adopters, please *listen to your users.*

They'll guide you to some features that cannot be optional in a system like this. And, sorry, a lot of them will feel like traditional Twitter.

Not because people have baggage, but because humans are going to human and certain things are inevitable.

8/ Good luck with everything. I hope sharing some of these opinions and experiences helps the fediverse in some small way.

I'm rooting for you.


@jon One of the big problems with "the algorithm" for me and many others is that we simply STOPPED seeing content from people we want to see, and started seeing MORE content from people being reactionary, fandom drama, call-outs, and the like.

The algorithm made the experience a lot worse for me and others, and turned our timelines into a shit show.

I'm okay with some subtle algorithmic sorting, but rather then bringing conflict forward, to bring accounts forward we frequently interact with.

@jon Also the algorithm shouldn't completely take over. Bring SOME content forward, but make sure ALL the content is displayed. Don't suppress content with certain keywords like "commission" and make sure we see stuff reliably from EVERYONE we follow.

Yes, even people we don't interact with often. Because suppressing their content is a self-reinforcing problem!

@jon When I switched to "Latest Tweets" after being on "Home" unknowingly for a long time I started seeing tweets from people I hadn't seen anything from in months, and that's when it really struck me just how BAD the algorithm is.

So yeah, it might be a good idea but it was a horrible execution. Enjoy your social media vacation. :)

@zorinlynx @jon Interestingly, I had the opposite experience.
I changed to 'latest tweets' at some point, and after a while I noticed I hadn't heard from people. If I checked their profiles, they were still posting, but I had just missed them by not being online at the time.

When I turned the algorithm back on, I suddenly got their tweets showing up again, raised to my attention even if they were made 4-5 hours before.

Now I use the algo for the first morning visit and change to timeline after

@_intothevoid @jon @zorinlynx this is because Twitter never allowed you to save your reading position and why using 3rd party clients was a superior reading experience on Twitter. I could never use the official client because of these reasons and it’s one of the reasons why we developed Twitterrific in the first place.

Amen to this. I like seeing things in chronological order, but I want to know what I've already seen. Twitter made both of those goals difficult.

@_intothevoid @jon @zorinlynx

@gedeonm @_intothevoid @jon @zorinlynx I rarely encountered most of the problems people complain about with Twitter. No ads. No crazy tweets elevated by the algorithm. No missed posts from infrequent posters of great content.

How was that possible? Third-party browsers (Talon, Plume, etc), chronological mode, extensive use of lists, and TwitterListManager. I really hope a rich ecosystem of 3rd-party software develops around Mastodon.

@jon @_intothevoid @gedeonm @pgcommunication @zorinlynx @richbruchal Amen! I used Twitter exclusively with lists. I found it easier to know what general topic area I was in, and it meant that folks I wanted to see in that area were always surfaced.

@pgcommunication @gedeonm @_intothevoid @jon @zorinlynx as a casual twitter and mastodon user; never used any third party browser, lists and listmanager. That truly sounds like a day job.

@pgcommunication @gedeonm @_intothevoid @jon @zorinlynx I stopped using 3rd party apps when I realised they were stuck using polling to find new tweets, unlike the official app which supports streaming. At least at the time, which was years ago. Probably would go back though if I still used Twitter.

@_intothevoid @jon @zorinlynx @gedeonm why am I only finding out about twitterific as I’m leaving Twitter?!

@Brendanjones @_intothevoid @jon @gedeonm Yeah some of the third party clients were great.

My favorite client was Tweetbot, but I drifted away from it when Twitter neutered the API. Its developer is working on something similar for Mastodon so I'm looking forward to that if it comes about.

@jon @gedeonm @_intothevoid @zorinlynx

thanks so much to you and your team for Twitteriffic it’s been worth every penny I’ve paid over the years. And I’m looking forward to mastodon accounts/client if one is coming!

@zorinlynx @jon @_intothevoid @Wraithe Thanks so much for these kind words. They help a lot esp now here near the end of Twitter. 💕🖖

@gedeonm @_intothevoid @jon @zorinlynx This! Being able to earmark a point in your timeline seems so blindingly obvious if you want your users to be in control... The timeline randomly refreshing is soooo infuriating, with all the scrolling to get back at this tweet you just read and wanted to open the link inside (to say nothing about the nested time travel involved when it happens several times in a row)

@gedeonm @_intothevoid @jon @zorinlynx For my part, there is no possible way I could keep up, so a reading position would not help. I *like* having "the algo" surface what I'm most likely to engage with. I *don't like* the lack of ability to control it (e. g. say "I want to see this person no matter what") . Algos under user control would be my ideal scenario. Rev chron is a big step back for me, saved reading position or not.

@vidarh Agree 💯 I would be completely happy with a huge list of options to select and customise my algorithm. People I always want to hear from, and subjects too. I'd like to be able to rate scale 1 to 10 how badly I want certain topics, like maybe I want 5/10 news, 5/10 health news, 3/10 IT community post, 3/10 social chit-chat, and 2/10 nice pictures.

@gedeonm @jon @zorinlynx

@_intothevoid @zorinlynx @jon it's not great knowing most of the people i would like to start conversations with will never see my posts b/c i have erratic sleeping hours

@_intothevoid @zorinlynx @jon ...and once you check the profiles of people you care about, you will see that even the "Latest Tweets" timeline is quite algorithmic. Easily 1/3 of the content of the people I interact with *the most* is never shown to me on the "Latest Tweets" timeline.

I think the divide is not between those who struggle with chron timelines/those who don't, but between people who follow *people*, and those who follow hype.

@_intothevoid @zorinlynx @jon I prefer chronological order, and I've always used it whilst being perfectly well aware that it means that I will miss some people's posts. I take that as a given considering the global nature of the entire internet. That alone means that you will always miss something which might be of interest to you.

@jon @_intothevoid @zorinlynx I think this is the best use case. The algo for catchup when you haven’t been on for a while, then timeline. Out of curiosity, approx. how many people did you follow?

@_intothevoid @zorinlynx @jon same experience here, so I’m chiming in to say “both is good”

@_intothevoid @zorinlynx @jon That's why I use lists, as it means I can prioritise what I see, but still get it in reverse chronological order. Have lists for family, close friends, wider friend groups, fandom stuff, journos etc and read some of them every time I log in, and dip in to others if I have time to kill or there's something specific going on. That way I don't get swamped but can still read stuff in a logical order.

@_intothevoid @zorinlynx @jon I should start by saying I generally agree there are pros and cons to algorithmic sorting versus reverse chronology. But I wonder how much of the “missed that person and that person” phenomenon is just that we follow too many people? There is some upper limit on how many posts/people we can reasonably process in a given week, much less actively interact with. Users whose follower count is higher than that limit will inevitably miss something, right?

@_intothevoid @zorinlynx @jon I started doing same thing, alternating between the two and also going to people's timelines that I'm following and found alot I might never see. I didn't mind this, sort of like a deep dive on what interested that person.

@zorinlynx @jon that's the core issue to me. I think people's complaints were that twitter's algorithm is bad. And if it was bad for engineering challenge reasons, that doesn't bode well for the algorithms Mastodon is working on. If it's because they were operating under the wrong incentives, then maybe there's hope. Having control over the algorithm would probably go a long way.

@thomasjwebb @zorinlynx @jon The problem, I fear, is that open source tends to prioritize power users over simplicity. The up shot of Twitter (or Facebook, or Reddit, or whatever)'s sort algorithm is "It Just Works". You don't have to muck with any settings, you just use the website.

I can guarantee the PR for Mastodon sorting would turn into a shitshow of everyone wanting their specific tweaks and options until the sort control panel option looks like an airplane cockpit.

@jon @zorinlynx @JessTheUnstill this is very true. I think that’s part of what Jon was implying - that all users should be listened to not just the loyal longtime users. There’s also my observation that all open source projects in the long run evolve into turing complete programming languages.

@JessTheUnstill @jon @zorinlynx so yeah both commercial and open source projects operate under different incentives that can negatively affect the user experience with algorithms.

@thomasjwebb @jon @zorinlynx I can hope that the designers are wise enough to make any "smart sort" modular enough that different instance admins can choose which if any sorting model to use. It's one advantage of the federated model: even if I want a highly tuned model, you want a chronological sort, and someone else wants "Idk, just make me laugh", instance admins can drive some of those decisions based upon their knowledge of their users, perhaps allowing casuals and power users to still communicate on the same federated network.

@JessTheUnstill @thomasjwebb @jon @zorinlynx random thought that just occurred to me: what if, instead of a cockpit dashboard, Mastodon just had a "basic" mode with a few settings and an "advanced mode" where you could actually write your own algorithm using, say, Lua scripts? People could share algorithms that work for them and it'd be easy for everyone to experiment.

If it's going to be a dashboard, make it a dashboard 🤪

@badrihippo @thomasjwebb @jon @zorinlynx That's what happens in every open source project. And even the "simple" is STILL too complicated.

@JessTheUnstill @thomasjwebb @jon @zorinlynx and then a new open source project comes saying "the old one is too complicated; we're going to do it in a simpler way". Until that one starts filling up with features too ♻️

Maybe it's time to embrace the cycle? 🚲

@badrihippo @JessTheUnstill @jon @zorinlynx this might be a more practical thing for a custom client that runs on desktop to do. You don't as a server admin want to run arbitrary end-user code on your server. I think more people moving over to open protocols such as activitypub or plain old rss would empower developers to make better competing news and social readers.

@JessTheUnstill @badrihippo @zorinlynx @jon @thomasjwebb you could also develop some broad sorting paradigms based on actual common use cases. “Popular tweets,” “People I interact with regularly,” “people I haven’t interacted with in a while,” “Prioritize hashtags.” Not as filters, but more as timeline flavors that can easily be switched around by users.

(This is an extension of what my timelines already do for me)

@JessTheUnstill @jon @zorinlynx yeah this is something I forget about being seeped in the monolithic mindset of proprietary platforms - the user experience isn't up to any one entity. The software developers/ui can empower instance admins with tools to customize, say, the local tab, then instances may compete with who has the best local tab. That makes the prospect of a control panel less scary if it's mostly admins using it.

@thomasjwebb @jon @zorinlynx @JessTheUnstill I have never seen Facebook algorithms work well. I need to actively seek out the information I want and it hides the people I WANT to hear from while showing me ones I don’t care much about. You also have no way of returning to where you were while searching, because everything is generated on the fly. So, I have given up and only check for messages now and then.

@JessTheUnstill @thomasjwebb @zorinlynx @jon there's no reason why you shouldn't design a client which allowed users to install their own plugins to do client-side algorithmic sorting of an #ActivityPub feed.

The joy of an open protocol is that not everyone need use the same client, the same server, or the same algorithm.

@simon_brooke @JessTheUnstill @thomasjwebb @zorinlynx @jon or even server-side execution of user-specified rules. Like sieve or procmail - but maybe with friendlier config mechanism :-)

@JessTheUnstill @thomasjwebb @zorinlynx @jon agree, OSS advantage is also their achilles heel: they tend to focus on the needs of the developers, which leads to well engineered solutions, but with a very steep learning curve and a lot of tribalism.
Yet it also prevents business-only solutions like timeline algos which cater the interest of the company (engagement time, ad click rates).

@JessTheUnstill @thomasjwebb @zorinlynx @jon

That is something that can be dealt with by making some options that cover the most likely use cases i.e. the top 3 and just make it a toggle or option within the different panels. Then expose that to the clients that people will use and I'd say that about does it for the majority.

@Michaelvaliant mentioned a "catch-up" mode that gets you people you interact with often and then you enter a chronological mode. That is something I can get behind.

@atomicangel @thomasjwebb @zorinlynx @jon @Michaelvaliant If it was easy, then one of the dozens of social media sites would have figured it out by now and people would love it. The thing is, as OP pointed out, figuring out what makes users satisfied is a VERY hard problem, because even they themselves don't necessarily understand what makes them satisfied.

@thomasjwebb @JessTheUnstill @zorinlynx @Michaelvaliant @jon agreed.

Paraphrasing Steve Jobs: Users don’t know what they want until you show it to them.

I know it’s not easy by any stretch, just offering up the general idea.

@JessTheUnstill @atomicangel @zorinlynx @jon @Michaelvaliant yeah exactly, users (including me) are often conflicted about things. I don't like ragebait, but I also engage in it. Does that mean I secretly like it? Or more like the crudeness of tools frustrates my meta-preferences for not being stressed by ragebait. It is a difficult problem and I think federation only fixes some constraints but what remains is still very much non-trivial.

@thomasjwebb @JessTheUnstill @atomicangel @zorinlynx @jon it is a hard problem - of course! But there is a key difference here: money is not the prime motivator. Other SM platforms are accountable to VC’s or shareholders to grow quickly and then make money. So the Algo’s have to lean in that direction. That’s one of the underlying problems that make it harder than it needs to be. Mastodon is different.

@Michaelvaliant @JessTheUnstill @atomicangel @zorinlynx @jon I think there are incentive issues on the commercial side, but I don't think removing those problems or having the better (imo) federated basic design fundamentally makes the hard engineering issues go away.

@zorinlynx @JessTheUnstill @jon @thomasjwebb @atomicangel not all of them. But at the end of the day, the money issue influenced every single other decision made on other platforms (therefore, making already hard problems even more tricky). So to say removing it wouldn’t have an impact is wrong. It may free up engineers up to make better decisions based on needs, not revenue.

@thomasjwebb @zorinlynx @jon For all its failures, I found the G+ circles useful for this. It allowed me to sort the extremely online and frequent resharers from those folk who I still wanted to hear from but posted rarely.

@epistolaryrichard @zorinlynx @jon yeah I liked that feature. I had mixed feelings about G+ as a whole but that did allow me to make sure my actual friends’ posts weren’t being buried.

@zorinlynx @jon I think reddits “algorithm” is a great one. I can switch between “New” & “Hot” at will. I wouldn’t hate a “hot” button on here that showed me the posts from my followers in the last hour that have gotten the most engagement first. Nothing is learning my preferences, just a bit of advanced sorting. It’d do 90% of what people like about an algorithm, but be led by the humans who use “New”, not a robot programmed to support the profit motive.

@yerald @zorinlynx @jon
This is something I like about sifting through Reddit content. I use best, hot, and newest the most, and I like that I have some control over the algorithmic sorting

Sign in to participate in the conversation

Hometown is adapted from Mastodon, a decentralized social network with no ads, no corporate surveillance, and ethical design.