An Incomplete Introduction to Mastodon


Mastodon has been getting a lot of attention of late, as Twitter undergoes changes. Mastodon has been around for a while now, doing its own thing, so it has a pretty well-established history and looks well suited to stick around. Some of the language around Mastodon was originally a little tongue-in-cheek (toots, instead of tweets), and may rub you the wrong way. Not much we can do about that.

Mastodon is a lot like Twitter, and a lot like email. There will be easy comparisons to both, but Mastodon is its own thing, and that means some analogies or comparisons will not be appropriate.

The official Mastodon docs are really good, and I suggest you read them.

First, you need an account. You’ll create an account on a Mastodon instance. There are lots of Mastodon instances, run by groups and individuals. You can set up your own instance if you want. When you sign up, you get an account. That account becomes your identity. Just like email or Twitter: when you sign up you get an identity which other people can use to communicate with you.

It doesn’t really matter which instance you choose when you sign up. Just like email, no one really cares if you’re using or or Anyone can still send you email.

What is important about choosing an instance is knowing that it’s being run by someone else. It may be one person, or it may be a group. The person or people running it may get bored, they may all get struck by lightning, or some other thing may occur that prevents them from keeping the instance up and running. If your instance goes away, so does your identity. You’d have to make a new account on a new Mastodon instance, and get all of your friends and followers to start paying attention to your new identity. So it’s not really imoprtant which instance you select from a usability perspective, but there may be reasons to select an instance that you have some confidence in over time.

Once you’ve got your account and log in, you see … nothing! Your timelime is empty. You have no followers. No one is following you. Again, just like email: Google doesn’t suggest that you send emails to people when you create an account. You’ll need to find people. And they’ll need to find you. There are no algorithms or suggestions here.

Each instance of Mastodon has a “local timeline” which shows all the messages from users on that specific instance. Some instances may be focused around a topic, a hobby, a lifestyle, or a geographic location. If you signed up on an instance with a focus on anchovies, for example, the local timeline might be full of anchovie recipes, pictures, and the like. If anchovies are your thing, the local timeline is a great way to get content of interest to you, and to find people you might like to follow.

Topic-specific Mastodon instances are a great concept. It can help you find stuff in which you’re interested a little faster. But as with your identity selection, choosing a Mastodon instance based on a topic isn’t the only way to get content about that topic. Don’t feel compelled to join the anchovie instance and only ever talk about anchovies. People are complicated and dynamic, with a lot of different interests. Your Mastodon instance selection should not lock you into one thing.

(Sidebar: do read the rules of the instance you join! Each instance is unique and run by someone different. There may in fact be rules to participate on an instance. Be aware. Be informed.)

If you do start following poeple from your instance, their content will begin to show up on your home timeline. Anything you post will not show up on anyone else’s timeline, unless they follow you. Stuff you post will show up on your instance’s local timeline.

Most instances will also show a “federated timelime”, which is basically the firehose of all local users, plus the content they’re following from other instances. Again, no algorithms or automated rankings are in play: posts are coming in one after another, as written by their various authors. You could use the federated timelime to find more people to follow, but my guess is that this is not the best way to proceed. You might find some gems, but you’re more likely to see a lot of mundane conversations about things irrelevant to you.

Finally, your Mastodon instance should allow you to search. You can search for specific users on other instances using their name (@username@instance.domain) or their fully-qualified URL ( You can also search for hashtags. Using hashtags is really important for federated conversations.

The search function is directly influenced by who you follow. Most instances only search locally. Since any Mastodon instance can pop up anywhere at any time, there’s no feasible way to search the entire fediverse’s collection of posts. When you search, your instance will look at the set of posts it knows about, which will be the people you follow, and the people other users of your instance follow. For this reason, signing up on a more active or more populous instance might yield a very different search result than what you’d get from a Mastodon instance with only 5 people.

There are some efforts underway to improve discovery and search, but this is very hard problem to solve in a distributed system.

There are a lot of other nuances about Mastodon, like post visibility, content warnings, content moderation, user and instance blocking, and much more. Those are sufficiently important topics on their own that they merit specific discussion outside the scope of this little intro. Similarly, Mastodon is just one popular implementation of the ActivityPub protocol - there are many other systems participating in the fediverse using ActivityPub!

It can take awhile to acclimate to the differences of Mastodon versus Twitter. It’s not a perfect replacement, but neither is it trying to be. It’s a very different way of thinking about communicating with the world than the company-driven offerings of Twitter.

Jump in, give it a shot, and don’t give up! Toot me at!

home / about / archive / RSS