Making Mastodon bearable

15 min readApr 13, 2019

Sometime last year I left Mastodon after a year of working to make it better, because the guy in charge was doing my head in a bit.

I took a few months off to get Mastodon out of my brain. I unsubscribed from issues on Github when I got notifications, I blocked Mastodon and related sites in my browser, and I put my energy into having a nice time on Twitter instead.

The developers added various features that I said I’d need in order to come back to the fediverse. After a while I thought maybe it might be worth a try to start fresh. This article details the tools I’ve used and why, and how they fit into the grand Mastodonian scheme of things.

If you want rambly complainy commentary on the various nuances of Mastodon in the context of social network user experience, you are going to love this.


  • Blocks that work a bit better
  • Keyword mutes
  • Moving to a non-techy instance
  • Locking down my account
  • Using a crossposter

And then further down:

  • Why do this much work just to exist in a space?
  • What next?

Blocks that work a bit better

When I originally left Mastodon, there were various situations in which you would see posts by someone you’ve blocked. As a result, blocking harassers on Twitter was actually… more effective.

So you can see why something like this would piss me off. Source.

Gargron was so set on being the sole decision-maker in Mastodon development, which is his right. But then I would be presented with the cognitive dissonance of being told in the marketing that Mastodon was safer than alternatives, while also being told when involved in actual Mastodon development that the lead developer had actively decided to make blocks only partially effective because it was convenient for him personally.¹ It was very hard to feel safe.


After I left, Gargron fixed the blocks somewhat. It was one of the things on my list of “things I’d need to happen for me to come back to the fediverse”, and it’s still not how I’d like it to be,² but I could block Gargron and it would be less likely that I would see his trouble-stirring posts that make me want to wade in and yell at him, which is a good start. Plus there’s a lot of other people in the fediverse I need to block, and having that actually work as expected is pretty nice.

Keyword mutes

Honestly, this is the number one thing that improved my Mastodon experience. Before this, there was a regex filter (eesh) per column (eesh!!), which was the most horrible thing to ever last for several months somehow.

Now you have a “filters” section in settings, and it has more configurable stuff than Twitter — like the ability to drop the post containing the word completely, or just replace it with a “filtered” placeholder. It can remove posts from your Home timeline, your notifications, from public timelines and hashtag searches, and from conversations, and you can pick ’n’ mix.

My priority was getting very out of the discourse and development side of the fediverse, in order to start enjoying it as a place to be instead of a project that sucks the joy from my soul and makes me write angry ranty Medium articles about FOSS projects headed by a certain type of white man in open and willing denial of his privilege. So I started with:

discourse, Gargron, mastodev, fediverse, activitypub

Then, while I was on the techy instances, I gradually accumulated a list of terms that always indicated that I either won’t understand or won’t care about the post:

python, raspberry pi, birdsite, bird site, activitypub, FOSS, FLOSS, terminal, sysadmin, javascript, ubuntu, software, programming, install, plaintext, linux, CPU

It was around then that I decided to try a non-techy instance at the expense of fast updates, which was a good move.

Moving to a non-techy instance

I was pretty sad about moving, because there is a strong correlation between very prompt updates (and the shiny new features and satisfying bugfixes they come with) and techy people posting about techy things and following other techy people, thereby filling the local and federated timelines with posts about programming and CPUs and APIs and CSS and Ruby (sometimes on Rails)…

When I was involved with trying to help the project, moving in circles where people were talking about the latest Mastodon development conversations was pretty important. I wanted to stay in the loop, and I managed it. Unfortunately, because of the way the fediverse works, when you look for someone new to follow you check the federated timeline, which by design mostly contains people followed by people on your instance. It makes it really hard to break out of that bubble. Text search is deliberately hobbled as an anti-harassment feature. Hashtag searches work, but you can’t just search a hashtag of something that interests you, because unless you’re on one of the six biggest instances there will be maybe one or two other people in that hashtag if you’re lucky, and they might not even be people you want to follow. Most of the people posting about a particular topic don’t include hashtags, because it feels spammy and attention-seeking.

The two instances I loved for how they were managed were and Always up-to-date, kind and responsive admins, both had unique features that were fun and helpful and that you couldn’t get on vanilla Mastodon. But when I engaged my list of filters to remove tech stuff, it felt like about 30% of my homeline and about 50% of the federated timeline turned into “filtered” placeholders, oh my gosh. (It might be different now, of course.) It was exasperating.

So I decided to go and find My People, I asked for recommendations, I joined, and when I added that same list of filters only about one post in 30 was removed from the federated timeline.

I’ll take it. 😁

Locking down my account

This is a little different to what most people are used to from Twitter. On Twitter, there is one setting: Public/Private. If you make your account private, all your tweets (past and future) become hidden, and anyone who wants to follow you has to send you a follow request. If you approve, they start following you, but no one can retweet anything you’ve posted.

On Mastodon, those two features are separate. You can keep your default posting privacy to “public” and still require people to go through follow approval.

I was reluctant to do this, but if you’ve read that I left Mastodon article you know I was having to block a lot of White Guy Avatars. They’d start following me, and then lurk while I wittered about what I ate for breakfast or whatever, until I posted something that they could reply to with unsolicited advice or overly technical software recommendations or some kind of unnecessary and unrelated FOSS-flavoured opinion.

I already had what I guess I’d call an emotional and practical system for dealing with people I don’t really want to talk to, since I’ve been on Twitter for years. 95% of the people who replied to my stuff on Twitter were generally positive, well-meaning and harmless, so I’d just reply in some kind of positive yet non-committal way and it was fine, I barely blocked anyone.

Mastodon is so much worse. I don’t know how to describe it? It’s elitist and repulsive. It makes me feel disgusting, and until I developed all of these coping mechanisms it seriously eroded my mental health. And there was a pattern, you know? They often have a White Guy Avatar. If you look at their bio they probably list which programming languages they speak, or say that they’re developing a game, or list a FOSS project they started, or list their contact details for ultra-secure and unusable-to-me instant messaging apps.

But blocking them didn’t work! It was like the hydra!

So, feeling glum, I switched my account to the type where you have to approve followers. I kept my default post privacy on “public”. I wasn’t looking forward to having to approve people, it felt a bit ~exclusive~ and a lot of the Reply Guys don’t even follow me, but at this point I was willing to try anything.

My system was:

  1. If they’re a man and they talk about coding in their bio or in the top 5 posts on their profile, I reject.
  2. If they say they’re an admin of any kind, I probably reject.
  3. Anyone else, I approve.
  4. If any follower replies to me in a mildly annoying way, I boot them off my follower list by block-unblocking.³

It was like night and day.

Within maybe two weeks, Reply Guys had all but vanished. Unsolicited advice was still coming in, but at a much slower rate. It was like I was on a different website.

I didn’t understand it at first, because before I locked my account most of the annoying replies were from people who didn’t even follow me. But now I have a theory as to why it turned out so well. If those guys don’t follow me, how are they finding me to reply to me? Their federated timelines. And how do I make it onto their federated timelines? Someone on that instance has to actually be actively following me. I learned from being on techy instances that you end up in an accidentally curated space of people like you. If one tech guy follows me, even if he’s nice, he’s unintentionally opening me up to replies from every other tech guy on their homogenous instance.

My follower number is obviously ticking up much more slowly, because people see follower moderation as a soft boundary and don’t want to impose, among other things. I’m missing out on some nice connections that’d happen more easily if people could just follow me with a click. I continue to be sad and annoyed that the mere existence of awful men means I’m missing out on making friends with lovely people. My posts naturally get less attention, too.

As an aside, one nice thing is, I do have some tech guys following me whose replies to me are only ever nice and supportive and solicited and good. Some of them are still here from before I locked my account, some sent me a follow request and something in their profile made me give them a chance, and they’ve just never been crap, so I’ve never had to kick them off my follower list. I don’t want to completely cut myself off from the coding community, so I love that I still have these connections to the good people, and I mostly get nice responses these days when I post about Mastodon development or FOSS culture or similar.

Using a crossposter

Gargron has never kept it a secret that he wants Mastodon and the fediverse generally to full-on literally replace Twitter.


He deliberately made something that looks like Tweetdeck so that people coming over from Twitter might feel a bit more at home. New features are carefully balanced between “Twitter-ish, so people come over here” and “not like Twitter, because everyone here thinks Twitter is evil”. When Twitter messes up and thousands of people move to Mastodon from Twitter he openly gets a kick out of it and is motivated by it, which seems perfectly acceptable and I’d probably be the same.

But… a lot of us still have friends and family on Twitter. Most people don’t want to leave their established community and support network for something like some distant CEO being a nazi or sex workers they’ve never met getting banned. Which means that Mastodon just isn’t a Twitter replacement! It’s an addition to the internet. Another nice social network to play with online and connect to other humans is a good thing. (I made a little 3-day poll on Mastodon to ask if folks still use Twitter, here.)

So, I want to post on both Mastodon and Twitter, and I don’t want to be a different person on two functionally identical websites for no reason, and some of the features and functions on Twitter are just better (like the image description UI, and the ability to write a whole thread before you post anything), and they outweigh the features on Mastodon that are better but not really essential (like choosing a focal point on images you post). When you add to that the character limit being lower on Twitter, which makes long Mastodon posts get awkwardly shortened on the way over to Twitter, with a “click here to read the whole post”…

I want to automatically crosspost from Twitter to Mastodon, not the other way around. It’s more practical in a lot of ways. But this is frowned upon on Mastodon, and even Gargron has been pretty outspoken against it.

You’re only allowed to use Mastodon if you’re committed! Source.

He sees it as advertising Twitter on Mastodon. Crossposting from Mastodon to Twitter is fine in his book, of course, even though it’s ugly and makes the experiences of people you care about on Twitter much worse compared to crossposting in the other direction. Not unexpectedly, he doesn’t care about the user experiences of people who don’t use Mastodon. It’s kind of understandable, but it’s deeply antisocial and makes the internet overall a more unpleasant place to be.

Anyway. When you tweet and you @mention someone on Twitter, the crosspost on Mastodon translates their Twitter username into traditional fediverse style, but with the instance included longform: It looks untidy⁴ (since usernames from legitimate fediverse instances get automatically shortened in Mastodon posts and isn’t a legitimate fediverse instance), but it also reminds the die-hard Twitter replacement advocates that Twitter exists and that’s bad.

This is an example of the kind of crossposts people think are ugly. (In their defence, this is very ugly.)

Sometimes there’s this weird vibe where everything is about Twitter, how to leave Twitter, why people should shun Twitter, why Twitter is the worst and is probably going to fail anyway, how to replicate Twitter just enough that people on Twitter would feel comfortable moving, that @jack is Evil, and so on — but if anyone implies that Twitter and Mastodon could happily co-exist on the internet and that people who use Twitter are not actually objectively wrong to do so, things can get weirdly hostile. Euphemisms like “birdsite” and “hellbird” arose in part so that people can talk about Twitter without anyone mistaking them for someone who is okay with Twitter existing. In the early days if I mentioned Twitter at all, even in a negative light, I would get people replying to me with unrelated and vicious anti-Twitter vitriol. That should say a little about the cultural context from which the following has grown.⁵

You can use a crossposter as long as no one can tell, but if or “RT” make it into the public timelines in any significant number then people start bitching about how crossposters are polluting the fediverse. Occasionally someone posts an issue to the Github list asking for the option to not see crossposters, which isn’t really possible in a FOSS system with a freely available API.

This whole issue is a perfect example of confirmation bias, probably with some negativity bias thrown in. Most of the time you can’t tell that someone is using a crossposter, because you have to expand a post and know what to look for…


… which means that people only notice crossposts when they’re obvious, and they’re obvious because they’re ugly, which means people think all crossposts are bad. They never see the good crossposts as crossposts, so it’s like they don’t exist.

Some earnest and well-intentioned people were advised to set up their crossposters such that anything crossposted from Twitter is under a content warning…


… which reduces engagement, which leads to more ghost accounts automatically dropping ~content~ into the fediverse without any real, responsive human presence. You know, that thing crosspost-haters hate.

The fact is, if crossposters didn’t exist I would have to copy and paste over my tweets, including image descriptions, and that would be exhausting and tedious and filled with human error. I’d post less on Mastodon, especially if there was an image, because the Mastodon image description UI is awful. If I automatically CW my crossposts it would make untriggering posts (i.e., most of my posts) much harder to read, reducing engagement, making me less likely to check Mastodon to see if anyone has replied…

Anyway, I use this crossposter and it’s good.

Why do this much work just to exist in a space?

I first learned about the fediverse during a GNU Social influx, maybe a year or two before Mastodon really started to happen. It was a hostile place, but I loved the idea of a federated social network where anyone can host their own stuff and I wanted to give it a chance. I gave up on it for the same reasons that I later gave up on Mastodon: it wasn’t safe, and there were those toxic FOSS power dynamics at play.

Mastodon came along with a better UI, and I was hopeful.

When you’re in love with an idea and you want to help it to become something great but the project you like most is ruled with absolute control by someone like that, your only real option is to fall out of love. For something that calls itself “open” it’s clear that the power only flows one way. Contributing to a project like that takes a lot and gives very little back. I love the idea behind it and I quite like this implementation too, but the management of the project itself is toxic. As with GNU Social, I’m here to take part in an idea that I love until it’s not worth it any more.

What next?

I occasionally post bug reports on Mastodon’s Github issue list, when something annoys me enough. I don’t tend to argue for features any more. A bunch of my ideas and wants have been implemented in the past (without gratitude or acknowledgement) when I fought hard enough and they turned out well in the end, so I know my suggestions are good. If the lead developers don’t want to work for my suggestions and I drop out and that leads to the project being not-as-good, so be it.

In terms of shaping the project, I do still get messages from people who support the sentiments of I left Mastodon yesterday and who want me to join them in starting Mastodon forks with more democratic management and suchlike. I also still occasionally get messages from techdudebros who read it and feel inspired to take the time to make me feel bad about myself. I mostly try not to engage with the positive or the negative, which is why I haven’t written about Mastodon here despite being back for a few months. Projects like this want to take all my energy without giving anything back, so I’m staying cautious and not getting involved with anything until it’s clear that a project is well-established and well-managed and is willing to work for me too.

I can’t code and I’ll never be able to code. I don’t have the energy to spare or the expertise to help get a crowdsourced project like Fork Together off the ground. As far as I can tell, I just have to accept that I’m another number in another machine run by another privileged tech guy.

  1. His compromise was to make it impossible to boost someone you’ve blocked, which… shouldn’t have been possible in the first place.
  2. I think when you block someone the two of you should be totally invisible to each other, like you’re not even on the same social network. Yes, obviously you can still view their whole profile in a tab if you have their exact profile URL, but that’s true anywhere. “Oh this feature doesn’t work in 100% of all situations possible. Guess I’ll just… not make it.”
  3. They could still see my profile and posts, but they’d have to go through the approval process again if they wanted to keep following me. I’ll bet most of those people didn’t even notice they’d been kicked off my follower list.
  4. A few modified instances do shorten into links that open Twitter profiles, which looks very smart. Someone coded that feature for vanilla Mastodon, but the pull request was closed by Gargron without being merged. Even though people are crossposting and mentioning Twitter accounts on Mastodon anyway and it looks ugly, apparently making it tidier somehow encourages people on Twitter to set up crossposters and then ignore them. We don’t want to give people the impression that they’re welcome to use Mastodon in addition to Twitter, heaven forbid.
  5. Don’t get me wrong, I fully acknowledge that Twitter have made and continue to make decisions that hurt real people, from the per-tweet moderation to the top-down design choices, and they need to work harder and make more changes to keep marginalised people safe. But to pretend that something as sprawling and relatively-internet-old and widely used as Twitter is 100% objectively bad is a bit implausible to me.




Pronouns: they/them. Feel free to point out my spelling etc. errors so I can fix them!