Getting started with Mastodon

[2022-10-28] computers, decentralized, mastodon
(Ad, please don’t block)
  • Update 2024-11-16: Updated section on finding accounts. New section explains how to opt into full-text search.
  • Update 2024-11-07: Numerous improvements and updates. Section on Bluesky.
  • Update 2022-11-05: More information on searching, finding accounts, being found, direct messages, etc.

In this blog post, I’d like to explain how to get started with Mastodon.

The sales pitch for Mastodon  

  • Mastodon is based on an open standard, ActivityPub, that is implemented by multiple parties and supported by many apps.
  • Mastodon gGmbH is a non-profit organization with a clear and sustainable business model: They are financed by donations.
  • Mastodon will never have ads.
  • It is a little more complicated to use than centralized social networks such as X/Twitter and Facebook. However, I got used to it quickly and it’s constantly improving. For me, its upsides far outweigh its relatively small usability inconveniences.
  • For me, as a web dev person, there are now enough people that it feels a lot like the old Twitter.

Mastodon features I like  

Mastodon offers several conveniences that are improvements if you come from X/Twitter:

  • You can edit posts as often as you want – editing is not a premium feature.
  • You can temporarily mute accounts (for 1 day, 7 days, 30 days, etc.). Very useful when someone, for one day, posts a lot about a topic you are not interested in.
  • You can follow Mastodon accounts via RSS.
  • Links are not URL-shortened.
  • Versatile polls: There is always a “show results“ link and you can allow one choice or multiple choices.
  • You can pin more than one post.

Why not Bluesky?  

There is a lot to like about Bluesky – e.g. that your address stays the same even if you move servers (once they support multiple servers). I hope Mastodon will eventually get that feature, too.

However, Bluesky has one important limitation – quoting “Bluesky and enshittification” by Cory Doctorow:

Bluesky lacks the one federated feature that is absolutely necessary for me to trust it: the ability to leave Bluesky and go to another host and continue to talk to the people I’ve entered into community with there. While there are many independently maintained servers that provide services to Bluesky and its users, there is only one Bluesky server. A federation of multiple servers, each a peer to the other, has been on Bluesky’s roadmap for as long as I’ve been following it, but they haven’t (yet) delivered it.

The heart of the Bluesky team seems in the right place – judging by what they write in their blog posts. But it’s not yet clear where Bluesky will end up – especially if money gets tight and the investors pressure them to increase revenue:

  • [2024-10-24] They announced a USD 15 million investment by the venture capital company Blockchain Capital.

  • [2024-10-24] They don’t currently have a business model. This is one current plan: “[...] we will begin developing a subscription model for features like higher quality video uploads or profile customizations like colors and avatar frames.”

    • That sounds reasonable but how will that work if there is to – eventually – be a federation of servers?
  • [2024-02-06] Bluesky’s protocol is not yet truly open.

I’m genuinely curious how well Bluesky’s architecture and the “firehose” idea will work and scale for an actually distributed network, especially with regard to moderation. Mastodon’s approach of making servers the units you trust with moderation, has worked reasonably well in practice. I like that it keeps humans in the loop and that it’s clear who to turn to if you have a problem. Of course, Bluesky can partially emulate Mastodon by grouping the services Relay (crawls posts), AppView (indexes Relay) and Labeler (moderates Relay), maybe also Personal Data Server.

Mastodon vs. Bluesky vs. Threads  

The following article is a good read (as far as I’m qualified to judge it): “What’s the difference between Mastodon, Bluesky, and Threads?” by Rory Mir and Ross Schulman at the Electronic Frontier Foundation.

How is Mastodon different from centralized social networks such as X/Twitter and Facebook?  

Mastodon works more like email  

Mastodon is similar to email:

  • To join Mastodon, you need to find a server and get an account on it.

  • You can communicate with anyone, on any server, as long as you know:

    • The name of their server.
    • Their user name on that server.

    Similar to email addresses, both of these pieces of information are combined into a single ID. More on that later.

If you know RSS: Mastodon is also similar to RSS in many ways.

Mastodon feels calmer  

Mastodon was designed to be a calmer experience than X/Twitter, Facebook, etc.:

  • There is no algorithm that recommends content and encourages engagement.
    • A downside is that it can be more difficult to find interesting accounts. See below for tips.
  • By default, you only see the posts of the accounts you follow.
  • You don’t see ads, posts liked by others, etc.
  • Unless you expand a post, you don’t see how often it was liked and shared.

Other differences between Mastodon and X/Twitter  

  • Virtually all servers are funded via donations. That means:

    • Accounts are free.
    • You should consider donating to help keep your server running.
  • The etiquette is different – e.g.: It’s possible to hide the content of a post so that people have to click if they want to read it. This mechanism is used for topics such as politics and spoilers and called a content warning because you initially only see the warning label (“politics”, “spoiler”, etc.).

  • Each server has different rules – e.g.: Some servers only allow posts in English to help them with moderation.

  • Mastodon is based on open protocols (ActivityPub and others), which means that it’s easier to implement apps and services that are compatible with it.

    • In contrast, X/Twitter’s API is mostly closed and mainly used by paying customers now.

In the past, the biggest downside of Mastodon for me was that none of the people I know used it. That has changed and it’s not lonely there anymore (w.r.t. tech people).

Preparing for Mastodon  

What app should I use?  

I’m happy with the web app and have installed it natively via Chrome (it’s a Progressive Web App).

Native apps are listed on the Mastodon website

How do do I find a server that works for me?  

Tip: To get started, you can pick any server:

  • It’s easy to move to a “better” server later: You can take followers and followees with you – but not posts (details).
  • You can follow anyone from anywhere. You server never limits you in that regard (unless you are on a banned/defederated server, but those are not part of the official list).

More information on choosing a server:

  • The Mastodon website has a list of servers that you can browse.

  • To find out what a server is like, visit it with a web browser. What exactly you see depends on the Mastodon version, but the following two paths should work:

    • /about lets you create an account or sign in.
      • It either contains the server’s rules or has a link to them. I recommend reading those: For example, some servers forbid posts in languages other than English so that they can moderate properly.
      • It should show you how many people administer the server. More administrators make servers more robust w.r.t. administrators quitting, etc.
    • /explore shows what people post on that server.
  • Don’t automatically go with the big servers (mastodon.social, mastodon.online, etc.) – take some time to find a server that works for you:

    • Popular servers can get overloaded at times (whenever there’s a new influx of users and until they had time to upgrade).
    • Having more points of failure helps with the robustness of the whole network.
  • Some servers say “get on waitlist”. However:

    • Quoting Fedi.Tips: “A lot of these servers don’t have a waitlist at all and will accept you pretty quickly, within a few hours in some cases. It’s just the server admin is screening out spammers by switching on the ‘why do you want to join?’ form because spambots find this form harder to cope with.”

Further reading: “Knowing your server” on the Mastodon website.

Does it matter which server I pick?  

  • The content you see in your home timeline is exclusively determined by the accounts you follow. And following works transparently across servers. Therefore, it doesn’t really matter which server you are on.
  • If you need to, it’s easy to move (see next question).
  • The server determines how content is moderated – which does make a difference.
  • The server also affects what you see in the live feeds – but I rarely if ever look at those.

How do I move to a different server?  

Moving an account to a different server is relatively easy:

  • The accounts that follow you, can automatically be pointed to the new location.
  • People you follow can be exported and imported.
  • ‼️ There is only one caveat: Your posts can be exported but not imported.

More information: “Moving or leaving accounts” on the Mastodon website.

Mastodon terminology  

  • Instance: a Mastodon server.
  • Boosting: sharing a post in your timeline, retweeting.
  • Fediverse: roughly – all services that are compatible with Mastodon. Longer explanation.

Terminology that is still used but becoming less popular:

  • Toot: a post, a tweet.
  • Tooting: posting, tweeting.

First steps on Mastodon  

How do Mastodon IDs work?  

Each Mastodon ID has two parts (similarly to email addresses):

  • The server
  • The user

There are two common ways to refer to accounts:

  • Mastodon addresses look like @«user»@«server» and are mostly used in Mastodon posts.
    • Example: @rauschma@fosstodon.org
    • When you see a mention in a post, the server part is often omitted, but you need both parts to fully identify an account.
  • Profile URLs look like https://«server»/@«user and are useful for exchanging IDs (see next entry).
    • Example: https://fosstodon.org/@rauschma

How does content moderation work?  

  • Each server is responsible for moderating:
    • There is no central banning.
    • Servers can ban any of their users.
    • Servers also often ban problematic other servers.
  • Users can:
    • Block or mute other users (anywhere).
    • Block servers.
    • Report posts to admins (via the “three dot” menu of a post).

More information: “Dealing with unwanted content” on the Mastodon website.

Feeds: “home”, “explore”, “live feeds”  

Most important:

  • 🏠 The home feed consists of posts created or shared by the accounts you follow.

There are more feeds, but I rarely visit those:

  • 🌎 “Live feeds” contain posts that the current server knows about: posts & bosts of local accounts and posts & boosts of the accounts they follow.

    • “This server”: only posts of local accounts
    • “Other servers”: only posts of external accounts
    • “All”: all posts
  • 🧭 “Explore” provides tools for navigating the “All” live feed (see previous item).

More information on live feeds.

Managing accounts  

How do I follow someone if I have their Mastodon ID?  

  • If you have the ID of an account on any server (either a URL or an @ address), you can use Mastodon’s search to show its profile on the current server and follow it.

Muting accounts, boosts and replies  

Via the settings in your home timeline (the icon in the top right corner with the sliders), you can:

  • Toggle if any boosts should be shown.
  • Toogle if any replies should be shown.

Each profile has a context menu (an icon with three vertical dots) where you can:

  • Mute the account
    • You have the option to mute an account forever or for a limited time – e.g., for one day.
  • Hide the boosts of the account (you’ll still see the posts they write themselves)
  • Block the account:
    • Effect for you:
      • You won’t see the account in your home feed.
      • You won’t see other people boosting the account.
      • You won’t see other people mentioning the account.
      • You won’t see the account in public timelines.
      • You won’t see notifications from that account.
    • Effect for the blocked account:
      • The account is forced to unfollow you.
      • The account cannot follow you.
      • The account won’t see other people’s boosts of you.
      • The account won’t see you in public timelines.

More information on dealing with unwanted content.

Finding interesting accounts  

  • Mastodon does not have a built-in global algorithm (like X/Twitter and Bluesky). Therefore, it can initially feel a bit lonely.
  • Solution: Invest some time, search for interesting accounts and follow them. You can overdo the following and later (as needed):

Read on for tips for finding interesting accounts.

Where do I find accounts to follow?  

  • I recommend finding an admin account for your server and following it.
  • You can find accounts via posts:
    • Posts listed in the “Explore” section (more information).
    • Posts you find when searching for hashtags and text.
    • Posts boosted (shared) by accounts you follow
  • You can check out who others follow or who follows them.
  • GitHub profiles have built-in support for showing Mastodon addresses and many Mastodonians do so. As an example, check out my GitHub profile.

You can also follow hashtags:

  • Search for a hashtag.
  • Click on a hashtag entry in the search results.
  • Click on the button “Follow hashtag”.

Tools for finding Mastodon accounts  

This tool helps with finding Mastodon accounts:

  • The Followgraph tool lists the follows of your follows, ranked by popularity. And it does so without needing any permissions because it only uses public APIs.

Directories for finding Mastodon accounts  

These are directories of Mastodon accounts, organized by topics that they post about:

Web dev accounts to get you started  

Things to do once you have settled in  

How can people find me?  

  • Mention your the URL of your Mastodon profile on your other social media profiles (GitHub, X/Twitter, etc.).

  • Use hashtags in posts: In the past, Mastodon didn’t have full-text search and hashtags were essential for finding posts. They are still a popular means for doing so.

  • People are more likely to follow if your Mastodon profile explains who you are:

  • Add your name to one of the Mastodon directories.

How do I add a verified URL to my profile?  

To add a verified URL to your profile:

  • Edit your profile.
  • “Profile metadata” consists of fields with labels and values. Set one value to the URL of an HTML page that you can edit.

Editing that page:

  • Either add to <body>:

    <a rel="me" href="https://fosstodon.org/@rauschma">text</a>
    
  • Or add to <head>:

    <link rel="me" href="https://fosstodon.org/@rauschma" />
    

More information on verifying URLs.

Can I verify my GitHub URL?  

Yes! How is described here.

Posting on Mastodon  

Etiquette: things to consider when posting on Mastodon  

Much of the etiquette on Mastodon depends on the server. These are a few things that I have noticed:

  • You can add a content warning to a post: Initially only that warning will be shown. To view the actual content, users have to click.

    • Content warnings are encouraged for a variety of topics. For example:
      • “Politics” is a common content warning and helps people avoid doom-scrolling.
      • “Spoiler” is useful for spoiler-y information such as answers to quiz questions, plot spoilers (for books, movies, TV shows), etc.
      • “Food”, “Drinks” and “Eye-contact” are common for visual content.
    • More information on content warnings.
  • If you post visual content, you should add a description for visually impaired users. If you upload such content, there is an “Edit” link that lets you do that.

  • You can mark attached visual content as “sensitive” and it will be initially blurred. People will have to click to see it.

  • It’s best not to link to too many tweets: It doesn’t really fit into the platform and many people are on Mastodon to get away from X/Twitter.

How do I configure how public my posts are?  

Quoting Mastodon creator Eugen Rochko:

Twitter forces you to choose between two extremes, a protected account and a fully public account. If you have a public account, all your tweets are visible to everyone and infinitely shareable. Mastodon realizes that it’s not something you might always want, though.

That’s why, when you create a post, you can pick one of four levels of visibility:

  • 🌎 Public: visible to everyone (your followers, public timelines, anyone looking at your profile)

  • 🔓 Unlisted: visible to your followers and at your profile, but not in public timelines.

  • 🔒 Followers only: only visible to followers and accounts mentioned in the post.

  • @ Mentioned people only: only visible to whoever is mentioned in the post

If you want people to be able to find your posts via full text search, you have to opt in, via “Preferences > Public profile > Privacy and reach > Search”.

How do Mastodon’s direct messages work and how private are they?  

Direct messages are simply posts whose visibility is “Mentioned people only” (see previous subsection):

  • If you mention someone’s Mastodon address, they get a notification and can read the post.
  • Direct messages are not end-to-end encrypted and can therefore by read by the administrators of the sending and the receiving Mastodon servers

Thus, whenever privacy is important, use a service that provides end-to-end encryption.

Mastodon now supports full text search but it can only search posts that a server is aware of: Its users’ posts and the posts of accounts that they follow. On my mid-sized server, I mainly search for accounts and that has always worked well for me.

More information: “Guide for Using Mastodon Search: It’s easier and more powerful than you might think” by Mark Wyner.

Tips for writing hashtags  

Hashtags are still a popular means for finding posts (stemming from the time when Mastodon didn’t have full text search). Here are a few tips:

  • If you end your post with an empty line, followed by hashtags, then those appear at the very end of the post (after link previews, video previews, etc.), with special formatting.

  • Tags in camel case are more accessible because screen readers can detect where words start:

    • For example, #CatsOfMastodon is better than #catsofmastodon.
    • Separating via underscores is also on option (hyphens are not supported in tags), especially if a tag contains an acronym: #HTTP_Servers
  • I avoid inlining tags (mentioning them inside text) and put them at the end of a post. I prefer how that looks. However, inlining tags is OK, accessibility-wise – quoting Kris Nelson:

    As someone who regularly uses screen readers and works with blind colleagues who rely on screen readers to access the internet, please let me assure you that using #hashtags within the body of a post is not a problem.

    You don’t need to move them to the end!

    It is helpful to use #CamelCase to avoid gibberish for many word combos, but the extra # is so minimal as to disappear given how much else screen readers say & how fast they speak to experienced users.

  • Be mindful of polluting search results – e.g. you may write a post “I love seeing all the nice photos of trees at #ThickTrunkTuesday”.

    • Upside: People can click on the hashtag to see the photos.
    • Downside: You have just added an entry to the search results that does not contain a photo.
    • Alas, there doesn’t seem to be a way to link to https:/tags/VisuallyImpaired (i.e., a root path on the current server). Therefore, I put a space after # when I refer to (vs. use) a hashtag. Then Mastodon doesn’t consider it a hashtag.

Coming soon: quote posts  

The Mastodon team is working on quote posts – announcement on 2024-10-08:

Now that 4.3 is done, our focus for the next release will be on implementing the highly requested features of quote posts [...]

How long will a server store my posts?  

Quoting Dave Troy:

Another design consideration re: Mastodon is that it works well for ephemeral asynchronous communications, but for many reasons should not be counted on as an archival resource. Media attachments are periodically purged and may not be available after a week, or a month, etc. While some servers may try to preserve content forever, this may be costly and unsustainable. Creators, researchers should treat this as an ephemeral resource and make provisions for self-archiving anything important.

Therefore: Make sure that you back up posts (yours and others’) that you want to keep around.

How does editing posts work?  

In Mastodon 4+, you can edit posts:

  • In a timeline, the post’s date has an asterisk:

    • The date is the date of creation. Hovering over it shows the full time and date.
    • Hovering over the asterisk shows when the post was last edited.
  • In detail view, there is a list of edits at the bottom, so you can check out what the post looked like in the past.

  • If a post you are sharing/boosting is edited, you get a notification.

What is the Fediverse?  

The Fediverse consists of services that are based on federated (interconntected and decentralized) servers that communicate via open protocols. These services are used for web publishing in a broad sense: social networking, blogging, etc.

The most common Fediverse protocol is the W3C standard ActivityPub. That’s what Mastodon uses, which is why it is compatible with all services that also use this protocol (which may or may not be federated).

When Mastodon users mention the Fediverse, they usually mean “Fediverse services that are based on ActivityPub” (and therefore compatible with Mastodon).

Examples of Fediverse services that are compatible with Mastodon:

  • BookWyrm (book cataloging, think Fediverse Goodreads)
  • Drupal (content management system)
  • Friendica (social networking)
  • Funkwhale (hosting audio, think Fediverse SoundCloud)
  • Lemmy (link aggregator, think Fediverse Reddit)
  • Misskey (microblogging)
  • PeerTube (video hosting, think Fediverse YouTube)
  • Pixelfed (image hosting, think Fediverse Flickr)
  • Pleroma (social networking)

More information on the Fediverse:

Tips  

Configuring the user interface  

Among others, the following panes have configuration settings (the icon on the top right with sliders):

  • For “Home”, you can configure whether to show boosts and replies.
  • For “Notifications”, you can configure notification sounds and much more.

Managing followed accounts  

If you go to the profile of an account:

  • Context menu (three-dot button):
    • Hide the boosts (shared posts) of the account. Useful if you are not interested in what someone boosts.
    • Mute the account: forever or temporarily (1 day, 7 days, etc.). The latter is one of the options that you can reveal in the dialog. Another option, “Hide from notifications”, controls if you see when it mentions you etc. I always uncheck that.
  • Bell icon: Get a notification whenever the account creates a new post. Useful for accounts that rarely post.

Miscellaneous tips  

  • To show an account or a post from another server in your app, search for their URL.
  • Every Mastodon account has an RSS feed that you can follow via a feed reader.
  • To copy the full address of an account, go to its profile. Clicking on the user name (which is local to the server) selects it. If you copy now, then the clipboard contains the full address, not just the user name.

Further reading