A Gentle Introduction to Mastodon and the Fediverse

November 17, 2022
A herd of elephants, as generated by Stable Diffusion

Have you heard of Mastodon? No, not the band. The social network that’s been growing by leaps and bounds lately! If you’ve heard the name, but aren’t sure what its deal is, then this post is for you.

The Big Idea

Scott Hanselman's Mastodon page
Scott Hanselman’s Mastodon page on mastodon.social

Mastodon is a federated social network. What does that mean? Put simply, it’s a community of communities. Mastodon, unlike Twitter and Facebook, is not centralized. It doesn’t have a single location to which everyone goes to socialize. Instead, it’s got lots of large and small instances (or servers), which make up communities. People in these communities can then interact among themselves and with people in other communities on the Internet.

The ability for instances to communicate and cooperate with each other is federation. That’s what allows a person on one server to talk to a person on another server.

Mastodon’s big focus is microblogging, similar to Twitter. People write posts about topics they care about, upload images with their posts if they want, and use hashtags to increase reach. But unlike Twitter, Mastodon doesn’t reward you for posting provocative content in order to get attention and increase interactions. It has no secret algorithms for surfacing popular posts above others. In fact, it has no secrets at all: it’s free and open source!

Important Differentiators

The most visible differentiator for Mastodon is the communities. Since there is no primary or central instance, it might not be obvious how to join Mastodon. The first step is to pick a community.

Islands on water, video game style
Federated communities as imagined by the author and rendered by Stable Diffusion

General vs. Specific Communities

Many general purpose communities exist, and they’re great if you want to experience a wide variety of topics, personalities, and content around you. mastodon.social is one such example, this one being prominent because it’s run by the maintainer of the Mastodon codebase. Other general purpose instances include mastodon.world, mas.to, and mstdn.social. But the really fun part of Mastodon is the communities that have formed around a topic or industry. For example, if you are in the information security world, then the infosec.exchange instance just might be for you. If you are passionate about open source software, then maybe fosstodon.org would pique your interest. If you love the programming language Ruby, you’ll feel right at home on ruby.social. A few communities blur the line, like universeodon.com, which very generally encourages scientific thought. Some communities even have modified versions of the Mastodon software: mathstodon.xyz, for example, renders LaTeX in people’s posts.

Rules and Regulations

Because each community has its own values, another important differentiator is varying rules among instances. While most will have the basic “don’t be a jerk”-type rules in place, some instances have more specific rules. Often, the rules are dictated by where in the world the instance is hosted. The aforementioned mastodon.social, as an example, prohibits content that is illegal in Germany, because that’s where it’s physically located.

To aid in conforming to etiquette rules, Mastodon supports Content Warnings (or Content Wrappers, as some call it). CWs allow you to post information that might be disturbing or triggering for people without forcing that content on everyone who comes across your post. A CW has a brief (think, a few words) description of the potentially sensitive content, while the content itself is hidden behind a “Show More” button. Instances have varying requirements around the usage of CWs, most often mandating all Not Safe For Work (NSFW) posts to be behind a CW. Some people also like using CWs for innocuous purposes, such as keeping a conversation thread compact for people who are scrolling by.

Two screenshots of mastodon.social - one with "Introspection, Emotions" next to a "Show More" button, the other with "Introspection, Emotions" next to a "Show Less" button and more text underneath
A Mastodon post with a CW and the same post with the CW expanded

Exploration and Migration

If you’re not sure about what instance you want to join, the first thing you can do is look at the About page. It will often explain the purpose of the instance, its rules, and who runs it. In most cases, you can also view the “Local Timeline” without signing up, which shows you the latest posts from people only on that instance. You do have the option to sign up on multiple instances. If you want to split your presence between different hobbies or industries, having multiple accounts on hobby- or industry-specific instances is a great way to do it. For a more holistic approach, you can sign up on a general purpose instance and interact with people who are on the more specialized instances. You can even self-host an instance by yourself!

If you decide to migrate from one instance to another, Mastodon supports transferring your following and follower lists between instances! It has built-in functionality to show that your old handle is redirecting to your new handle. Your followers’ instances will automatically pick that up and update their internal lists to point to your new handle. Unfortunately, at this time, transferring your post history is not possible.

Moderation

What happens when someone breaks the rules? Like any online community, moderators are a part of Mastodon. They have the usual moderation abilities of affecting accounts for those who repeatedly break rules. Additionally, instances can limit or block communication with entire other instances – often those that have extremely lax or unenforced rules. When many instances block a particular one, this is sometimes called defenestration defederation.

As a user, you can report people to moderators, and you can also block them yourself.

F.A.Q.

How do I get started?

First, choose an instance and sign up on it. Then, explore that instance’s local and federated timelines. If you like certain posts, you can mark them as favorites. You can also follow people, so that you see all of their posts on your own timeline.

What’s this about toots and tooting?

Mastodon’s equivalent of “tweets” has been “toots”. However, version 4 of the software has replaced the “Toot” button with a more bland “Publish” button.

What’s the character limit on posts?

The default limit on Mastodon is 500 characters. However, some instances have opted to increase that. All instances are able to view larger posts, but only the modified ones allow you to write longer posts.

Can people get “verified” on Mastodon?

Not in the way that Twitter does it. You can have the same “verified” emoji, but it won’t mean anything. Instead, you can include your own website(s) in your profile metadata, and if the websites link back to your account, then Mastodon will show a green checkmark for those websites.

Is there an equivalent of “retweeting” or sharing someone’s post on my timeline?

Yes, it’s called “boosting” a post.

Can I edit my posts?

Yes! When you edit posts, a post history will be available and show earlier versions of your posts. In addition, people who have previously boosted your post may be notified of your edits.

How do direct messages work?

On Mastodon, post privacy is a courtesy, not a security, feature. This is extremely important to understand. Instance administrators can read direct messages. Anyone mentioned in a direct message will receive that message. Such messages simply won’t show up in public timelines. (Work is in progress to implement end-to-end encrypted DMs, but this feature is not available yet.)

What if I don’t like the web interface?

You can customize it. An “advanced” mode makes the web interface look similar to TweetDeck, and you can choose light or dark themes.

Are there phone apps?

Absolutely. In addition to the web interface, Mastodon has official apps for Android and iOS. Unofficial apps also exist: for example, Tusky for Android and Metatext for iOS are popular alternatives.

What’s the tech stack?

Mastodon is a Ruby on Rails web app. It relies on PostgreSQL and Redis, optionally integrating with ElasticSearch for full-text searching inside an instance’s local timeline. The source code is right here on GitHub.

There are no ads! That’s great, but how do I support these efforts?

Some instances allow donations. You can also sponsor the Mastodon project itself – see the sponsor links on its GitHub page.

What About That Fediverse Thing?

Here is the really cool part about Mastodon. It works not just with other Mastodon instances, but also with other kinds of software. Pleroma is an Elixir-based equivalent of Mastodon. Pixelfed is an Instagram replacement. Funkwhale replaces Spotify. What’s the connection between these things? They all speak the same protocol, ActivityPub. And because of that, they can all interoperate to varying degrees. These and other ActivityPub-based projects make up the Fediverse, or federated universe, where people’s data isn’t controlled by large corporations, but by the people themselves. Come and join the fun!