Mastodon is open-source software with which you can run a social media server, capable of federating with the rest of the Fediverse via the ActivityPub protocol. The experience for an end user is a lot like Twitter, at least back in the good old days when the timeline was strictly chronological with no garbage inserted by an algorithm. I started using Mastodon in September 2017, although I didn’t start consistently using it for a couple of years after that – it took a long time for me to find accounts I actually wanted to follow on there, belonging to people I actually wanted to interact with.
When you’re getting started on Mastodon, it’s generally considered ideal not to join one of the humungous instances, but instead a moderate-sized instance with a community that really clicks with you. This is both because it’s easier to find your community as a newbie if your posts don’t get drowned out by a rapidly-moving local timeline, and because moderate-sized communities are easier to moderate. It’s healthier for the Fediverse as a whole if users spread out across a multitude of well-moderated instances, rather than concentrating on a small number of badly-moderated ones. Some instances let you preview their local timelines at
<instance-url.com>/public, to help you see if it looks like a good fit for you, but other instances set this URL to show the federated timeline, instead. To preview the local timelines of those instances, you can use the tool mastoview (but BE CAREFFUL clicking that link, because the initial page shows you a random instance, and sometimes that’ll be a porn instance…).
Mastodon offers an “account-moving” feature, which won’t transfer across all your old posts, but will transfer your followers (and accounts that you follow), and put up a notice at your old account’s location saying you can now be found at X other server. This means that if you end up deciding that a different instance would be a better fit than the one you’re currently on, you can move relatively painlessly (except if you care about your post history, which’ll remain on your old account). The closure of servers is also a regular occurrence in the Fediverse, for better or for worse, and this feature means that your followers won’t just lose touch with you so long as you have a bit of warning to migrate before the shut-down.
The Mastodon software itself is considered one of the most demanding on system resources out of all the ActivityPub microblogging platforms. There are a few reasons for this, and I’m not across all of them. One thing I have read is that media storage tends to fill up over time even if you clear the cache regularly; this is because by default Mastodon saves the avatars and (more problematically) the header images of every user the server has seen forever, even if that user account is later deleted or their entire server disappears. But Mastodon also seems greedier with CPU and RAM. If you want to run a lightweight server (e.g. something that’ll chug along quite happily on a USD$5/month VPS or a Raspberry Pi), better to choose something like GoToSocial or Pleroma /Akkoma .
Mastodon is also sometimes criticised for its approach to privacy. Some examples of the criticisms that are made:
- Mastodon basically federates out all posts, and trusts other Fediverse servers to respect the privacy settings on each post. Some servers, however, are run by malicious actors who do not respect such settings. As such, you shouldn’t trust that a limited-visibility post is 100% guaranteed to remain restricted to the people you intended it to be restricted to. Use an encrypted messaging app for truly sensitive info.
- Even assuming all the federating servers work as intended, Mastodon still doesn’t offer very finely-grained privacy settings. Basically, there’s “public”, “unlisted” (still public but doesn’t appear on local or federated timelines), “followers-only” and “direct”. People’s main issue is that people who follow you is not a very meaningful privacy group, even though you can set your profile so that people have to request to follow you and you can approve or reject them (so total randos can’t just follow and immediately get access to your followers-only posts).
- Some Twitter users have made a big deal out of the fact that if you join a Mastodon instance, the admin of that instance has the ability to read your DMs and other privacy-restricted stuff. This is even though apparently half the employees of Twitter have the same ability to go through Twitter users’ stuff, if they want. Again, it bears repeating: nothing that is genuinely sensitive belongs on social media, not even in your DMs. Do not store passwords or bank details there. Also, admins have to have the ability to read DMs if they’re expected to take action on harassment occurring in people’s DMs.
Some other Fediverse projects try to address the above issues (or at least the first two, given that the third is basically a beat-up). For example, the Mastodon forks Hometown and Glitch-soc add local-only posting as an additional privacy setting, which means those posts don’t federate out and can’t be compromised by malicious servers (I believe). GoToSocial adds “mutuals-only” as an additional privacy setting, and also adds extra toggles to individual posts so you can choose whether people are allowed to like, boost, or reply to them. Bonfire adds “circles” and “boundaries” for really fine-grained permissions-setting.
Mastodon is also sometimes criticised for its non-standard implementation of the ActivityPub spec (e.g. using the “summary” field as a “content warning” field, I believe), and its absolute dominance of the Fediverse meaning that other projects come under pressure to deviate from the spec in order to match what Mastodon does. Mastodon’s creator, Eugen Gargron, also has some strong opinions that aren’t necessarily agreed with by everyone else (e.g. he doesn’t like local-only posting because he thinks everyone on every server should be able to have the exact same experience, and he omitted the local timeline view from the official app for the same reason). The gigantic “flagship” instance he runs, mastodon.social, is “silenced” by many other instances because it’s under-moderated for its size too.