How Does Mastodon Work?
I’ve mentioned Mastodon on a number of occasions on this blog. It is the only social media platform that I use, but for a new user it can be fairly confusing, as it doesn’t work like other social media sites.
A new member of my Mastodon instance, Fosstodon, wrote their first post stating that they’re not really sure how it all works on Mastodon. Being the dutiful admin that I am, I pinged them back to let them know that I would find decent guide an post a link. To my surprise, I couldn’t find a decent guide anywhere, so I decided to write one.
I’m going to try and cover all of the basics of Mastodon in this post, as well as the details of how it all works. By the end of this post, you will hopefully be a Mastodon expert. So, settle in and get a coffee, as this is going to be a long one I think.
Let’s start with the basics; Mastodon basically works like Twitter, but with a few differences:
- A “Tweet” on Mastodon is called a “Toot” and you have a 500 character limit by default.
- You can set the privacy of a Toot to be public (default), unlisted, followers-only, or direct.
- You can also @mention other users, as well as add media, links and hashtags to your Toots.
You can, of course, reply to any Toot that you can see – after all what’s the point in having a social network if you can’t have a conversation.
If you come across a Toot that you like, you can Boost that Toot. This basically re-shares that Toot to your followers. However, unlike Twitter, you cannot add your own commentary to a Boosted Toot. This is by design so that a person’s Toot is only Boosted in a way that gets the message they intended across.
It’s basically a way of preventing people being trolled via Boosting. E.g. you can’t add “This Kev Quirk guy is a complete moron” to one of my Toots that you have Boosted (although many would probably like to).
You can also Favourite a Toot. Which basically means that you support or agree with a Toot. It’s the same as a Facebook like, or a Twitter heart.
All Toots have a set of icons below them that allow you reply, boost or favourite. The icons look like this:
If you read about Mastodon, you will often hear about The Fediverse, or Federation in general. This is a completely unique concept to Mastodon when compared to more mainstream social networks, like Twitter and Facebook. So many new users are likely to find this confusing. Let’s clear things up, shall we?
When you sign in to Twitter, you have a single timeline that is made up of the Tweets from people you follow. Mastodon is different, as it has three timelines – Home, Local and Federated.
Each of these timelines has a different function that I will explain later on in this post, but for now let’s look at how the Mastodon network works; the different timelines should then make more sense. Here’s a quick video that introduces the concept of Mastodon’s federation:
To explain Mastodon federation a little better, I’m going to use email as an analogy through this explanation. Hopefully this will make things easier to digest.
The Mastodon network is made up of individual servers, called Instances. If we use our email analogy; think of Mastodon as email as a whole. So if Mastodon is “email”, then an Instance would be an email provider. For example, Gmail, Fastmail, or Office 365. They’re all completely different servers that are run by completely different companies or people, but Gmail, Fastmail and Office 365 can all send email to one another.
Mastodon is the same. My instance, Fosstodon, is run my myself and my friend Mike. Yet we can Toot with thousands of other Mastodon servers around the world that we do not run.
If you want to Tweet someone on Twitter, you @mention them. It’s the same on Mastodon. If I want to Toot to my friend Mike, I can simply add his handle (@mike) to my Toot. But what if I want to Toot someone else on another Mastodon instance? Well, I would use @email@example.com to mention them.
For example, I follow the great Chris Were on Mastodon, but he’s on another instance called LinuxRocks.online. So if I want to mention him in a Toot, I would add @firstname.lastname@example.org to my Toot. If Chris wanted to mention me, he would add @email@example.com to his Toot.
Don’t worry about having to remember people’s handles and Instance names though, as Mastodon has an auto-complete feature that helps to populate a person’s handle/Instance once you start typing an @mention.
How Do Instances Connect?
If someone decides to start a new instance, how does the rest of the Fediverse know that they’re there and to start communicating with that them? Well, this is where the community and federation comes in.
There are thousands of Instances all over the world, and all Instances are connected by their users. So let’s go back to our email analogy. If I’m on Fastmail, I may not be aware of Gmail and all the users that are using Gmail. However, if I email someone with a Gmail email address, my Fastmail server then becomes aware of Gmail, so I then know where Gmail is and how to communicate with their servers.
It’s the same in Mastodon; Instance A may not be aware of Instance B, but if a user on Instance A follows a user on Instance B, Instance A then knows that Instance B exists and they will start communicating with one another. Furthermore, instance A may not have known that Instance C existed, but B did. So via Instance B, Instance A is now aware of Instance C too!
This process goes on and on, which causes a snowball effect of exponential growth of the Fediverse.
Ok, now we know how the Fediverse works, lets go back to our three timelines and take a look at what they do:
- The Home Timeline – This is a simple one. It’s basically the same as your Twitter timeline – it’s the Toots from all the people you follow from across the Fediverse.
- The Local Timeline – This is all of the Toots from your Instance only. So whether you follow someone or not, you will see all of the activity that’s going on within your Instance. This is a great way of finding new people to follow locally.
- The Federated Timeline – This is a timeline of all Toots from all Instances across the Fediverse. Again, this is a great way of finding new people to follow as it literally contains Toots from thousands of people, but be warned – the Federated timeline can contain posts that some users may find offensive.
If you do find something you don’t want to see in Mastodon, there are a number of ways to moderate what you see. You can even report Toots to the staff of an Instance; they can then review the report and take appropriate action.
You can see all moderation options using the three dots icon below any Toot. Within the menu, you have a number of moderation options:
- Mute – This will stop you seeing any of the Toots from that particular account.
- Block – This will prevent that account from being able to interact with you. It will also Mute their Toots.
- Report – This will send a report to the staff of an Instance. They should then review the report and take appropriate action. This can be no action, a warning to the user, or banning them from the Instance.
Don’t worry Alex, I’m not going to block you! 🙂
So you now know the basics of how Mastodon works, and how to use it. But why would you want to use it over something like Twitter or Facebook, and why do I use it? Here are some of the reasons why…
It’s Open Source
It’s open source so what, right? Well, no actually. Open source means that anyone can see the code that makes up Mastodon. You can’t do this on many other social networks, so you have no idea what the site is doing in the background.
Of course, many of Mastodon’s users aren’t software developers so they won’t know what Mastodon’s source code does (myself included), but there are hundreds, or even thousands of developers out there that have seen the code for Mastodon. If it was doing anything nefarious, trust me, we would know.
Being open source gives us the reassurance that our data is not being harvested, or that we’re not being spied on. Plus, if the main developer of Mastodon, Gargron, decides to hang up his keyboard, someone else can take his place and fork the project’s source code.
This may seem like a small thing, but for me it’s one of the most important features of Mastodon. You see, Facebook and Twitter have “clever” algorithms that are designed to change the content’s order on every refresh. This is designed to give the perception of new content and keep you on the site longer.
That isn’t the case with Mastodon. On Mastodon all three of the timelines are always chronologically displayed. So you can easily see what people have Tooted from when you were last online. This means it isn’t specifically designed to take over your life (although it does, because it’s awesome!) It just allows you to see what has been going on since you were last online, then go about the rest of your day.
No Adverts Or Tracking
That’s right, NO ADVERTS! No sponsored posts, no “we think you might like this” and no tracking! Mastodon is designed to bring people together, not make money. It’s that simple.
Having said that, most Instances do have Patreon pages, as running a Mastodon instance can get expensive. So if you use Mastodon, and enjoy it, I would urge you to contribute whatever you can to your Instance of choice. In my experience, the money is often used to improve the project.
On Fosstodon, we use any donations over and above our ongoing fees to make donations to various open source projects. Which projects we donate to is decided by those who donate.
No Single Owner
Because Mastodon uses a collection of Instances, you’re not at the beck and call of one site owner. If you don’t like the direction an Instance is taking, you can pack your virtual bags and go. Mastodon even has an import/export tool that allows you to migrate the people you follow from one account/instance to another.
Interest Specific, But Not Really
The beauty of having different Instances is that many of them are underpinned specific to one interest. For example my instance, Fosstodon, is specific to Free and Open Source Software (FOSS), hence the name. However, we encourage the users of Fosstodon to talk about all sorts of interesting things, not just open source software.
So although all the members of our Instance have a common interest (FOSS), there are lots of topics that get discussed regularly. There are also many generalist Instances that you can join if you wish. These are more like Twitter in that they don’t have a specific interest underpinning them.
Remember, you can also follow people who have different interests on other Instances, so your home feed can be extremely diverse – I know mine is!
Finding An Instance
There are thousands of Mastodon Instances across the Fediverse, so how do you find the right one? Well, finding the right one is very difficult, so here are some recommendations:
- Fosstodon– Selfish plug. Linux/FOSS focused Instance.
- Linux Rocks – Another great Linux/FOSS focused Instance.
- Floss Social – A third Linux/FOSS Instance (is it obvious what I’m interested in?)
- Mastodon Social – The original Mastodon Instance. It’s a general instance that is run by Mastodon’s creator.
- Mastodon Technology – A generalist Instance for anyone interested in technology.
If none of the instances above work for you, you can take a look at Instances.Social which is basically a search engine for Mastodon Instances. However, I’ve always found the site awkward to use as it doesn’t have many filtering options.
There are a number of mobile apps available for Mastodon. I have tried many of them for both Android and Apple iOS. My recommendations for the best Mastodon apps would be Tusky for Android and Tootdon for iOS.
However, if you want to check out all the other apps that are available, including desktop apps, take a look here.
Mastodon is awesome. It’s full of friendly, interesting people. There are very few trolls that I have come across, no tracking and no adverts. It’s just a great place to be.
Hopefully this guide will help get you started with Mastodon, but if you have any other questions that this guide doesn’t cover, feel free to leave a comment below and I’ll do my best to answer.
Finally, if you’re already on Mastodon and want to follow me, you can do so here.