MacTalk

February 2023

18 comments

Mastodon: A New Hope for Social Networking

Cast your mind back to the first time you experienced joy and wonder on the Internet. Do you worry you’ll never be able to capture that sense again? It’s worth wading gently into the world of Mastodon microbloggingto see if it offers something fresh and delightful. It might remind you—as it does me, for now—of the days when you didn’t view online interactions with some level of dread.

Mastodon isn’t a service but a network of consensually affiliated, independently operated servers running the Mastodon software. It’s the best-known example of the so-called Fediverse, and it has seen a huge uptick in users since Elon Musk purchased Twitter and began firing workers, breaking systems, blocking third-party Twitter apps, and restoring access to accounts suspended for a variety of antisocial, fascist, and anti-democratic behavior. (For insight into the Fediverse, see my sibling article “Is Your Future Distributed? Welcome to the Fediverse!,” 27 January 2023).

At the surface level, you might mistake Mastodon as a mere Twitter replacement. Yet it’s more complicated than that, in a good way. Mastodon has received disproportionate attention in the last few months because it offered the closest comparable refuge for people who found Twitter intolerable but wanted to retain online social ties. In early 2022, only a few hundred thousand people had registered accounts on a Mastodon server; that number jumped to hundreds of thousands by October 2022 and has currently topped nine million. In comparison, Twitter boasts hundreds of millions of accounts, though one of Elon Musk’s most verifiable pre-purchase criticisms was that Twitter may have a huge number of bot-driven accounts devoted to spam, scam, and hype.

With Mastodon, you’re not dealing with a giant, faceless company—or a constantly in-your-face CEO—making arbitrary decisions that are often impossible to understand or appeal. Instead, you join a Mastodon server—called an instance—run by an individual, company, or organization. Each instance exchanges messages, or federates, with other Mastodon servers. Servers pass packets of content among each based on the social graph of which users subscribe to other users’ posts. No central database of posts exists, nor is there a central repository of social graphs. Mastodon exists entirely of its parts—there’s no core Mastodon server or entity.

You can think of Mastodon as a flotilla of boats of vastly different sizes, whereas Twitter is like being on a cruise ship the size of a continent. Some Mastodon boats might be cruise liners with as many as 50,000 passengers; others are just dinghies with a single occupant! The admin of each instance—the captain of your particular boat—might make arbitrary decisions you disagree with as heartily as with any commercial operator’s tacks and turns. But you’re not stuck on your boat, with drowning as the only alternative. Instead, you can hop from one boat to another without losing your place in the flotilla community. Parts of a flotilla can also splinter off and form their own disconnected groups, but no boat, however large, is more important than any other in the community.

If you’re a regular Twitter or Facebook user—or avoided both those and similar services—and want to understand what Mastodon is, where it seems to be headed, and how to join in, read on. You don’t need a lot of technical details to understand why Mastodon and the Fediverse exist in sharp contrast to commercial social networks and why they hearken back to some of the more enjoyable aspects of earlier stages of Internet interactions.

And keep in mind that things change. Mastodon is an active project under development, with ships of new participants joining the fleet daily, many asking for new features. When you join Mastodon, you’re part of a journey in which the details of where you’re going and how you’ll get there are still coalescing.

What Is Mastodon and How Does It Work?

Mastodon is an open-source project that uses the elephant’s extinct sibling species as its mascot. A non-profit German company manages the effort and runs some large Mastodon instances. The network is part of the Fediverse, a set of software projects that use the same set of account and interchange protocols—mostly ActivityPub—to manage local users and exchanges of data between local users and remote servers. Unlike Twitter, where there’s a central store of user account names and tweets, Mastodon and Fediverse services are local in nature and global only in some interactions.

As a Mastodon user, your perception is that everything is unified. Admins and protocols manage the ugly business of ensuring communications move seamlessly across federated instances.

While Mastodon seems complicated from the outside, I’d argue that if you can set up an email account and have signed up for email lists throughout your time on the Internet, you can settle into Mastodon fairly quickly. In many ways, Mastodon even resembles email, albeit with more of the plumbing exposed:

  • Your account is hosted on a single server. While you can have accounts on different instances, each is treated as a separate address across the Fediverse.
  • People can find you and address messages to you in the form @account@server.domain; my Mastodon account is @glennf@twit.social. (I had an older account that I set up years ago, @glennf@mastodon.social, which I essentially redirected to my current one. If I had kept it,  I would need to check messages on it separately, just as if I had email accounts on different servers.)
  • Messages are stored locally before being transmitted elsewhere, if they need to go off-server.
  • Admins are responsible for keeping an instance running and may choose which other instances they federate with—or refuse to interact with. (Think about blocklists for email servers that only send spam or harassment.)

When you use a Mastodon app, you log in to the server hosting the instance for your account. When you post in Mastodon, your text and any affiliated media and metadata are stored locally on that instance’s server, too. People whose accounts are on the same server or view a local feed see your post retrieved from their local data store.

The federation aspect comes into play as you build what is known as a social graph: the connections between you and other people. You follow people who post interesting things, and people who find your posts interesting follow you. (A Mastodon app typically handles the complexity of knowing which instance they are on.)

Your instance knows which other instances have users subscribed to you and vice-versa. Whenever you post, your instance uses ActivityPub to push that post to every server with a subscribing user. The same happens in reverse. Think of it like an email list but for servers rather than individuals. As Effy Elden, an infrastructure consultant at Thoughtworks in Australia, explained on a podcast:

Every time [a particular user with 6000 followers] posts, that essentially creates a thousand jobs, a thousand tasks for our server, which is to go out and push that out to actually make a web connection to each of those remote servers and deliver that, post that status. All of that is done asynchronously…

The asynchronous part means your post is handed off to agents on the server that perform the actual distribution. ActivityPub wasn’t designed with the current scale of Mastodon in mind, and these agents can sometimes get hung up if they lack the processing power or if other instances are overwhelmed. You can see propagation delays across the Mastodon network, which usually doesn’t happen or isn’t obvious with Twitter and other centralized systems. However, delays ebb and flow, typically clearing up after masses of new users join Mastodon and admins spin up more servers or add more resources. And, let’s face it, do you really care if a post takes a few minutes longer to arrive at your instance?

Mastodon offers a standard Web app as the front end for your account, shown below. The Web app offers a large amount of functionality. Developers have created mobile and desktop apps for every platform. (It’s hard to call them “third-party” apps when all parties are in a position of equality.) Unlike centralized networks, Mastodon’s API—the hooks into its system—is open to everyone, allowing apps to create any functionality and added value they want.

Mastodon Web app

That’s the background. Now let’s get cracking on how you can join the Mastodon network.

How To Sign Up for Mastodon

Because there’s no center of Mastodon, the process of getting up and running can be confusing and frustrating. It’s harder than picking an email server because there are so many choices, nearly all of which are free to join if they have the capacity to add more users.

Choosing from Apple, Google, or Microsoft for email is easier than picking from hundreds of Mastodon instances. However, in recent weeks, the Mastodon project has improved its landing pad, as its site is often the first place people arrive when searching on Mastodon.

If you go to Mastodon’s home page and click Servers, you see a list of instances accepting users. As I write this, the list has over 200 entries. All instances on the list commit to a few basic principles, including moderating against hate speech. Some let anyone sign up; others require that you apply for an account.

List of Mastodon servers

Finding one can feel daunting! Here’s how you can narrow your choice:

  • Just tell me where to join! Many people go straight to Mstdn.social. When you click Create Account, Mstdn.social provides a straightforward set of expectations.
  • I need some guidance: Under Topic, click General. There are dozens of servers in this list, but most have a particular focus by geography or subject matter.
  • I want to move to an instance where most of my Twitter friends are hosted: The Fedifinder app scrapes Mastodon accounts from the profiles of everyone you follow or who follows you on Twitter. After scanning, it shows you the instances used—in order of most to least—by folks on your list and which are open to new members. (Use it after joining, too, to populate your Mastodon account with followers, followed, or both.)
  • I’d like to be part of a specific community and have an account instance name that shows it: Search for regions or topics to find one that conforms with your preferences.
  • I’m concerned about where my data lives and want it to be in Country A or not in Country B: You can filter the list by country and read policies on an instance’s about page or through other links on their site to determine how they conform to data privacy and legal requests.

Instances may emphasize a particular community and could require that you demonstrate that you’re part of that community, like living in a country or being an ex-pat, an artist, or a working journalist. Others are less strict or take all comers.

This may make joining an instance feel like joining a club, a Discord server, or an Internet forum. But it’s really much looser. The only way the instance you choose makes a difference is that you can browse a Local view on Mastodon that shows public posts only from other users of the same instance, plus less-public ones from people you follow locally.

The most profound issue with joining an instance is that moderation policies and the exercise of moderation often align with the intent of the instance. For instance, the tech.lgbt instance is aimed at “tech workers, academics, students, furries, and others interested in tech who are LGBTQIA+ or Allies.” In conjunction with the kind of abuse, *-phobia, and other forms of antisocial behavior that people in a community like this often experience on other social networks, tech.lgbt has a lengthy code of conduct that starts with a summary of purpose and goes into detail. That means this instance is more likely than others to throttle routine harassment, which could involve moderation or bans against posts or users on the server, or blocking posts, people, and entire instances from appearing or federating.

Many admins accept or solicit donations to cover operating costs. Some offer full transparency on costs and revenue, such as Mstdn.social, which has a page containing its budget. I expect that, over time, we will see more for-fee instances that use revenue for a more consistent experience and for paid administration and moderation help. It’s also likely that more membership organizations will add a Mastodon instance as a benefit of being part of the group—that’s what Leo Laporte of This Week In Tech has done with the twit.social instance for Club TWiT members.

With an account to hand, you can now start following interesting people and make your own posts! (You can read public posts at some Mastodon instances without an account, but you’re highly limited in how much you can see across the federated set of instances.)

How To Use Mastodon

You can simply use a Web browser to navigate to your instance’s URL and log in. The Web app is not bad! In the discussion that follows, I’m using the Mastodon Web app because nearly everyone has access to it as a starting point. 

Annotated guide to the Mastodon Web app

You can also get a third-party app, which the Mastodon project tracks. This includes Tapbots’ Ivory, built on the framework the company designed for the late, lamented Tweetbot, one of the most popular Twitter clients. (Ivory was in alpha testing when Twitter cruelly and without notice pulled the plug on third-party Twitter apps. Tapbots moved quickly into “save the company” mode and produced a 1.0 version of Ivory that works quite well, with a public roadmap of features to come.)

Ivory Mastodon app

If you have an active Twitter account, there’s a way you can bring some of the people you follow (or who follow you) over to Mastodon. This requires a third-party app that you authorize to scan your Twitter account. (Such apps still work, but it’s hard to believe that will last long.) I recommend Fedifinder, as noted earlier. When it completes its operation, you can “click Export CSV with found handles,” save the file, then import them as a “merge” (not “overwrite”!) to your Mastodon account. I brought over several hundred people I follow that way and am pretty sure I was added by many more through Fedifinder or similar tools.

Fedifinder results

As you settle into Mastodon, you can use two views (look in the Web app’s sidebar) to help find people you might like to follow: Local and Federated. Local shows all public posts from the instance you’re on; Federated offers a timeline of all public posts across everyone followed by everyone on your instance!

As you see entries in your timeline, note that there’s no “engagement algorithm” or other tool to sort messages by a priority best understood by a social-network operator. Instead, posts appear in reverse chronological order, newest first. We’ll likely see clients that offer other options, such as prioritizing people you follow.

To add people you want to follow:

  • Click their name, which is a link to their profile, then click Follow.
    Follow button in the Mastodon Web app

  • Copy their Mastodon address in the form @account@domain.name, paste it into the search field, and press Return. For me, that’s @glennf@twit.social, or you can follow Adam Engst at @adamengst@mastodon.social. You then click the “person plus” icon to the right of their search result to follow them.
    Add User button in the Mastodon Web app

  • Instead of an address in the Fediverse format, you can paste in a full URL, like https://twit.social/@glennf, into the search field at the top left to get the same result.

I recommend fleshing out your profile right away so people know who you are. You can click Edit Profile in the upper-right corner of the Web app and then add a photo or avatar, a profile background, a biography, and links. There’s no such thing as a private account in Mastodon, but you can check a box to require approval of all followers, as shown below, and post in a semi-private manner that I explain later.

Controlling who follows you on Mastodon

Because Mastodon is distributed, no one can validate your identity as such. But you can use a technique that lets you prove you have a relationship with a Web site that you add to the “Profile metadata” section. On any site you link to, if you can add HTML on the page, you can add a rel=me tag, a sort of self-verification confirmation. You can click next to the metadata to copy the right format with your handle, which looks like <a rel="me" href="https://twit.social/@glennf">Mastodon</a>. The Mastodon part isn’t needed: the link can be empty—I always remove it. Once you add that snippet, the link will validate and appear green to you and others on your profile. 

Verified links on Mastodon

When you’re ready to post a “Hello, world!” message, consider writing a message you tag with #introduction. Tell people a bit about yourself. You can pin this message after posting so it appears as the first thing if someone goes directly to your profile.

When posting, consider the following:

  • Length: Messages can be up to 500 characters long on most instances. Some admins have opted to make their maximum message length longer. I’d argue that above 500 characters, you’re moving from microblogging into regular blog length, but opinions vary. Some Mastodon clients, like Ivory, show just the first 500 characters and offer a “more” link to view the rest.
  • Post visibility: Mastodon offers four ways to control your post’s visibility: Public, Unlisted, Followers-only, and Mentioned-people-only. Public and unlisted posts are posted the same way, but unlisted posts can’t be found through discovery features like search. A Followers-only post does what it says on the tin: it’s visible only to people who follow you. If you restrict followers, that is the closest thing to a private account post possible on Mastodon. 
  • Direct messages: The Mentioned-people-only post visibility option is how Mastodon implements direct messages between individuals. (Direct messages also get their own tab in the Web app.) Mastodon users and the Mastodon software warn newcomers that DMs aren’t end-to-end encrypted, so admins could read them on any server through which the message passes. That’s true for Twitter, too—it’s just that everyone who works at Twitter with the right level of permission can read everyone’s DMs. (A pass at the work to make Mastodon DMs fully encrypted is done but not yet deployed.)
  • Content warning: You can add a content warning to any message. Some people use this as a place to put keywords around topics that people might require preparation to encounter, like suicide, war, or racism. Others use the content warning field as something akin to a subject line. Still others ignore it. For instance, a vibrant debate is underway on Mastodon over whether putting “racism” in a content warning is a way to let people who don’t experience that societal ill avoid discomfort as opposed to allowing those who are the subjects of bigotry to skip posts that could add to their trauma. There’s clearly no right answer, only continuous discussions.
  • Accessibility: Mastodon culture has long emphasized accessibility. That’s reflected most strongly in the easy option to add a description to images you attach to a message. You can add up to four images. In the Web app, click Edit next to an uploaded image’s preview and either type in a description or use a text-recognition option that extracts text from the image.
  • Hashtags: Hashtags are vital in Mastodon: there’s no global search engine! Hashtags are the closest thing you’ve got, and they only return results against messages in your instance’s Federated feed, not across all of Mastodon (if there’s even such a thing as “all of Mastodon”). You can follow hashtags just like you do people.

You can edit or delete posts on Mastodon after making them. Just as Apple did with iMessage, edited posts are marked as such so people reading them know they’ve been changed, and previous versions of the post can be seen. (This requires an instance running Mastodon 4.0 or later, released in late 2022.)

If you want to add details below your profile, you can pin a post. Click the ••• button and choose Pin to Profile. You can pin up to five posts before you must unpin posts to swap in new ones.

Mastodon automatically threads posts via replies, so when you want to respond to someone, click the Reply button to add your post to the thread for that message. Clicking the star marks a post as a favorite, something you can see in your Favorites tab (usually spelled Favourites; UK English spelling prevails in the Web app’s interface).

Mastodon offers an option to boost (like retweet) another user’s post onto your timeline. There’s no “quote tweet” equivalent yet, in which you can annotate a boost. There’s been a lot of discussion about it, and some approach will likely emerge. (The discussion has revolved around whether quote-tweeting encourages harassment or is a useful tool with equivalent good and bad uses as regular posting.)

Other users can see a total number of favorites and boosts on each message, along with public replies, including threaded entries. Mastodon’s system doesn’t track how many people see a post across the federation, as that’s sort of impossible by its nature and seemingly in opposition to the privacy- and local-oriented infrastructure.

Now that you know the basic mechanics, you might wonder, is Mastodon where you want to spend your online life?

Is Mastodon for You?

I started using Mastodon alongside Twitter in October 2022 and switched over entirely at the end of November, just before a long trip abroad. Each time Elon Musk made an odd or offensive move, or Twitter engaged in abrupt and often objectionable behavior—like suddenly pulling access for third-party Twitter clients like Twitterific and Tweetbot without warning (see “Twitter Bans Third-Party Client Apps,” 20 January 2023)—Mastodon saw a new surge of people. By the end of December 2022, it started to feel an awful lot like my community back on Twitter.

The big differences? Mastodon has been quieter than Twitter because fewer people post in absolute terms. You never see posts from people you don’t follow pushed into your timeline by an algorithm or because someone paid for you to see it. The timeline is rarely event-driven: Mastodon isn’t designed to amplify messages but to spread them, so the kind of “Internet main character of the day” narratives that formed on Twitter around people thrust into the spotlight (for good or ill) don’t seem to happen. And there’s a noticeable lack of trolls you want to avoid. It was only a few days ago that I had the first truly objectionable account—one using an offensive caricature and speaking in a racially tinged dialect—appear on my timeline. I’m sure there are more, but between moderators clamping down on bad instances and bad actors, the kind of trolling and cycles of abuse don’t seem to have manifested yet. (You can easily mute or block offensive accounts—or even whole instances—from your timeline.)

It’s possible that with more users, more negativity will spread, but it might not devolve into a horrible mess like on commercial services, which depend on “engagement” and thrive on posts that cause outrage. Moderators have a lot of power over their instances and federation with other instances. I’ve seen a lot of ongoing discussions about how moderators contact other instances about abusive users and what they do when they don’t get a response. It’s plausible that people who post merely to be a pain in the ass or spread harassment will get kicked off well-run instances and move to anything-goes instances, which in turn get defederated by well-run instances. There’s a lot that could go wrong, but so far, it’s largely going right.

There’s more talking with than talking at by far, and while it’s not always civil—that’s probably neither possible nor fully desirable—there’s a calmness and sense of control not present elsewhere. With nobody stuffing material down your timeline’s throat or constantly urging you to “engage” more, you set the pace for your own experience and curate it more closely to what you want.

I’ve been using Ivory for weeks, and it’s a transformative experience for using Mastodon because it’s familiar from my use of Tweetbot and was designed with the current flood of posts, favorites, and boosts that now occurs on the network. Previous Mastodon apps were largely built when traffic was far lower and were created by people volunteering their time and giving the apps away. Many of these apps have rapidly improved—some have released several updates in the last few months—and paid apps will likely soon offer features that require more full-time development to support. While I have already paid for a year of Ivory, you don’t have to pick it—or pay anything as long as you use the Mastodon Web app or one of the increasing number of free Mastodon apps.

It’s an interesting time to try something new. If you’re frustrated by Twitter or swore off social networks entirely, give Mastodon a spin. Among other things, it’s not designed to addict you—a huge improvement to start with. And as Mastodon grows and the Fediverse matures, we may find an Internet we thought was gone forever was just hibernating. Time to wake up!

Upcoming Events

Click for special offers to Mac Users Groups members.

Website design by Blue Heron Web Designs

Click the image for information about advertising on this website.