home Anil Madhavapeddy, Professor of Planetary Computing  

Using AT Proto for more than just Bluesky posts / Feb 2025

While Bluesky is taking off like a rocket, a number of us moving towards self sovereign digital infrastructure have been looking at how to use the Bluesky network for other uses than just short-form notes. This is possible because of my colleague Martin Kleppmann's hard work on the "AT Protocol" that underpins the Bluesky network. Martin recently gave us a deep-dive into the AT proto in the Cambridge security group, which made me look into other uses of it more closely. As background, you may wish to read his paper on the subject which explains the technical architecture extremely clearly.

One of the key problems this solves is one I'm having with using my ActivityPub-based services at the moment. Each of these services (like my video or microblog sites) do not share a common authentication system, and so each account is different. Nick Ludlam and I are also thinking of renaming all of our services to go under the cleaner recoil.org domain rather than a subdomain, but this involves a fairly error-prone migration that lacks resilience to domain change changes since they are baked into the ActivityPub protocol messages. The AT Protocol underpinning Bluesky deals with all these by decoupling the underlying authentication and identity system, and the content that's flowing over the network.

This strikes a nice balance between pure self-hosting and longevity while bootstrapping the network; I chuckled, for instance, reading Q's post from 2012 about how a new social network called "app.net", which described itself as "your real-time feed, a home for meaningful conversation, where you control your data", but is now a long expired domain-squatted adfest. The AT Proto model seems more pragmatic in that it builds up a centralised bootstrap, but the underlying protocol itself admits innovation for other apps, and so permits evolution.

So let's look at some of these alternative apps are already cropping up:

  • Whitewind is a blogging platform (source code) that lets you write longform posts in Markdown format and post them to the Internet. The data itself is stored on a local PDS and you can republish the blog posts using a simple site generator.
  • Roomy (via Thomas Gazagnaire) is a peer-to-peer messaging app built over AT Proto. Ryan Gibb points out the nice idea of "digital gardening" in their discussions which I absolutely love and have been building into my own Bushel notes platform which powers this site. I've wanted to the ability to go from short-form thoughts to long-form consolidation for years and years now.
  • Tom Sherman maintains a Bluesky list of alternative ATProto apps, from which I discovered Streamplace, a mechanism to share live video on AT Proto.

Then there are a bunch of "alternative clients" that do specific forms of media, such as photos or videos. This is less about using the underlying protocol than about building a new client, but it's still pretty neat that it's so accessible:

  • Flashes is a photo sharing app that recently launched in beta and is currently only available via TestFlight. Like Insta, it allows multiple photos per post, and you can then share comments with the mainline Bluesky.
  • Bluecast is a real-time audio streaming service for any Bluesky users (anyone remember the fun we had for about two weeks in the pandemic lockdown with Clubhouse?)
  • Bluemotion has been built by the Japanese Bluesky community for quick and easy video sharing. Alastair Tse says that development on this has slowed down, possibly as Bluesky supports videos natively now.
  • Bluescreen is a Tiktok alternative for video posts, as is SkyTok. Skytok seems to built on something called surf.social that gives more control over a Bluesky/Mastodon/RSS feedset as well, but it's still in closed beta.

This is just the tip of the iceberg for the open web, of course. Excitingly, there are experiments ongoing to run ActivityPub over AT Proto which describes how complementary these ecosystems are. And most excitingly from my personal perspective, is Patrick Ferris successfully posting from an up-and-coming OCaml ATProto implementation. I'm looking forward to hacking in this ecosystem in 2025!

(Thanks David Gageot for spotting typos!)

# 11th Feb 2025   iconnotes bluesky distributed fediverse ocaml selfhosting

Related News