Skip to content

Instantly share code, notes, and snippets.

@joyeusenoelle
Last active January 23, 2024 02:43
  • Star 66 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save joyeusenoelle/74f6e6c0f349651349a0df9ae4582969 to your computer and use it in GitHub Desktop.
An increasingly less-brief introduction to Mastodon

This guide now lives at https://github.com/joyeusenoelle/GuideToMastodon/ - please check there for updates, and feel free to submit a PR if you have suggestions or want to submit a translation!

Table of Contents

What is Mastodon?

Mastodon is Twitter-style social networking combined with email-style instanced servers. It's named after the metal band, but themed after the extinct megafauna.

How is it like Twitter?

You post relatively-short status updates, and you can see a streaming list of your friends' status updates. You can keep notifications (replies, boosts, favorites, and DMs) in a separate column.

Mastodon's statuses are called "toots", like Twitter's are called "tweets". A toot can be up to 500 characters long.

Mastodon also supports hashtags, which are words prefixed by #, like "#gameing" or "#pineapple". You can click on a hashtag to search for other posts containing that tag.

How is it like email?

Each Mastodon instance is independent but networked, like email servers. If you sign up for an email account on gmail.com, you don't automatically have an account on hotmail.com or aol.com, but you can send and receive messages to and from users on hotmail.com and aol.com.

Likewise, if you sign up for an account on mastodon.social, that doesn't make an account for you on every other instance, but you can talk to users from other instances and they can talk to you.

You can make accounts on multiple instances if you want to talk about different things separately. You could have an account on https://cybre.space to talk about technology, an account on https://elekk.xyz to talk about gaming, and an account on https://mastodon.social for general chatter. You have to sign into each account separately, and keep each open in a separate browser tab or window.

Keep in mind that in general, when talking about Mastodon, "instance" and "server" mean the same thing.

How is it not like either of those?

Mastodon has two additional timelines that you can view: the Local timeline and the Federated timeline.

The Local timeline is every post with a public status posted by users on your instance, with the exception of replies. (A reply is any toot posted in response to another toot - NOT any toot that simply mentions another user!)

The Federated timeline is every post with a public status posted by any user that your instance knows about, even from other instances. Your instance knows about a remote user if at least one user on your instance has EVER followed them.

The Local and Federated timelines can turn into firehoses sometimes. Be careful!

How do I establish my brand's presence on Mastodon?

The short answer: Please don't.

We've had a decade of Twitter, Facebook, and heaven knows how many other social media platforms becoming platforms for Search Engine Optimization, Brand Awareness, and Corporate Synergy, and I'll be blunt: we're really, really tired of it.

Mastodon isn't about leveraging followers into customers. It's not about SEO or brand loyalty. Mastodon is about people. Don't treat people like potential customers who might buy your stuff; treat them like people whom you might want to get to know.

If you're a person who makes or does something and you think someone might want to buy your product or use your service, great! You can tell people about it - just treat them like people, not marketing targets.

There's one behavior that companies often engage in that drives people nuts, and you really shouldn't do it: don't send unsolicited messages to people advertising your product or service. Get to know someone, engage in conversations with them, and if you think someone you know would be interested and doesn't already know about what you do, then tell them about what you do or what you make.

If you represent a company and your boss has told you that your company needs a Mastodon presence, here's what you can tell them (and you can tell them I told you to say it):

Mastodon doesn't really work like that. If we're going to have a Mastodon presence, it needs to be one person who's free to be a person on that account, instead of a corporate mouthpiece. That means the person on the Mastodon account isn't going to get along with everybody and is going to treat other users like they're people instead of marketing targets. If you're okay with that, then I'll get right on it. If not, then you need to do some more research into Mastodon before you establish a presence there.

How do I get verified on Mastodon?

There's no such thing as a verified account on Mastodon. We assume you are who you say you are. If you see someone with a check-mark by their name (like ✅), they've just typed that emoji into their display name.

If someone's impersonating you, contact the admin of the instance they're on to get it sorted out.

HOW DO I PICK AN INSTANCE?

This one's big on purpose.

Picking an instance can be hard. Many instances have a specific focus: computerfairi.es is a safe space for queer folks, instance.business is a haven for non-white people, botsin.space focuses on the hosting and development of automated bots. On oulipo.social it's illicit to post a toot containing any "e"s.

If you haven't created a mastodon account yet, you might find it useful to try one of the larger instances, like mastodon.social - the flagship instance, with over 100,000 users - toot.cafe, or wandering.shop. These instances have large, usually-friendly populations that will help you find a more niche instance if that's what you're looking for. Be warned, though, that because of their size, the Local timelines on these instances can move very quickly.

(A brief note about mastodon.social: it is the largest instance. Many people go there and never check out other instances. If you make an account on mastodon.social, consider treating it as a temporary waypoint while you find an instance that better fits your needs and interests. Once you've found one, you can export all the people you're following, muting, and blocking on mastodon.social and import them at your new account, so you don't have to go around and find everybody again.)

If you've already registered on an instance but you're not sure if it's a good fit for you, try asking around for instances where you might be a better fit. Also, try searching for a #hashtag that interests you; if you see a lot of people on one instance talking about that subject, it might be a good place for you to check out.

You can also try the instance picker on joinmastodon.org or the wizard at instances.social, although these have lots of instances listed and you might be overwhelmed. Take it slow and easy.

How do I mention someone who's not on my instance?

Mastodon usernames take the form @username@instance. My account on mastodon.social is @noelle@mastodon.social; my account on elekk.xyz is @noelle@elekk.xyz. If you're mentioning someone on a different instance, you have to type the whole thing (although the toot input box will help you auto-complete the username if it's a name the instance knows already).

If you're mentioning someone on your own instance, you just have to type the first part; if you're on elekk.xyz, @noelle will get to me just like @noelle@elekk.xyz will. If you leave off the "@instance" Mastodon understands that you want to talk to the local user.

What are the rules?

The rules depend on which instance you're on. Each instance has a page at https://instance/about/more that contains more information about the instance and often describes the community guidelines. For example, mastodon.social has its community guidelines posted at https://mastodon.social/about/more .

Keep in mind that these are usually guidelines and not hard-and-fast rules. Since each instance is run by a separate team of moderators - often just one person! - they have final say over what's allowed and not allowed on their instance. Your instance admins might even go so far as to block an entire other instance if their users turn out to be incompatible with your instance's values and the other instance's moderators won't help.

How do privacy settings work?

Under each post you'll see three icons: a camera, a globe or a padlock, and the letters "CW". Click on the globe or padlock to choose the privacy settings for your post.

  • Public means that everyone can see your post.
  • Unlisted means that everyone can see your post, but it won't appear on the public timelines - either Local or Federated. Anyone who follows you or views your profile can see the toot, though.
  • Followers-Only means that only people who follow you and people mentioned in the post can see your post in their timelines or on your profile page. If someone who doesn't follow you views your profile, they won't see this post.
  • Private means that only people who are mentioned in your post can see it in their timelines or on your profile page.

Keep in mind that some servers, which run software that's compatible with but not the same as Mastodon, will ignore these privacy settings if you send a message to their users, so be careful!

How private is "Private"?

I cannot stress this enough: Private toots are not encrypted or secure.

The admin of your server can read any toot posted on their server, as well as any toot sent to a user on their server. This is a necessary security precaution. Admins don't want to read your private toots, but they have to be able to because otherwise private toots allow some users to secretly harass others or to conduct illegal dealings without the admin's knowledge, and under many laws the admin will be responsible for enabling the harassment or illegal behavior even if they didn't know it was happening.

That said, in general, your admin will only look over the toots you've marked Private if they have reason to believe harassment or illicit dealings are going on. Make sure you trust your admin to act like this, and if you don't, it might be time to look for another instance.

As a general rule, if an application you're using isn't peer-to-peer and relies on an intermediary like a server, the information you're sending isn't secure unless you take extra steps outside the application to secure it.

What if I go over the character limit?

Don't worry. First, you can't; Mastodon won't let you post a toot over the instance's character limit. You won't get in trouble or anything.

If you find that what you want to say is too long for a single toot, or if you think of something else after you've posted a toot, you can reply to your own toot. Mastodon supports toot threads, so you can toot as many times as you want to, replying to each toot in sequence, and the whole series will show up when someone clicks on any of the toots in the thread.

So if your toot is too long, just split it up and make the second half a reply to the first; if you think of something else later, just reply to your original toot and the reply will show up whenever anyone clicks on the original toot.

What are hashtags?

To make a hashtag, type "#" and then any number of letters or numbers. Accents count; punctuation, spaces, symbols, and emoji don't. #howismydaygoing is a valid hashtag; #höwísmydàygôíng is valid; #how-is-my-day-going isn't (it'll just catch #how).

A hashtag is metadata about your toot: it provides additional information that doesn't necessarily belong in the body of the toot, but is useful for understanding. If you're a programmer, it's sort of like a code comment.

As a bonus†, hashtags are tracked by each instance. Clicking on a hashtag takes you to a list of public posts with that hashtag. You can use them to track #politics, check out the users people are recommending on #FollowFriday, or see people's artwork using #mastoart.

Don't go overboard with hashtags. As a guideline, your hashtags probably shouldn't be more than 10% of the total length of your toot. If you find yourself going over that, you might be spreading things a bit too thin.

This was actually the original intent of hashtags, but the usage has moved on since then.

What does "CW" mean?

CW stands for Content Warning. It hides your post behind text (which you get to choose); it's like a Read More link.

You might use CWs for:

  • Politics
  • Sex
  • Gross topics
  • Common phobias, like spiders or blood
  • Health discussions
  • Punchlines to jokes
  • Long posts that might otherwise fill up people's timelines

In general, just use your best judgment; think "is there a reason someone might not want to see this?".

I just attached a picture to my toot. What's with the new 'eye' icon?

Clicking that will hide your image behind a "Sensitive content" overlay. This is good for nudity, gore and violence, political topics, etc.

You'll notice that if you have both an image and a CW on a toot, the "Sensitive content" overlay is turned on automatically and can't be turned off. That's on purpose.

I just attached a picture to my toot. How can I make sure it's accessible?

If you mouse over an image attached to your toot, you'll see a box appear at the bottom that says "Describe for the visually impaired". This allows you to set alt-text for the image, which people can read if they mouse over the text, and which screen-readers (such as for the visually-impaired) can read instead of just saying "embedded image".

Text in the description box does not count against the character limit for your toot!

How come my friend on another instance can use this emoji, but I can't?

Each instance can define custom emoji for their users to use, and many have taken advantage of this. Your instance admin can copy emoji that they like from other instances. If you see an emoji that you like and it's not available on your instance, ask your admin to copy it over.

The Mastodon culture seems pretty weird?

It can be! But it gets to be a comfortable weirdness.

Here are some common weirdnesses:

  • 🍍: nobody really knows. Someone posted it, someone else picked it up, and it's been going ever since. It's just silliness. When in doubt, just post a 🍍.
  • AWOO: Awoo.Space was one of the earlier Mastodon instances. "Awoo" is the sound of a wolf howling. It's fun to say. Awoo! (Pawoo.net has nothing to do with this; in Japanese, "pawoo" is the sound of an elephant trumpeting.) Someone got irritated at the awoos and instituted a $350 fine for awooing. Nobody's ever actually paid it, don't worry.
  • #gameing: There was (and still is) a perception that #gaming is "hardcore" and elitist, and there were (and are) worries about certain breeds of gamer overrunning the #gaming hashtag. #gameing was a pre-emptive strike; it's about a fun, lighthearted, and accessible approach to games, video and otherwise.
  • IT'S BEEN/SOME as CWs: a reference to the Barenaked Ladies song One Week and the Smash Mouth song All Star respectively. A common meme on Mastodon is to put the first word or two of the song into the CW and then subvert expectations by posting something else under the cut.

You'll get used to it.

What does red_candle mean?

In early November 2017 we lost a popular Mastodonian to suicide. red_candle and lattentacle commemorate our friend Natalie Nguyen.

What's the generally-accepted Mastodon etiquette?

There are no hard-and-fast rules for everybody, and (as noted above) different instances have different guidelines. That said, many people follow some simple guidelines meant to make Mastodon a friendlier place for everybody.

  • If you attach an image to your toot but don't describe it in the toot, use alt text to describe the image so that people using screen readers can understand it.
  • If you attach an image that contains nudity, porn or sexually-suggestive content, gore, violence, or politics, or any of a number of common PTSD/anxiety triggers (such as food, spiders, etc.), mark it sensitive.
  • If the text of your toot contains any of those subjects, use a content warning.
  • You don't need to use a URL shortener. Mastodon assumes that all URLs are exactly 20 characters long. Let people see what you're actually linking to.
  • If you make a bot that posts automatically, have it post using the unlisted privacy setting. This avoids having your bot flagged as spam.
  • If you use a script that cross-posts your Twitter tweets to Mastodon, have the script set to use a CW. This avoids sensitive topics (see above) being cross-posted to Mastodon.
  • If you see a conversation and have a comment you'd like to add:
    • Click through to the full conversation and make sure your thought hasn't already been expressed by someone else.
    • Make sure that your comment adheres to the tone of the conversation, is kind to the other posters in the conversation, and gives the other posters the benefit of the doubt.
  • "noadvice", as a hashtag or a CW, indicates that the user is just venting and is not looking for help or suggestions. Sympathy and comfort are welcome, though.
  • Remember that if someone doesn't reply to you, that doesn't mean they're ignoring you. They might be away from Mastodon; they might have so many notifications that they missed your post; they might have muted the conversation, so your reply didn't even show up! There are many reasons for someone to miss a toot, even one directed at them; don't take it personally.

I like Mastodon but I prefer the way Twitter looks.

You might get some mileage out of Pinafore, a new interface for Mastodon by Nolan Lawson.

I used to recommend https://halcyon.social here, since it was actually a Twitter-like interface for Mastodon, but the site seems to be down at the moment. Go ahead and try it, but several of us can't get the site to load at all.

I like Mastodon but I want to use it on my phone.

Mastodon has a responsive design, so you can use it in your phone's browser. Alternately, there are many apps available for Mastodon. The most widely-used on iOS is Amaroq. On Android, try Tusky, Subway Tooter, or Mastalab.

(NB: As "...Tootdon silently forwards copies of posts you interact as well as the auth token to your account to its to own servers", I can't in good faith recommend it any longer. Consider an alternative.)

I have other questions.

Ask around! People are usually pretty happy to answer questions and help out. If you really get stuck, ask me: https://elekk.xyz/@noelle

@zellk
Copy link

zellk commented Nov 14, 2017

Thank you for this shirt and helpful sum-up of Mastodon !! Im still learning how to use it and trying to understand how it works, as I'm completely unfamiliar with instanced stuff etc xD

@cheesegrits
Copy link

Tootdon is now available on Android.

@deutrino
Copy link

deutrino commented Jan 7, 2018

Thank you so much for writing this! A couple quibbles:

  • Mastalab (Android) has as many downloads as Subway Tooter, and has a very active and responsive developer.
  • I respectfully disagree with the advice to join a large instance. Not only is the local timeline a disjointed firehose on large instances, but it's counter to the goal of decentralization. "How do I pick an instance" is not a question that has yet been rendered smoothly answerable, and I also have issues with promoting the Dzuk list over and over and over, but "join a bigger instance" isn't great either.

@nynhex
Copy link

nynhex commented Mar 25, 2018

Thanks for writing this out. Just fyi https://halcyon.social is giving ssl cert error even though it's not expired. Maybe something to think about yanking or checking on.

@ovigia
Copy link

ovigia commented Mar 27, 2018

wow...this is nice...
thank you.

@trwnh
Copy link

trwnh commented Apr 9, 2018

@nynhex halcyon.social is actually completely broken; bypassing the SSL cert error by adding an exception in Firefox is showing me only the text Cannot GET /

@wakest
Copy link

wakest commented Apr 11, 2018

the original dev of halcyon called it quits and new people took over, its just not hosted at the .social any more.
there are a bunch of places to use it at this link or you can install it on your own server...
https://github.com/halcyon-suite/halcyon#instances

@vandana20106
Copy link

How we can collect the toot from mastodon from a specific server? Is this possible? if not can you give a reason for that. I am glad if you give the answer soon as I have to submit my project review tomorrow.

@taw00
Copy link

taw00 commented Nov 23, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment