My social-media life has been Fediverse-first since last November. I stick my head into Bluesky and Threads regularly, but no longer bother visiting Twitter/X much. This piece takes a close look at Mastodon-land as things stand in late summer 2023. What’s working, what’s not, what are the alternatives?
First, my biases: I’m pretty sure that federation is the only plausible path for social media. Also: Right now, being on our member-owned co-op Mastodon server is the best social-media experience I’ve had in years and years, maybe ever.
Yeah, there are only maybe a couple of million active users, but a high proportion of the people I want to listen to, and that I want to be heard by, are here. Quality of discourse is good. Assholes are thin on the ground.
Why Fedi? · Because having the global conversation owned by a single party hasn’t worked, won’t work, can’t work.
Cliché but true: If you’re not paying for it, you’re the product. Which means that some combination of advertising and pay-for-reach is inevitable. Both of these, based on the evidence, are powerfully corrupting. In principle, advertising doesn’t have to be I guess, but in practice, Internet advertising is dysfunctional.
Maybe I’m oversimplifying, but the solution seems obvious: Don’t have just one provider. And have people pay for the service, whether through voluntary donations or (as with our own cosocial.ca) low membership fees.
What’s Fedi? · What does a protocol or platform have to have and do to be “Federated”?
(Let’s call the service providers “instances”.) Obviously, you need to be able to follow and boost and reply and so on from one instance to another.
But, equally important: You must be free to move your account from one instance for another. No, let me re-phrase that: It should be acceptably cheap to switch instances.
Let’s be a little more specific about that cost, and list how it should work. When I switch instances, I’d like:
To keep the same identity. This works for email; I’ve had the same email address for decades, and switched providers more than once.
To drag my followers along with me.
To have the service remember who I’m following and blocking and muting.
My posts to survive the move, and remain associated with me.
Finally, curation and moderation must be cheap and easy enough that most people have an abuse-free experience, even if they are intersectionally vulnerable.
Which Fedi? · At the moment, there are only two plausible candidate protocols for the Fediverse, ActivityPub (it’s behind Mastodon) and the AT Protocol (behind Bluesky). Let’s go through our criteria and see how they stack up.
Oh, wait; while AT/Bluesky says they will have federation, they don’t yet. So I guess we’ll talk about the ActivityPub/Fediverse side of things.
Oh, wait; while there are lots of ActivityPub implementations and they interoperate pretty well, the world calls it “Mastodon”. Whether we Fedi-fans like it or not, for the purposes of this article let’s not fight it, we’ll look at the current state of Mastodon. (But I will keep mentioning Bluesky for purposes of comparison.)
Mastodon: Basic federation · Yep, you can follow and reply and block and so on, instance-to-instance. The experience is OK.
But… there are problems. The instances’ views of the conversation aren’t perfectly consistent. Which means that sometimes you won’t see all the replies or boosts that you should. Except for if you’re on a big server with thousands of users this will happen less. Why? It’s brutally complex; here are explanations by Julia Evans and Sebastian Jambor. Mastodon has things called relays that can help with this; I haven’t tried one out yet.
Interestingly, the Bluesky AT Protocol is trying to solve this problem by having two kinds of servers: Personal Data Servers where you interact with the network, and Big Graph Servers that “handle all of your events, like retrieving large-scale metrics (likes, reposts, followers), content discovery (algorithms), and user search”. Like much else about Bluesky, this is still theory-ware at the moment; if that architectural idea works, maybe Mastodon can adopt it?
In any case, is this a fatal flaw? Based on my own experience, I’m going to say no; and I’m on a pretty small server. And if it is, I’m pretty sure my profession can figure out a fix.
Mastodon: Identity migration · In Mastodon-land, your identity is totally tied to your instance. When you migrate, that identity changes. But maybe that doesn’t hurt so much?
Let me illustrate by example, the example being me; I’ve migrated three times. A long time ago, I was @email@example.com. But if you follow that link, it tells you that I’ve migrated to mastodon.cloud and there’s a nice “Go to profile” button, the first step along my migration path, to mastodon.cloud, then hachyderm.io, and finally my current home at cosocial.ca.
Don’t know about you, but to me this feels… OK? If I were fanatical about preserving my identity long-term I could have my own private instance, I guess, and lots of people do.
Once again, let’s look at the Bluesky/AT theory. In that world, if you own a domain name, that can be your identity, independent of what instance you’re on (in theory, since they only have one instance now). For example, I’m @tbray.org. There’s an even deeper layer involving public-key voodoo where you can change the domain and retain your identity. Appealing! Will it work at scale? Who knows!
But if you like the Mastodon approach of server-based identity, Bluesky can do that too, I could be (and was, for a while) @timbray.bsky.social.
Mastodon: Follower migration · The drag-your-followers piece seems to work. I’ve grown from nothing to 16K followers since last November, dragging them along three times. The process doesn’t seem to be 100% perfect, I’ve lost a tiny sprinkling at each step, but I’d say good enough.
As for the people you follow and block and so on, things could be better. Yes, you can migrate them, but you have to export them from the old instance to CSV and import on the new instance. Given that Mastodon has solved the hard problem of dragging followers, this part of migration should just be built-in.
Mastodon: Post migration · Nope. Doesn’t happen. The posts that I made on hachyderm and .cloud and .social are still there. How bad a fail is this?
It’s a hard problem. The Fediverse is embedded in the Web, and on the Web, things have HTTP URLs, and those URLs begin
with the name of a host, and that’s pretty well that. Here’s
a forest picture post from late last year (its address starts
https://mastodon.cloud/…) and a
golden tulip from April
https://hachyderm.io/…). Well… what should have happened when I migrated?
Those posts’ URLs might have been used in lots of other Web pages out there. Some of those places might be Mastodon posts (or Bluesky or Wikipedia or the New York Times). Do you want to break all those links when you change instances?
You could copy all the posts over to the new instance; then each exists in two locations. Doesn’t seem optimal. You could do that and arrange for the “old” instance to redirect requests to the post’s location on the new one. (For geeks: 301.) Which, OK, but relies on that host continuing to exist and be well-behaved. Thus, fragile; you might have left the host because it’s misbehaving or going away.
Like I said, hard problem. Once again, Bluesky has (in theory) an answer. That tulip picture on hachyderm that I linked
above has a URL that looks like
https://hachyderm.io/@timbray/110154493128128863. So anything
Web-compatible that sees it will start by contacting a Web server at
hachyderm.io. Bluesky wants posts to have a URL that looks
at://tbray.org/main-feed/3jwdwj2ctlk26. The idea is that the leading
tells software not to send it to
tbray.org, but to software that
understands Bluesky’s AT Protocol and will know how to find the instance that that post happens to be on. The mechanism
isn’t that important, what matters is that the post’s address doesn’t depend on what instance you were logged into when you made
Will it work? Nobody knows, Bluesky is still building this stuff. It’s clever and as far as I can see architecturally sound.
To work, all that needs to happen is for all the web browsers and apps you use every day to learn how to deal with addresses
that begin with
at://. Which, while not as impossible as it sounds, is a heavy lift.
I have a personal opinion here, which may be eccentric: I just don’t care that much about migrating posts. If I publish anything that I think might stand the test of time and contains a message I really care about, I do it here on this blog, which is my space and nobody else’s.
The stuff I’ve published on Twitter and more recently Mastodon has an ephemeral feel; I’d be sad if it went away, but not heartbroken. So I can live with Mastodon’s approach. And even if I couldn’t, for the moment all the solutions I can think of look like Bluesky’s, i.e. not lightweight.
So, for the moment, what Mastodon does is OK by me. And I should point out that being able to migrate service providers at all is a new thing in the social-media world and maybe Mastodon’s most important feature.
Mastodon: Curation and moderation · I think this is the most important and interesting problem in the federated social media space. (The technology issues are a bit on the boring side: We’ve built things like this before, we know how to do it, we’ll solve whatever software-design problems we need to. Computers, you know, they’re fast.) But defederated moderation at scale? Scary!
At the surface level, this one should be a little boring too. Billions of humans participate in social media every day, and while it’s not all sweetness and light, the systems people have built for spam-fighting and anti-abuse are… not bad. I firmly believe that if a social-media provider has an abuse issue, it’s because they don’t care enough (or maybe are on the abusers’ side). No, you can never cut the level of nasty noise down to zero. Yes, you can achieve an acceptable level of trust and safety.
Mastodon’s trust-and-safety story is imperfect, but it’s not terrible. The fact that there are thousands of instances, each of them does their own moderation, and each spots problem people coming in from problem instances, is in aggregate very powerful.
Also, Mastodon has a nuclear weapon: Defederation. If you’re running an instance, and you don’t police it, and if Nazis and incels and channers start using it for abuse, instance admins will notice really damn fast, and unless you fix the problem the mainstream instances will de-federate you, which is to say 100% of your users will be perma-blocked from everywhere. At which point you might as well shut down. So the incentives to tend your garden are pretty strong.
Will it work at really huge scale? I’m not sure, to be honest. There are already a couple of organizations offering “shared blocklists” to aggregate knowledge on who it’s not safe to talk to. There’s a nascent organization, IFTAS, that wants to develop a whole suite of shared tools and offer moderation as a service.
Mastodon: What’s good · The client-software space is lively. For each of iOS, Android, and Web, there are multiple option that offer really unique takes on the experience. A few of them are delightful.
It’s pretty feature-rich these days. You can edit your posts. Boost and follow and like work smoothly. There are polls. The presentation of images and video is pleasing, and translation from other languages is robust.
The Content-Warning (CW) system works great. For a while you’d get snarled at if you were publicly angry about bigotry without a CW, but that seems to have subsided. These days CWs are used appropriately: Suicide, Food, Food including meat, alcohol, #NSFW. Oh yeah, #NSFW and “#lewd”; there is plenty of bared-adult-flesh erotica that you can see or not as you please.
(Note: This does not include the big servers, mostly in Japan, that are full of what they call “Lolicon” and we call child abuse; they’re defederated by all the mainstream instances.)
Hashtag following is excellent.
The best thing, though, is the quality of the conversation. People are interesting and thoughtful and on average kind.
Mastodon: What’s bad · Features are slow to arrive. It’s not that huge a code-base (120K or so lines of Ruby) but it’s complicated and the development team is thin.
The search capability is very limited. OH WAIT, opt-in search of post content is arriving in Masto 4.2 later this year.
It doesn’t do quote-tweet. Yeah, bummer. On the roadmap but don’t know when it’ll land.
Discovery is hard for new arrivals; there’s plenty of interesting stuff but how do you find it? I cracked that nut by aggressively looking for interesting people and seeing what they boosted, but I’ve been on social media forever and know plenty of good names to start with.
What about money? · Low membership fees times lots of people means that real money could start flowing through the Fediverse. Smells like an opportunity for businesses to provide services like sysadmin and moderation for instances. I’m pretty sure these are not opportunities to grow fast, attract venture investment, and get billion-dollar valuations. Because for that, you have to be “sticky”, lock your users in so you can squeeze the money out.
I may be kind of left-ish, but I generally approve of free-market mechanisms where appropriate. And I’m old-fashioned, I think that for free markets to work, customers have to have free choice, which means businesses really shouldn’t be based on lock-ins which remove that freedom.
Prediction · Elon Musk was the Chicxulub asteroid that doomed the social-media dinosaurs. They’re still vertical, but staggering. A few misguided souls are trying to breed new dinosaurs with the hope of owning and monetizing the world’s conversations.
Mastodons are mammals; unlike mastodons, the players in the Fediverse aren’t huge, they are the little furry mammals scurrying around those unsteady dinosaur feet. Federation is the only plausible way forward. It’s where I’m investing my time and energy and I think you should too.
For now, that mostly means Mastodon.