So, Bluesky is now a thing. I mean it was a thing before today, but the past
week or so seems to have been the “screw it i’m outta here” moment for a lot of
folks on X, the everything app Twitter1. I made my account long before
this Eternal September, but I think I might spend more time on there than I had
been previously. Here’s some random-ish thoughts on how I feel about Bluesky,
ATProto, and how I feel about Mastodon / ActivityPub as a consequence.
The Vibes
Twitter, and I mean Twitter before it turned to hell in a handbasket, had vibes from various circles. You had Tech Twitter, you had Weird Twitter2, etc. Even with all of that though, the vibes and memes were still often in sync because everyone was using the same app, and had at least some of the same trending topics they were aware of. Milkshake Duck, bean dad. There was always a main character, and often you didn’t really want to be the main character.
For better or for worse, Mastodon doesn’t always have those vibes in my opinion. It’s often a little bit stuffy. I’ve found Tech Twitter there in many ways, but Weird Twitter never seemed to migrate there, even when it was first popping off before Bluesky was a thing.
Bluesky though has all your circles, and is picking up at a much faster than Mastodon ever did. You’ve got your dril, you’ve got your darth, you’ve got your WeRateDogs. Having one of those on Mastodon was a challenge, and I don’t think there was ever a time even if all three of those accounts had an Mastodon / AP presence at all, were they ever posting at the same time.
So the vibes are there for Bluesky like Old Twitter the way Mastodon just isn’t. But what about the tech?
The Tech
Now I was an avid ActivityPub defender (and still am to some extent) when ATProto originally launched, and was feeling like Bluesky was too “corporate”, and kind of didn’t look into it much, and only begrudgingly joined.
Only relatively recently did I do a deeper dive into the pros and cons of ATProto, and I’ve sort of turned around on how I feel about the two.
I tried to run my own Mastodon server one time, and to be honest it Kinda Sucked. Mastodon simply doesn’t scale well down to one or two users. It’s fine if you’re on a larger server as you can share the load (shoutout Adam for omg.lol and the associated Mastodon server social.lol), but the effort I had to go to to even try to get Mastodon working on a server that already had services on it and it was not fun.
Mastodon also has some odd protocol design decisions that make life harder for small web, which seems oddly counter-intuitive. The most obvious one (and one that I’ve talked about in the past)3 is the fact that any rich link previews for any posted link (the OpenGraph info) is fetched by every single ActivityPub instance that sees that post. In other words, if you’re followed by 1,000 users on 1,000 separate Mastodon / ActivityPub instances, and you post a link to your neat little blog, in the span of a few seconds, you’re going to get 1,000 requests to your website. Is this necessary? Not really, but it’s the way the protocol has been designed, and continues to stay that way. There’s even a cute name for it, a Mastodon stampede4. This just isn’t sustainable.
ActivityPub is also aggressively chatty when it comes to the actual communication between servers. Migrating between servers is basically just like shoving a HTTP 302 at your followers and hoping for the best. You don’t get to move your posts, just your followers and following. Your username doesn’t stay the same either.
ATProto on the other hand is built on layers of abstraction, so your handle is just a reference to a permanent identifier. Change your handle, no problem. Want to move your account entirely from one PDS (Personal Data Server) to another? No problem. The protocol has support for it from the beginning. Rather than sending a bunch of pushes when you post something, your PDS just adds a new post to your PDS, and the network aggregates and displays to clients. It just feels cleaner. Spinning up a PDS compared to a Mastodon server is like night and day. I was up and running with my self-hosted test user in about 10 minutes and that was with having to tweak the install script slightly to meet my preferences.
The Summation
So which one should win? It’s not that one can win and the other shouldn’t, they each have different design goals. However, I’ve come around on which one is (at least currently), more scalable, and I think it’s ATProto. From a social perspective, Bluesky seems to be winning the normal user demographic, which Mastodon always had trouble getting users to adopt.
As for my self-hosted PDS, I’m still deciding whether or not to move my current Bluesky hosted account to it. There’s currently no import path back to Bluesky (not because of protocol reasons, but because of giant account reasons), and that makes me feel like this is a permanent commitment if I do. We’ll see I guess.
Footnotes
-
considering that you still can’t use X as a bank like was promised, lol ↩
-
see dril, et al. ↩
-
have I overused parentheticals yet? since I used another one in the following line, clearly not ↩
-
get it, because mastodons are like elephants and elephants stampede? I’m done with the footnote overuse I promise ↩