an introduction to Mastodon
Oct. 28th, 2022 05:02 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
A while back I started writing up this intro-to-Mastodon post. With the Elon Musk purchase of Twitter finalized, it seems like high time to post it.
The screenshots now are a bit out of date: the Mastodon instance where I used to reside is being slowly closed down, and I've moved on to another instance, but the main points still apply.
For those who are not familiar, Mastodon is open-source social media software based on Twitter. It isn't a single service, but a federated collection of servers (also called "instances" or "nodes") spread out around the world. Federation between instances means that they can talk to one another, just as you can freely send email among accounts on GMail, Yahoo, Hotmail, and so on.
There's are numerous posts and articles about Mastodon, including information on on getting started with the platform (https://blog.joinmastodon.org/2018/08/mastodon-quick-start-guide/; https://www.pcmag.com/how-to/how-to-get-started-on-mastodon-and-leave-twitter-behind) and how to think about building community on Mastodon (https://runyourown.social/). There are even Mastodon accounts that post regular tips for improving your experience of Mastodon and other federated platforms (e.g., https://mstdn.social/@feditips).
My primary goal in the present post is to provide an overview of basic Mastodon functionality, as filtered through my own experiences. I also believe that, for many users, Mastodon represents a strict improvement over Twitter, and I do want to talk at least a little about Mastodon's strengths.
In my view, particular strengths of Mastodon over Twitter include: chronologically ordered timelines, better control over what content you see, and (some) ability to control who sees your content.
There is also a Twitter to Mastodon relay platform called BirdsiteLive that can enable you to view Twitter posts via Mastodon (see: https://github.com/NicolasConstant/BirdsiteLive). [Edit: For now it might be best to hold off on using BirdsiteLive; see this post by the creator: https://write.as/nicolas-constant/closing-the-official-bsl-instance.] [While it was still functional], use of BirdsiteLive, combined with Mastodon's chronological feed, meant that through Mastodon I was actually able to keep better tabs on the few Twitter accounts that I'm interested in than I would be able to through Twitter itself! There's more to say about BirdsiteLive, but I don't have time to write that up at present.For now, just keep in mind that unless you have control of your own BirdsiteLive instance, you should avoid using it to follow more than about 10 Twitter accounts. This has to do with the relay capacity permitted by the Twitter API.
But for today I want to focus on the basics.
My accounts
Each server has its own adminstrator(s), policies, and culture. Some servers are moderated, some are not. Some are open to the public, some only serve specific communities. Servers range in size from private self-hosted instances that one tech-savvy user sets up just for themselves to public servers like mastodon.social with hundreds of thousands of users.
Until very recently, my primary account was on the server https://cybre.space/, a moderated instance with several thousand users. I didn't do any heavy research when selecting a server, just got an invitation from a friend who has had good experiences on the cyber.space server. Cybre.space had a bit of a 1990s retro-futuristic theme. They billed themselves as "the social hub of the information superhighway" and invite you to "jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal." The screenshots I include below are from a temporary account I created on cybre.space, and reflect the theming. For example, instead of "faving" (liking) posts with star icon, you "florp" them with an image of a floppy disk. All of this is mostly cosmetic, and in my experience fades into the background when actually using Mastodon.
Unfortunately, cybre.space is now in the process of closing down.
My new primary account is on the server https://social.coop, a cooperatively owned instance where you pay a small monthly fee for membership, which allows you to create an account, but also to participate in decision-making about server policies. I selected it because a number of the people I follow were already on there.
The basic interface
I access Mastodon through a web browser[1], which gives me a several-column interface with different information in each column. There is also a single-column variation on this interface, but I haven't used it as much, so I'll focus on the several-column format here.

In the image above, the left-most column includes a control bar at the top, below which there is a search/query box (where the word "Query..." appears); below the query box is a space where I can make new posts (aka "toots" in Mastodon terminology, although cyber.space called them "pings")[2]. The second column shows my home timeline (chronologically ordered posts by all accounts I follow). The third column shows notifications of activity on my posts and any posts that I follow.
The columns
In the screenshot, the rightmost column provides a "Getting started" menu with interactive links to additional content. However, this column changes dynamically: any time I click on a profile or other internal link, the relevant information will appear in this column, replacing the links shown in the image. This last column is analogous to the content pane on Twitter. To get back to the "Getting started" menu, you can click on the menu icon at the top of the left column.

The other controls at the top of the left column can be used to open the local timeline (all public posts to your own server/instance), the federated timeline (all public posts on any server being followed by users on your own server), configuration (your personal settings), and the log out button (which cybre.space called "Jack out"). Clicking on the button for the local or federated timeline[3] will cause it to appear in the rightmost column.
If you are viewing a particular timeline in your right column and you want that timeline to permanently appear as a permanent column in your view of Mastodon, you can use the settings button on the upper right of the column to "pin" it.

After "pinning", an the Mastodon interface shows an additional column to the left of the rightmost column.

You can use the same controls to "unpin" timelines that you don't want to permanently follow, or you can use the left and right arrow buttons to move the column to the left or right, depending on how you want your screen organized.

The several-column interface felt weird and cramped at first, but over time, I've come to really appreciate the ability to keep track of different things at once. Each column scrolls independently, and so I can easily check my notifications, make a new post, or reply to a thread without losing my place on my home timeline / feed. If you prefer a cleaner interface, there are alternative clients out there. The JoinMastodon blog suggests taking a look at https://pinafore.social/ as one example.
Posting and privacy settings
As you can probably guess, the text window on the left is where you write posts. On cybre.space, the green "Ping" button would publish toots. On a more typical Mastodon interface (as shown in the screenshots below), it would be a "TOOT!" button instead.

Below the text box are some extra tools. The paperclip lets you attach images, video, or audio. There's a strong culture on Mastodon normalizing inclusion of alt-text descriptions for images. When you upload an image, an "Edit" icon appears on the image, which opens an interface where you can add alt-text descriptions and also adjust the centering of the image thumbnail.

...
The rectangle icon to the right of the paperclip lets you create and post a poll.
...
Next is a world icon, which lets you set privacy. The privacy settings are a little odd, and not as convenient as what you'd get through Facebook or Dreamwidth, bot does give you more control than Twitter: you can choose to make a post "Public" (public to the entire web and published to instance timelines), "Unlisted" (public to the entire web, but only posted to subscriber timelines), "Followers-only" (only visible to people who follow you), or "Direct" (a private message only to people who are tagged in your post).

The "Followers-only" option is a little weird, and in my opinion kind of backward. Instead of choosing who to make my posts public to, users who follow *me* get to see "Followers-only" posts and everyone else doesn't. I don't really use this option, but a lot of people do. The way to make it into a functional privacy filter is to change your account settings (accessed via the gear icon at the upper left) to "Require follow requests." With that box checked, people are only able to follow you if you approve the follow requests. It's not ideal, and some other social media handle this better, but it does provide at least a crude tool for determining who can and can't view each post.
[EDIT: It's been pointed out to me that due to Mastodon's federated structure and lack of encryption, there are some reasons not to put too much trust in the "followers only" setting. As on many (but not all) online tools, the server administrators have access to all of your data, so you should not post things that you wouldn't trust the site admins with. But also, when you post "followers only" toots, they become accessible to the admins of the servers of your followers. This dramatically increases the chance of your posts being read by people they aren't intended for.]
The "Hometown" fork of Mastodon handles privacy a little differently (https://github.com/hometown-fork/hometown), allowing a privacy setting to only share content with people on the same instance. Hometown instances are a great fit for self-contained communities where everyone knows everyone else, as described by Hometown creator Darius here: https://runyourown.social/.
Mastodon does *not* give the kind of individual privacy controls used by Livejournal / Dreamwidth and later by Google Circles.
...
The "CW" icon to the right of the world icon allows you to add a content warning. A smaller text box appears above the main text entry box. If you include a content warning, then viewers of your post will see the warning but will not see the content unless they choose to expand it.
Interacting with posts
There are a number of controls for interacting with existing posts. At the bottom of each post are control buttons to (from left to right on my screenshots): 1) reply, 2) "Boost" (analogous to "Retweet" on Twitter), and 3) "Favourite" (analogous to "Like" on Twitter).

The fourth icon is an ellipsis ("..."), which opens up additional options, including options to reply with a direct message, to bookmark a post, and to block or report the post's author.

--------
That's all for now. There's more to say, but I think this post is long enough for now.
------------------
Footnotes:
[1] I understand that Mastodon phone apps (of which there are several) use a single-column interface, but I'll leave it to others to discuss the experience of Mastodon on phones. I will say that I've seen a number of people recommend avoiding the official Mastodon apps, which evidently are poorly suited for users an smaller instances. I've seen some folks recommend Tusky instead (https://tusky.app/).
[2] Terminology note: whereas Twitter posts are called "tweets", Mastodon posts are called "toots".
[3] Viewing a the federated timeline is rarely useful, but the local timeline can sometimes be desirable on smaller and more community-oriented servers.
The screenshots now are a bit out of date: the Mastodon instance where I used to reside is being slowly closed down, and I've moved on to another instance, but the main points still apply.
For those who are not familiar, Mastodon is open-source social media software based on Twitter. It isn't a single service, but a federated collection of servers (also called "instances" or "nodes") spread out around the world. Federation between instances means that they can talk to one another, just as you can freely send email among accounts on GMail, Yahoo, Hotmail, and so on.
There's are numerous posts and articles about Mastodon, including information on on getting started with the platform (https://blog.joinmastodon.org/2018/08/mastodon-quick-start-guide/; https://www.pcmag.com/how-to/how-to-get-started-on-mastodon-and-leave-twitter-behind) and how to think about building community on Mastodon (https://runyourown.social/). There are even Mastodon accounts that post regular tips for improving your experience of Mastodon and other federated platforms (e.g., https://mstdn.social/@feditips).
My primary goal in the present post is to provide an overview of basic Mastodon functionality, as filtered through my own experiences. I also believe that, for many users, Mastodon represents a strict improvement over Twitter, and I do want to talk at least a little about Mastodon's strengths.
In my view, particular strengths of Mastodon over Twitter include: chronologically ordered timelines, better control over what content you see, and (some) ability to control who sees your content.
There is also a Twitter to Mastodon relay platform called BirdsiteLive that can enable you to view Twitter posts via Mastodon (see: https://github.com/NicolasConstant/BirdsiteLive). [Edit: For now it might be best to hold off on using BirdsiteLive; see this post by the creator: https://write.as/nicolas-constant/closing-the-official-bsl-instance.] [While it was still functional], use of BirdsiteLive, combined with Mastodon's chronological feed, meant that through Mastodon I was actually able to keep better tabs on the few Twitter accounts that I'm interested in than I would be able to through Twitter itself! There's more to say about BirdsiteLive, but I don't have time to write that up at present.
But for today I want to focus on the basics.
My accounts
Each server has its own adminstrator(s), policies, and culture. Some servers are moderated, some are not. Some are open to the public, some only serve specific communities. Servers range in size from private self-hosted instances that one tech-savvy user sets up just for themselves to public servers like mastodon.social with hundreds of thousands of users.
Until very recently, my primary account was on the server https://cybre.space/, a moderated instance with several thousand users. I didn't do any heavy research when selecting a server, just got an invitation from a friend who has had good experiences on the cyber.space server. Cybre.space had a bit of a 1990s retro-futuristic theme. They billed themselves as "the social hub of the information superhighway" and invite you to "jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal." The screenshots I include below are from a temporary account I created on cybre.space, and reflect the theming. For example, instead of "faving" (liking) posts with star icon, you "florp" them with an image of a floppy disk. All of this is mostly cosmetic, and in my experience fades into the background when actually using Mastodon.
Unfortunately, cybre.space is now in the process of closing down.
My new primary account is on the server https://social.coop, a cooperatively owned instance where you pay a small monthly fee for membership, which allows you to create an account, but also to participate in decision-making about server policies. I selected it because a number of the people I follow were already on there.
The basic interface
I access Mastodon through a web browser[1], which gives me a several-column interface with different information in each column. There is also a single-column variation on this interface, but I haven't used it as much, so I'll focus on the several-column format here.

In the image above, the left-most column includes a control bar at the top, below which there is a search/query box (where the word "Query..." appears); below the query box is a space where I can make new posts (aka "toots" in Mastodon terminology, although cyber.space called them "pings")[2]. The second column shows my home timeline (chronologically ordered posts by all accounts I follow). The third column shows notifications of activity on my posts and any posts that I follow.
The columns
In the screenshot, the rightmost column provides a "Getting started" menu with interactive links to additional content. However, this column changes dynamically: any time I click on a profile or other internal link, the relevant information will appear in this column, replacing the links shown in the image. This last column is analogous to the content pane on Twitter. To get back to the "Getting started" menu, you can click on the menu icon at the top of the left column.

The other controls at the top of the left column can be used to open the local timeline (all public posts to your own server/instance), the federated timeline (all public posts on any server being followed by users on your own server), configuration (your personal settings), and the log out button (which cybre.space called "Jack out"). Clicking on the button for the local or federated timeline[3] will cause it to appear in the rightmost column.
If you are viewing a particular timeline in your right column and you want that timeline to permanently appear as a permanent column in your view of Mastodon, you can use the settings button on the upper right of the column to "pin" it.

After "pinning", an the Mastodon interface shows an additional column to the left of the rightmost column.

You can use the same controls to "unpin" timelines that you don't want to permanently follow, or you can use the left and right arrow buttons to move the column to the left or right, depending on how you want your screen organized.

The several-column interface felt weird and cramped at first, but over time, I've come to really appreciate the ability to keep track of different things at once. Each column scrolls independently, and so I can easily check my notifications, make a new post, or reply to a thread without losing my place on my home timeline / feed. If you prefer a cleaner interface, there are alternative clients out there. The JoinMastodon blog suggests taking a look at https://pinafore.social/ as one example.
Posting and privacy settings
As you can probably guess, the text window on the left is where you write posts. On cybre.space, the green "Ping" button would publish toots. On a more typical Mastodon interface (as shown in the screenshots below), it would be a "TOOT!" button instead.

Below the text box are some extra tools. The paperclip lets you attach images, video, or audio. There's a strong culture on Mastodon normalizing inclusion of alt-text descriptions for images. When you upload an image, an "Edit" icon appears on the image, which opens an interface where you can add alt-text descriptions and also adjust the centering of the image thumbnail.

...
The rectangle icon to the right of the paperclip lets you create and post a poll.
...
Next is a world icon, which lets you set privacy. The privacy settings are a little odd, and not as convenient as what you'd get through Facebook or Dreamwidth, bot does give you more control than Twitter: you can choose to make a post "Public" (public to the entire web and published to instance timelines), "Unlisted" (public to the entire web, but only posted to subscriber timelines), "Followers-only" (only visible to people who follow you), or "Direct" (a private message only to people who are tagged in your post).

The "Followers-only" option is a little weird, and in my opinion kind of backward. Instead of choosing who to make my posts public to, users who follow *me* get to see "Followers-only" posts and everyone else doesn't. I don't really use this option, but a lot of people do. The way to make it into a functional privacy filter is to change your account settings (accessed via the gear icon at the upper left) to "Require follow requests." With that box checked, people are only able to follow you if you approve the follow requests. It's not ideal, and some other social media handle this better, but it does provide at least a crude tool for determining who can and can't view each post.
[EDIT: It's been pointed out to me that due to Mastodon's federated structure and lack of encryption, there are some reasons not to put too much trust in the "followers only" setting. As on many (but not all) online tools, the server administrators have access to all of your data, so you should not post things that you wouldn't trust the site admins with. But also, when you post "followers only" toots, they become accessible to the admins of the servers of your followers. This dramatically increases the chance of your posts being read by people they aren't intended for.]
The "Hometown" fork of Mastodon handles privacy a little differently (https://github.com/hometown-fork/hometown), allowing a privacy setting to only share content with people on the same instance. Hometown instances are a great fit for self-contained communities where everyone knows everyone else, as described by Hometown creator Darius here: https://runyourown.social/.
Mastodon does *not* give the kind of individual privacy controls used by Livejournal / Dreamwidth and later by Google Circles.
...
The "CW" icon to the right of the world icon allows you to add a content warning. A smaller text box appears above the main text entry box. If you include a content warning, then viewers of your post will see the warning but will not see the content unless they choose to expand it.
Interacting with posts
There are a number of controls for interacting with existing posts. At the bottom of each post are control buttons to (from left to right on my screenshots): 1) reply, 2) "Boost" (analogous to "Retweet" on Twitter), and 3) "Favourite" (analogous to "Like" on Twitter).

The fourth icon is an ellipsis ("..."), which opens up additional options, including options to reply with a direct message, to bookmark a post, and to block or report the post's author.

--------
That's all for now. There's more to say, but I think this post is long enough for now.
------------------
Footnotes:
[1] I understand that Mastodon phone apps (of which there are several) use a single-column interface, but I'll leave it to others to discuss the experience of Mastodon on phones. I will say that I've seen a number of people recommend avoiding the official Mastodon apps, which evidently are poorly suited for users an smaller instances. I've seen some folks recommend Tusky instead (https://tusky.app/).
[2] Terminology note: whereas Twitter posts are called "tweets", Mastodon posts are called "toots".
[3] Viewing a the federated timeline is rarely useful, but the local timeline can sometimes be desirable on smaller and more community-oriented servers.