Auto-generated description: A hand is holding a smartphone displaying the Bluesky Social app page in the App Store.

One of the criticisms of Twitter-replacement ‘decentralised’ social network Bluesky has been that… it’s not decentralised. Laurens Hof, author of The Fediverse Report shares a couple of updates explaining how that has changed.

There’s quite a lot going on technically here, so by way of preparation, understand that ‘ATProto’ is short for ‘Authenticated Transfer Protocol’ and is an open standard for distributed social networking services. You may have heard of ActivityPub, which underpins a lot of Fediverse services, including Mastodon.

Bluesky is a bit different in that it has more essential services to make the whole thing work. As Laurens explains:

One of the things that makes ATProto interesting… is that it takes the software that runs a social networking app, and splits that up into separate components. These infrastructure components (relays and AppViews, in technical terms) can be independently run, and be reused by other parties.

Up until recently, there have been a few low-key experiments with running independent infrastructure for Bluesky, but that has mostly been contained to people experimenting for themselves, and not making the results accessible to the public. These projects also needed other infrastructure projects in order to be valuable.

What changed in the last week or so is that there are now multiple pieces of independent infrastructure that connects these separate pieces. Apps like Deer are useful in their own right, but in order to add some new features to the app they needed another open backend application (the AppView). It also was the first time when it actually was possible to select another AppView. At this point it actually became feasible to run independent relays and AppViews to get to a point where you can use Bluesky without using Bluesky infrastructure.

As he goes on to explain in a separate update, this means:

There are now multiple relays that are publicly accessible. Other people also have made alternate AppViews that are Bluesky-compatible. Combined, this makes it now possible to fully use Bluesky without using any infrastructure owned by Bluesky PBC, and the first people have done so. To do so means using a separate PDS, relay, AppView and client.

The way ATProto works, is that it takes the software that runs a social network and splits it up into separate components, with each of those components being able to be run independently. This has made self-hosting any component possible since the beginning of the network opening up. But to tak advantage of this, and get to a state of full independence, it means running multiple pieces of software. This has created a bit of a catch-22 in the ecosystem: you could run your own relay, but without another independent AppView to take advantage of this, it is not super useful. You could run your own (focused on the Bluesky lexicon) AppView, but without a client that allows you to set your own AppView it is not particularly useful either. What happened now in the last weeks is that all these individual pieces are starting to come together. With Deer allowing you to set your own custom AppView, there is now a use to actually run your own AppView. Which in turn also gives more purpose to running your own relay.

I get that this is pretty technical, but it means that those with the skills can build independent platforms (e.g. Blacksky) which are based on the same protocol. Posts, notes, and other data can be shared among ATProto-compatible systems.

This is great news, and makes me more inclined to go back to posting more than just updates from my blog. Feel free to follow me @dougbelshaw.com.

Sources: Fediverse Report – #115 / Bluesky Report– #115

Image: Yohan Marion