How To Filter Out Odious Discussions and Bad Discourse on Mastodon
It's not a perfect solution, but it's helpful.
Originally published on The Nexus of Privacy.
Twitter’s odious new racist, anti-trans management is once again doing odious things. When I first wrote this article they were reinstating the accounts of odious people who have committed “minor” offensive like anti-trans hate speech, organizing harassment campaigns, and attempting to stage coups. Right before I revised this … oh never mind the details, you’re probably as sick of hearing about Elmo as I am. As usual, lots of people are talking about it, which means that timelines on social media are filled with discussions of odious people. Of course I’m not trying to stop anybody from talking about odious people but I really wish I didn’t have to hear so much of it.
The good news is that on Mastodon you can use “filters” to reduce how much of this discussion you see on your timelines by telling the software not to show you any posts that include specific keywords. It’s similar to Twitter’s “muted words”, although better in several ways.
Just to set expectations, this doesn’t work perfectly – I’ll discuss some of the limitations at the end of the article. Still, I personally find it’s really worth doing.
If you want to give it a try, here’s how.
Adding a new filter
If you’re using the web interface on a phone, you can get to Mastodon’s filters by selecting the little gear icon âš™ on the bottom right, then the menu at the top right, and then Filters. If you’re using the web interface on a computer, clicking on Preferences (on the right-hand side of the screen) and then Filters.
Once you’re there, click on the Add new filter button. Here’s a screenshot of the current version, filled out to filter any posts mentioning Elmo.
- You can have multiple filters, so choose a Title that you’ll remember.
- Expires after lets you put in temporary filters – for as short as 30 minutes or up to a week – but I never want to hear about this hypothetical Elmo ever again so went with Never
- Filter contexts specifies where the filter applies. I checked everything but profiles but you can apply it more narrowly.
- Filter action is what happens if the filter matches a post. Hide with a warning works well when you’re testing it out; any of the filter matches displayed as a warning message like the one at the beginning of this article; you can then click on if you want to see the post – kind of like a content warning but it looks different). Once I’m confident it’s working, I’ll change it to Hide completely.
- The filter applies to posts that have any of the keywords in the text, CW (content warning), or media description (alt-text) for any images or videos included in the post. If you check “whole word,†the filter only applies if the keyword is surrounded by spaces or other non-alphanumeric characters. Otherwise, it applies to any post with the included characters, regardless of whether they are in the middle of a word.
- You can add additional keywords as well. For this filter, I went on to add “Apartheid Clyde”, his first and last names, and variants with vowels replaced by an asterisk (a commonly-used technique on Twitter).
- Once you’re done, click the blue Save new filter button at the bottom.
Once I added some additonal keywords and clicked save, here’s what my filters page looks like
You can add as many other filters as well; I added one called “disgraced former” and you can probably guess what I put in it.
You can edit and delete filters too
If you don’t get it quite right, or decide you want to add another keyword, no worries: you can click on Edit filter to refine it – or delete it and start again.
There isn’t a cancel button on the Add new filter or Edit filter pages, so if you change your mind partway through, just use the browser’s Back button.
Limitations – and an opportunity for innovation
Like I said at the beginning of the post, this doesn’t work perfectly.
- It’s very easy to filter out more than you really want. My “Elmo” filter will also filter out other Elmos. If I hadn’t checked the “Whole word” box for the “Elmo” keyword, I would have also filtered out any mentions of Emore James, Elmore Leonard, and any other Elmores as well.
- No matter how many keywords you add, you’re likely to miss posts that use unusual nicknames, have typos, or don’t even refer to the person by name.
- Unlike Twitter, Mastodon check’s the alt-text associated with images. That’s good! But unfortunately people often don’t provide it. Not including alt-text is bad from an accessibility perspective too – so when you post images on either of these platforms, please consider taking the time to include alt-text. Of course, there are a lot of reasons it can be challenging for people to provide alt-text, so please don’t give people a hard time if they’re not. I’ve seen several blind people on Mastodon talking about how irritating it is when sighted people scold them for not providing alt text … don’t be like that.
Still, despite the limitations, filters can be very useful. Over the last six months, Elmo and Disgraced former have made a big difference in my Mastodon experience!
Mastodon originally had a more powerful, but much less usable approach to filtering called “regex filters”, which required magic incantations like this to work:
[^а-ÑÐ-Яa-zA-Z0-9_](nastythings?|vilethings?)[^а-ÑÐ-Яa-zA-Z0-9_]
Keyword filters were introduced mid-2018; Cassian’s I left Mastodon yesterday and I left Mastodon 27 days ago give some of the backstory.
Mastodon’s implementation has several improvements on Twitter as well. The ability to filter on CW’s and image alt-text is very useful, and so is the option to see warnings for posts that are filtered out. Mastodon version 4.0, released in November 2022, introduced the grouping of multiple keywords into a single named filter, which is useful from a UI perspective, and it’s encouraging to see some progress on this front for the first time in several years..
Even so, there’s a lot of room for further improvement. For example, it would be great if there were a way for users to share filters with each other – even just the import/export functionality that Mastodon offers for blocklists would be helpful. And how cool would it be if instance admins or moderators could set up optional filters that users could then choose to enable with a single click?
It’ll be interesting to see if the new surge of interest in Mastodon leads to innovation in areas like this – folks on places like hci.social (a Princeton University-run server for people in and around the Human-Computer Interaction field) have a lot of expertise. As I say so often when writing about Mastodon … we shall see!
_________________________________________________
Jon Pincus is the founder of the Nexus of Privacy newsletter, author of Mastodon: a partial history, and a software engineer / entrepreneur / strategist and activist who focuses on justice, equity, diversity, inclusion, and intersectionality.
Thanks to @nanaslugdiva for suggesting filtering out the bad man, which led to “disgraced former” filter and eventually this post! And thanks as well to @maikel@fedi.maikel.dev for all the discussion and insights on the details.