Basically, my problem with Twitter isn’t that it’s centralized, but that it’s Twitter.

## Indieweb vs. Fediverse

### Indieweb

You get someone’s profile URL, example.com/bob. You put that URL into a browser, and it shows you a human-readable profile which also contains machine-parseable data. You add the URL to your feed reader, and it subscribes to their posts with full attribution. The content is presented in your feed reader in a freeform way which allows a high degree of expressiveness, and it’s easy to go to the original post in case there’s some missing nuance or visual context.

All subsequent interactions are either directly between you and the person in question, or are webmentions which only get seen by your direct subscribers if you put them in your public feed.

### Fediverse

You get someone’s address, @bob@example.com. You put that into your web browser, and you get a warning that says, “You are about to log in to the site ‘example.com’ with the username ‘%40bob’, but the website does not require authentication. This may be an attempt to trick you. Is ‘example.com’ the site you want to visit?” You back out of the error message and try to manually reformat the address. example.com/bob? 404. Maybe it’s example.com/@bob? That doesn’t work either. You read a tutorial on Webfinger addresses and learn that you can load their “resource profile” by going to example.com/.well-known/webfinger?resource=acct:bob@example.com. So you put that into your web browser, which then downloads a blob of JSON text. Buried in it is the URL example.com/user/bob. Finally, progress.

Now to follow them. You try putting the user address into your feed reader. Error. You try putting the profile URL into your feed reader. Error. You see a “Follow bob” button. It brings up a “remote follow” page which requires you to put in your own Fediverse username. You think you have a Mastodon account, so you try putting that in. It starts to initiate a weird three-way handshake, but fails.

You go back to your Mastodon instance and try searching on @bob@example.com. Nothing comes up. You try to figure out why. No users from example.com appear. You search through both your instance’s and example.com’s blocklists, which are hidden deep in their respective “about this instance” pages. It turns out that five years ago one admin on one server said something mean to an admin on a completely different server and that led to a widespread level of discourse that resulted in a bunch of instances blocking each other, and others joining in solidarity.

Finally you dig up an Atom feed for the user via finding a HOWTO that someone wrote seven years ago. The feed shows no posts, because the instance admin decided to disable Atom because it allowed blocked people to still follow the person who blocked them and they don’t understand Internet privacy. But it turns out it wouldn’t have mattered because this particular instance is set up so that the only way that posts appear on other peoples' timelines is by push notification.

You give up and get an account on their instance so that you can participate in the conversation. Now you have another instance to check all the time. 90% of your notifications are random spambots following you. The other 10% are you either getting tagged into random conversations by mistake, or some random person on another instance replying to something you said totally out of context and attacking you for their interpretation of a thing that had nothing to do with anything you were talking about. They get downright abusive, so you report the user. It turns out that the abusive user is also one of the admins of that instance so the report just goes to them anyway. They start posting anime memes about you. Your blocklist grows exponentially.

Finally you find some thoughtful long-form content. All of the posts are displayed in the form of a block of unformatted text followed by up to four badly-cropped images; no images can be inline, and even basic text options like bold and italics are unavailable, and web links either only appear as bare URLs, or aren’t obviously links because your instance’s stylesheet removes all formatting from them. You try to see a post in its original context, and it takes you to your instance’s view of their profile, which looks the same. You finally figure out that you can click on the date and that shows you the post on their public timeline. It looks the same, except now there’s no widget to let you automatically unfurl every CWed post in the thread for some reason like there was on your instance’s local view. But the instance’s local view is missing the first half of the thread because it happened before you subscribed to them.

One month later your timeline gets flooded with random unordered posts from 3 years ago because some forgotten instance’s Sidekiq queue suddenly got unjammed.

## Social media break

Yesterday I decided to take a break from social media. This was for a number of reasons, but they all boil down to my increasing frustration with how interactions occur in rapid-fire quick-sharing spaces, and this has been growing for quite some time.

The microblog format significantly changes the way people interact. Every post is short and taken out of context (while everyone expects everyone else to have the full context already), which makes it impossible to have a as meaningful conversation especially when a short notion spreads far and wide. I feel that it is a big part of what’s dividing everyone in a never-ending search for clout that devolves into a shouting match.

## Birdsite

So, my Mastodon instance of choice is having notification/sending/receiving issues again, and rather than doing what I usually do in this circumstance (temporarily switch back to mastodon.social or see what other instances I’ve been on are still around – spoiler: very few of them) I decided to just go without instant-update social networking for most of the day.

But then I still needed that little dopamine rush, and so I decided to try Twitter again (at least, more than my usual “post some stuff and maybe check my notifications” tendencies), and friends, let me tell you… Twitter is awful.

I’d forgotten just how much of a hellhole of advertising, “engagement”-optimizing, outrage-inducing chatter it is.

On the plus side, a lot of people seem to really enjoy the anti-ads I’ve been running for a few weeks (for \$1 a day). I think I’ll expand that out into other subject areas.

But what’s even better is just getting unaddicted to commercial social media. Yikes.

## Mastodon instance rambling

Lately most of my social networking has been via Mastodon, which is basically an open source, semi-distributed equivalent to Twitter. When I first joined a few years ago I got an account on the flagship instance, but not much later ended up switching to queer.party. Unfortunately, queer.party has had several scaling issues – similar to a lot of the other small instances – and while it hasn’t gone down entirely, it’s so backlogged that it’s gotten to be pretty much useless.

On Mastodon there’s a general feeling that anyone with a mastodon.social address isn’t savvy because they don’t “get” Mastodon, that the whole point to it is that it’s distributed and you don’t have to be on a single central instance and so on. But the problem is that most of the instances – and there’s quite a lot of them – aren’t run in a way that can be expected to scale over time.

Most instances are maintained as a spare-time thing by someone, but instance management is more and more becoming a full-time job. I am incredibly grateful that Maffsie is willing to run the instance even on that basis, don’t get me wrong! But all the same I’d like to be on an instance where it doesn’t regularly go down or have massive backlogs (7 hours, at present) or random weird federation problems.

The problem with Mastodon in this case is that any Mastodon instance, regardless of the user count (or a user limit), will continue to grow without bounds for as long as it’s being used, and as the ActivityPub network grows, the amount of stuff that every instance needs to keep track of will grow too.