A Beginner's Guide to Mastodon
Getting started with the decentralized social network
This post was originally published as a GitHub Gist
Hello! You’ve probably arrived here because a friend of yours is trying to convince you to use Mastodon. Well, fear not. If you wish to proceed, I will make this as easy for you as possible.
Concepts
Mastodon is basically a Twitter clone at its core. But the technology it sits on is very interesting. Mastodon is built on a protocol called “ActivityPub,” which was created by the same standards body which created the web as we know it (HTTP, HTML, CSS, etc.).
ActivityPub is decentralized and federated, meaning anyone can run their own server and anyone can see what’s on someone else’s server. Think of it kind of like email: if you have a Gmail account, you can send emails to someone with a Yahoo account and receive emails from someone with an Outlook account. Each of these companies (Google, Yahoo, and Microsoft, respectively) runs their own email server and they interoperate with each other. ActivityPub is like that, but for Twitter. Anyone can run their own Twitter (or Mastodon) server and see tweets (or posts — or… toots 🤦🏻) from anyone else’s Twitter (e.g. Mastodon) server.
However, using Mastodon doesn’t mean you have to set up your own server (though you can if you want! Maybe I will actually write an Advanced User’s Guide…). A lot of people have already set up servers and you can create an account on their server.
Signing Up
You can browse a list of popular Mastodon servers here where you can find servers specific to many different focuses like design, art, and queer culture. One of the most enticing aspects of Mastodon is that you can find a community that shares your interests through one of these servers hosted by members of that community. However, if you’re just looking for a server to get started with, consider one of these general purpose servers:
mstdn.social
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.
Create accountI also recommend contributing some to the server you choose if you end up using it a lot, since they don’t show ads and don’t have any other way of making money:
Finding People to Follow
You used to be able to find people to follow on Mastodon used to be to use tools that would scrape your Twitter followers to see which of them were on Mastodon and give you links to follow them there, but ever since King Dipshit unceremoniously and without notice shutdown Twitter API access, such tools aren’t woking anymore.
In lieu of that, you can browse the “Federated” and “Local” feeds of your instance and find interesting people to follow. The “Local” feed is a firehose feed of all the posts from everyone with an account on your instance. The “Federated” feed is a firehose feed of all the posts from everyone that anyone on your instance follows or is followed by.
Once you are following some people on Mastodon, you can use tools like Followgraph to analyze all of the people you follow and see people they mutually follow to find new people you might like following.
Apps
You can continue to use the official website from your server and/or the official mobile app, but because of it’s open and interoperable nature, there are many other interesting experiences available to you via 3rd party apps. I recommend trying out some of these alternate clients:
Web
While each Mastodon server has it’s own website through which you can access it, there are only two alternative web clients I’m aware of and they’re both pretty great:
Elk
Elk is well designed, well engineered, and the user experience feels a lot like Twitter, with inline threaded replies and a similar layout. It works as a progressive web app (you can install it on your computer or phone) and gets regular updates which you can accept or dismiss right within the app.
iPhone
There are a lot of good choices for iPhone and iPad Mastodon clients, but the standouts to me are:
Ivory from Tapbots
An extremely solid app from the developers of the Twitter client Tweetbot. The scrolling is smoother than any other client I’ve tried. The in-app icons are fun and stylized. And there are enough features there now to make it more useful than Tweetbot was for Twitter, with even more planned in their public roadmap.
Mammoth
Originally started as an app from developer Shihab Mehboob, Mammoth has taken quite a pivot over the last year in terms of both ownership and visual design. Its new design language is optimized for reading and it has a very easy onboarding that will even let you create a Mastodon account on their moth.social server while setting up the app, making everything feel more integrated.
Android
Unfortunately, the state of 3rd party Mastodon clients on Android looks rather bleak, but it seems the best client right now is either the official client or Tusky, which are both free. If you’re using Mastodon on Android, you might also consider installing the Elk or Phanpy PWA on your device, since Android has pretty good support for progressive web apps. I’m open to other suggestions to try for Android.
Link Sharing
If you share a Mastodon link on iMessage and most other messaging platforms, it will show up with a rich preview like a Twitter link by default now!
Instagram Threads
In July of 2023, Instagram launched a new social media platform called Threads. Threads was clearly another Twitter clone at its core as well. But Instagram is doing something interesting with Threads: they’re planning to connect it to the Fediverse and allow people with Mastodon accounts interact with people with Threads accounts. This includes following, replying, reposting, and — crucially — follower portability.
This all means that eventually, you’ll be able to follow and interact with your friends on Threads from a Mastodon server that is not owned by Meta. If you’re not a fan of the company formerly known as Facebook, this is a great option to have a non-Meta social media account without being cut off from the wider array of people who don’t think about who operates the social media accounts they use or don’t have the ability to switch away.