ActivityPub, Mastodon and the Fediverse

As I previously mentioned, many folks I follow on Twitter are moving away from the platform for various reasons; most of them would probably cite Elon Musk's takeover of Twitter and some of his subsequent actions as the cause, but I think the algorithmic timeline and manipulation of tweets for engagement is probably the biggest reason to leave --- indeed, I'd say that algorithmic manipulation of what you see (aka "the outrage machine") is the worst part of the centralised social media platforms and has all kinds of negative effects.

Most of the people leaving tell others they are "going to Mastodon", and indeed a lot of them have signed up with one or other of the large public Mastodon instances. But really what they're doing is moving to the Fediverse; you see, Mastodon uses an open protocol called ActivityPub, and will interoperate quite happily with other software that uses ActivityPub. In my case, I like being in control of my own Internet presence, so I wanted to run my own instance (just as I run my own mail server, my own website on my own web server and so on). Rather than using Mastodon for this purpose, I went with Pleroma, which is a lighter-weight alternative with pretty similar functionality. Just to emphasise, you can actually use Mastodon client apps with Pleroma, and doing so works just fine.

One consequence of the confusion about where we all are now is that people think of a Fediverse account like as a "Mastodon account", so you might expect to see a link to it using the Mastodon logo . Equally, if you know someone is using Pleroma, you might expect to see the Pleroma logo . Really, though, we should be using the ActivityPub logo , so that's what you'll find on my website.

Sadly, support for the acct: URI scheme is rather limited at present, so I've made my link go to the Pleroma front-end. This isn't the end of the world (there's a convenient "Remote Follow" button), but it would have been nicer to be able to put a Fediverse link there directly. Maybe at some point I'll have a go at fixing it using some Javascript :-)