I’ve been using fediverse stuff (Mastodon and, most recently, Calckey – I’m just going to use “Mastodon” as shorthand here, purists can bite me) for over a year now, and have been doing so full time for about six months, following Elon Musk buying Twitter (since on principle, I decline to give Elon Musk money or attention.) This latter part coincided with the “November 2022 influx”, when lots of new people joined Mastodon for similar reasons. A lot of that influx has not stuck around. Everyone is very aware at this point that active user numbers have dropped off a cliff.
I have evidence of this. I recently shut down my Mastodon instance that I started in November, mastodon.bloonface.com, and (as is proper) it sent out about 700,000 kill messages to inform other instances that it had federated with that it was going offline for good, and to delete all record of it from their databases. Around 25% of these were returned undelivered because the instances had simply dropped offline. These are people and organisations who were engaged with Mastodon and fediverse to the point of investing real time and resources into it, but simply dropped out without a trace some time between November 2022 and now. I know multiple people who tried it and then gave up, due to lack of engagement with what they were posting, lack of people to follow, inability to deal with the platform’s technical foibles, or worse because they found the experience actively unpleasant. Something has gone badly wrong.
There are some good reasons for this that really point to both shortcomings in the whole idea, and also how Mastodon is and was sold to potential new users, some of which might be uncomfortable for existing Mastodon users to hear. There are some conclusions to draw from it, some of which might also be uncomfortable, but some which actually might be seen as reassuring to those who quite liked the place as it was pre-November and would prefer it if it would go back to that.
Much of this is my opinion, based on my personal observations and experiences as someone who’s been all-in on fedi since November, and has been on it since April 2022, starting off on Mastodon.social and moving to my own instance in November. I’m happy to trail it as just that, my opinion, in advance. But I think it should be food for thought either way.
Mastodon here is also being used as a shorthand for various ActivityPub-interoperable platforms for making short messages, including Pleroma, Misskey, Calckey, whatever.
Mastodon did not, and does not, have a unique selling point for most users
As it exists at the moment, Mastodon functions essentially as Twitter did in about 2008. In some ways, that’s nice. The userbase is calmer, the DiscourseTM does not get spun up as easily.
But the thing is, functionality-wise, Twitter in 2008 existed in 2008. We are now in 2023, where someone can use the Twitter of 2023. From a functionality standpoint, Twitter in 2023 is quite good, with some of the alternative Twitter-style frontends (e.g. Misskey and Calckey) being at about parity.
So what does Mastodon bring to the table in addition to Twitter, that might justify someone deciding to take the plunge and move to it? There are a few unique things about the platform, but they generally fall into the broad category of “things users don’t care about”. Chief among these is decentralisation. This brings me to the first thing that might piss off a lot of Mastodon users:
Decentralisation is not a selling point for 99% of people
Mastodon is at risk of falling into the trap that a lot of free/open source software does, where the idea of the software being “free as in speech” is expected to outweigh or explain away deficiencies in its usefulness. However, this ignores three salient facts:
- Most people don’t give a thruppenny fuck about their freedom to view and edit the source code of the software they use, which they would not know how to do even if they cared;
- Most people are not ideologically opposed to the notion of proprietary software, and cannot be convinced to be because it is simply not important to them and cannot be explained in terms that are important to them; and
- When given the choice between a tool which is immediately useful for achieving some sort of goal but conflicts with some kind of ideological standpoint, and a tool which is not as useful but they agree with ideologically, they will probably choose the former.
You might be able to swing some people round to the Richard M Stallman way of thinking. But most people don’t give a shit about freedom, they just want their computer to work and perform X task for them in a way they find acceptable. Proprietary software largely delivers that to them. Your average Windows user does not care about software freedom when their computer is not, to them, a means of self-actualisation, but is instead a tool they use to accomplish computer things, and Windows serves that purpose well enough.
Mutans mutandis, the same applies to fedi with regards to decentralisation. Most people don’t care. It is not something you can sell people on Mastodon with unless they’re predisposed to care about such things. It is, at best, a third-order issue.
Yes, this applies even if you say “but Elon Musk can’t buy it!”. Someone who is still using Twitter right now obviously doesn’t care about Elon Musk owning things, or they consider it a lower-order issue. Remember – people are quite adept at making compromises on their beliefs for the sake of utility or pleasure. There are plenty of people who are deeply worried about climate change and urban sprawl who still drive cars; do you think that Musk owning Twitter is going to make them stop talking to their friends?
Decentralisation makes the user experience worse
As a brief explainer (without wanting to turn this into yet another technical explanation of the fediverse), if you start up a fresh new Mastodon instance, it will see no posts. Its “federated” feed will be blank, the search will not find anything, searches for hashtags will show nothing, it will ingest no posts from other servers. For the instance to start seeing posts, you must follow people.
How are you supposed to find people to follow in this case? Well, either you know someone who also uses it so you follow them (great – your instance now sees the posts of exactly one other user) or you go to one of the directory sites that exist to find accounts to follow. Both of these involve leaving Mastodon and its UI to go to some other place. That’s already a source of significant friction, if not an impossibility.
Then there’s the absolutely abysmal UX of following someone who exists on another Mastodon instance when you’re linked to their profile, which involves the non-obvious steps of manually copying and pasting a URL into a search box on your home instance, waiting for a connection to be made, then following them, at which point you won’t see any of their old posts, just their new ones. Compare and contrast with Twitter’s handling, which is where you search for a username, can see all their posts and can follow them without having to manually copy and paste a single damn thing.
Either way, an instance will then only see the new posts of people who someone on the instance is following. This means that the more people on the server, with the more diverse follow lists, the better things work; the more hashtags will get useful results, the more the federated feed becomes useful as a means of discovery. Conversely, if you are the only user – of one of only a few users – on your instance, your federated feed will just be basically your follow list, so your means of discovery is limited to things your followers boost.
This means that for new users to Mastodon, objectively the best experience is delivered by joining a big instance, e.g. Mastodon.social. .social’s large user base means that its users follow more accounts on more instances than any other, which means it sees more posts than any other, which means new users have a rich source of other users and posts to find and follow, and thus infinitely better discovery options.
However, new users are also encouraged to join small instances, and often explicitly not to join Mastodon.social, typically in service of avoiding centralisation and pursuing a properly decentralised fediverse. Sometimes this works, in that the user joins a smaller instance that is still reasonably active and has enough active users following enough active users. Often it doesn’t. Often they get frustrated and leave because they’re not seeing any posts that they’ve not seen before, when if they were on .social or another massive server they’d be seeing all sorts of content and have a reason to stick around.
Paradoxically, therefore, the best way for a person completely fresh to the decentralised Mastodon network to experience the benefits of that decentralisation, with its variety of different instances and different perspectives, is to join its largest possible instance, thus effectively contributing to its de-facto centralisation.
I don’t think there’s a good solution to this. It’s an inherent issue with the entire model. There are clearly trade-offs in play between decentralisation and convenience, but most users are not willing to accept these, or find Mastodon’s implementation of it so obtuse that it becomes frustrating. Existing users resist the centralisation and get pissed off with .social, its owner (the evil “Website Boy”) or its users, but they don’t really have a good answer to the paradox either, other than to simply ignore it because it is not a relevant issue for them.
The people who accept these trade-offs are not normal, and they’re in charge
Let me return back to my Linux analogy.
Linux, as a desktop OS, is 98% there. For most intents and purposes, a person can use Ubuntu or Mint or whatever as a drop-in replacement for Windows and be able to achieve their immediate goals 98% of the time – type document A, view website B, play game C. Cool.
The problem is that 2%. Because the proposition is not the 98% in a vacuum; it is that there is an alternative that meets 100% of the user’s needs, and they already have it. They are being asked to accept a trade-off of not being able to play their favourite game X, or communicate using app Y, or do work using piece of software Z, in place of something that does those things for them. They have no incentive to switch to something that provides them objectively less utility.
However, the people who are in charge of Linux distributions and are making decisions about how they’re structured, what they include and their compatibility level with other things, are going to be existing Linux users, who use it because it meets 100% of their needs already. That’s an exceptionally different viewpoint from that of someone for whom that 2% is a dealbreaker. That’s why you get the “works for me” stuff on bug reports, it’s why you get joking concepts like the Linux Fault Threshold – the viewpoint they have is of this working thing that works for them so it doesn’t need to change, the world just needs to accept it, warts and all. It takes someone externally to come in and say “fuck this, this is stupid, let’s fix it”, much like Mark Shuttleworth gave everyone a solid kick up the arse with Ubuntu.
Once again, mutans mutandis, the same applies to Mastodon. The people who use it day in day out as their primary or only social media are weird relative to the rest of the Internet. While they’re probably quite happy with Mastodon’s awkward onboarding UX, or the piss-poor approach to cross-instance following, and get frustrated by newbies asking “I’m on mastodon.social, do I have to register on mstdn.io to follow someone there?”, this is because they are used to it. They have a very different perspective from someone who may not even understand what a server is – there’s an increasing number of people who simply never grew up having to comprehend the idea of a server, or even the notion of using a desktop OS. Those people are quite simply talking on a completely different wavelength to people who are already all-in on the fediverse.
And again, as analogised to Linux, the people who are broadly “in charge” of Mastodon, as much as anyone is “in charge” of it, are those who are happy with it as is. So things like the follow UX do not matter to them, because they are already on big servers and have big follow lists already, so they have no insight into what new users go through. The new users have no real feedback mechanism, so they just leave and get frustrated, so things will never change.
To strain the analogy to breaking point; rather than a nice desktop login screen, a new user to Mastodon on pretty much anything except a big server gets presented with the equivalent of the blinking white-on-black text of a barebones Debian login screen. This is not fine. No wonder people left.
Mastodon doesn’t scale well, and its user base accepts no funding model other than charity
The Mastodon software is computationally expensive. It requires significant quantities of disk space without actively taking steps to purge cached media every so often. The distributed model means that a single post from an account with followers on (e.g.) 400 instances means that that’s 400 connections to 400 servers, all at once. It’s very easy for a small server to get overwhelmed and appear unresponsive. Larger instances that exist have had to progressively scale up to handle the disk space and processing demands of Mastodon. The more instances there are overall, the greater the server load on every other instance.
(There are less computationally-intensive server packages – Pleroma, Calckey and Misskey – but Mastodon is now, for better or for worse, the standard. It’s what people expect, and its feature set and API is the key driving force behind the feature sets and APIs of the others.)
The problem here is that despite these large and escalating costs, a significant part of the fediverse is intrinsically hostile to anything other than charity or goodwill as a basis for running a server, due to hostility to capitalism as an abstract or just on a general point of principle regarding how web services should be funded. Any instance that runs advertisements to its users is likely to be blocked by any others purely on those grounds. Some instances have tried to introduce subscription fees for joining, and been blocked as a result. Ownership by a corporate entity or accepting funding from one is also likely to wind up with a block.
This is not really compatible with the demands that running an instance places on its owners. Here we have a catch-22 – everyone should join small instances, but the costs of running those instances will get more prohibitive the more join them, but trying to recoup those costs in any sustainable or consistent way will lead to that instance getting blocked, which means nobody will join them. If you do somehow keep growing through charity or goodwill alone, your instance will become big enough that it isn’t “small”, so naturally nobody should join it.
One interesting development is that Meta (née Facebook) are apparently planning to start a new Twitter-alike called “Threads”, based around the ActivityPub spec. Already, instance owners are threatening to block it entirely, based around concerns as diverse as “Meta can scrape all our data” (which they could anyway, and could already be, because the fediverse is not a secure communication medium in any sense) to “Meta will embrace, extend and extinguish”, something that in my view is a false worry (if they did, all that would happen is that the existing AP spec servers would form their own separate social network… exactly as they did before Threads was a thing). But the reality is that all blocking Threads will do is cut the fediverse off from its most significant expansion possible.
To be clear, I’m not a fan of Meta or Zuckerberg, nor do I think that either would be adopting ActivityPub out of the kindness of their hearts; but I’m also not convinced that repeatedly pushing away any entity with any kind of resources and ability to match the server scaling that a proper decentralised network demands is going to help anything. You’re not going to be able to run a social network the size and breadth of Twitter purely based on generosity when the scaling of the network is so abysmal, or otherwise accepting a significant level of centralisation. The only other alternative, really, is that you don’t have one.
In no small part, Mastodon’s culture is exclusionary
All of the above is tolerable if you want to keep Mastodon/fedi as a niche interest platform for people with niche interests, run for fun and/or based on the goodness of peoples’ hearts. Or if, conversely, you want to make the learning curve deliberately hard and the UX deliberately obtuse so that only the people willing to put up with all manner of bullshit bother to stick around (what I’d like to call the “Arch Linux” approach to community building). It is, however, completely incompatible with mainstream adoption.
In the wake of November 2022, however, a good number of existing users absolutely made it clear that they did not want mainstream adoption; or if they did, they wanted it on their terms and their terms only. It should only include people who matched their specific ideological niche, and completely failing to 100% match the existing norms of the network as it existed then was grounds for banishment.
This did not help with the reputation Mastodon gained as a place where you are subject to the whims of both other users and other disparate community admins, who can and did arbitrarily cut people off from their followers and friends based on non-adherence to some ideological prior or other. This instance includes a “cop”, or a “lib”, or this one journalist on an instance of thousands is a shithead and the (overwhelmed and new) admins didn’t react properly, so out goes the baby with the bathwater.
This was also not helped, to be entirely even-handed, by some recent transplants from Twitter becoming, essentially, born-again evangelists – taking the messages about the existing broad norms around alt text and content warnings and using them as cudgels against others, including both other newbies and people who had been on Mastodon for far longer than they had, and (most disturbingly of all) against any kind of mention of discrimination because it wasn’t “nice” and they didn’t want to see it. Despite the reputation as a “nice” place, there are plenty of people on fedi who (fairly) disdain being “nice” and disdain being “SFW” constantly and also (completely fairly) disdain the idea of having to content warn every single brainfart someone has that might not be about “nice” things.
To be clear; it is absolutely fine to want to keep your existing community as is. Blocking servers that are actually infested with harassers and bigots is A-OK, and indeed a worthwhile leisure activity. It is the right of every instance to block whoever and whatever it likes.
It is not fine to act in the overtly hostile way that a lot of people did to newcomers. It is not fine to decide that whatever ideology you have about the Internet, politics or the world in general should also be enforced on everyone else. It is not fine to make sweeping and exclusionary judgments about anyone who is “using fedi wrong” by joining a big instance, despite this as noted being an objectively better experience. It is not fine to fail to remember that other server admins are humans who are capable of making errors of judgment, just as everyone else is. It is not fine to react in the way a lot of users did in November, as assuming that anyone who was not 100% on board with their particular brand of anarchism should be silenced, and then wonder why everyone fucked off.
The lesson to learn
I think it is safe to say that Mastodon’s expansion from now on is, in the absence of Twitter actually finally imploding, going to be a trickle rather than an explosion. BlueSky has its problems – most notably that it’s being run on a dumb “freeze-peach” basis with only token moderation – but it’s sucked up all the oxygen in the room by simply not presenting this decentralisation stuff front and centre, and making it all but irrelevant to the end user by having only a single large instance. Meta’s new “Threads” could lead to more mainstream adoption, but is likely to be cut off from the existing ActivityPub-based networks and effectively be its own defederated silo, along the lines of Counter.Social, Truth Social and Gab.
We are, however, getting something of a repeat of this with Reddit’s current brouhaha over API changes, only this time with the mooted alternative being Lemmy and more specifically Kbin.social. The latter has already avoided a lot of the above pitfalls, and is growing quite nicely, but the worry from my side is that the same purism and proselytisation about decentralising everything will eventually bugger up the #RedditMigration exactly as it did the #TwitterMigration.
In truth, I don’t think these things are truly fixable. The decentralised nature of the network introduces inherent issues and trade-offs that ruin the end user experience, and the people who are by and large responsible for anything that might ameliorate those trade-offs are also the people who are least likely to perceive an issue with them. Mainstream adoption as such is not really possible, without pissing off a lot of the people who have made Mastodon their home, or at least getting those people to make some compromises they will not want to make. If they don’t want to, that’s fine, but that will have to come at the same time alongside it remaining an obscure, niche network.
My instinct is that that is where Mastodon will land. It is niche and it will stay niche, and as above I don’t think the conditions that existed in November 2022 for a potential surge in adoption will exist again. Mastodon had its chance and it blew it – if it wants mainstream adoption, it needs to work on the above points and more so that the next time Elon fires the Chief Not Being A Prick administrator at Twitter and there’s another potential exodus, Mastodon is seen as something better than it currently is.
To be clear, this isn’t my “I’m leaving Mastodon/fedi” post. I’m not going back to Twitter, I am happy with my Mastodon follow list as it is. But I have given up on trying to recruit people and instead have taken a more “build it and they will come” approach with my current instance, Fine City Social. I’ll try and bring people over if they’re interested, but I find it very hard when discussing fedi to try and not get bogged down in technical minutiae, or to have to outline processes and user journeys that sound stupid to me even as I’m typing them, or to answer questions that basically boil down to “that sounds overcomplicated and too technical for me” with a question mark on the end. Maybe one day, that will change. That day is not today.
UPDATE – 25th June: I’ve decided to stop using Fedi. I’m not going back to Twitter (and will not use it while doing so delivers money, however small an amount, to Elon Musk, who is a repellent arsehole). But Mastodon has driven me up the wall recently for all the above reasons and more.