AI-generated by Google Gemini / Nano Banana 3

Like Lindsey Buckingham on What’s Up With That, this post wrapping up my mini-series on Exit has been bumped repeatedly due to breaking news. Thanks for your patience. Also, there will be no newsletter next week due to the US Thankgiving holiday.

A few weeks ago, I looked at the ongoing efforts to enable Exit through regulation and a huge financial investment. The good news is we don’t have to wait to see how those bets play out. Exit is possible today, thanks to the open social web (the emerging umbrella term for the Fediverse/ActivityPub, Bluesky/ATproto, and suchlike).

Here is a whirlwind tour of some of the technologies and projects making this possible. There’s no way to cover everything in this space, so if you think I missed something important, please let me know at [email protected].

Moving your stuff (posts and social graph)

Threads, like most big platforms, lets you export your data, but it’s clearly designed for regulatory compliance and archival purposes, not to help you set up shop on another social network. Of twelve external services that can receive your data directly, only two (Blogger and Jetpack) are publishing platforms.

Fediverse (ActivityPub protocol): Mastodon supports exporting and importing your data, but there isn’t a good way to go between other implementations, since there’s no standard and a huge variety in content formats. Lisa Dusseault, CTO of the Data Transfer Initiative, put out a good proposal for portability called LOLA which was discussed at the September 2024 Fediforum.

AT Protocol, which Bluesky is built on, has data portability baked in. Everyone has their own Personal Data Server (PDS) which keeps your posts and social graph securely separate from everyone else’s. Most peoples’ PDS are stored on Bluesky’s own servers, but you can safely move your PDS to another compliant service and everything will still work.

PDS MOOver is a portability suite (with a cute cow logo) that lets you move your PDS between any two providers, plus useful stuff like backup and restore. And Blacksky has added PDS hosting to their suite of alternate ATProtocol services, with a tool called Tektite for the migration process.

This is all pretty nascent – one estimate from August was that only about 1% of PDS were outside Bluesky servers. That was before Blacksky ramped up, so the number is probably higher now. And the vision of portable, personal storage is clear. Someday, you may be able to move your PDS around at least as easily as moving your money to a new bank.

Moving your identity (so people can still follow you)

The big platforms really don’t want this to happen, because your social graph and followers are the glue that keeps you where you are. The open social web blows this up with Decentralized Identifiers (DIDs).

DIDs are unique identifiers, usually backed up with cryptographic keys (fancy math that makes them almost impossible to fake or steal) that are tied to an account you control, instead of any one company. The W3C approved a specification for DIDs in July 2022, but its pedigree goes back further. The Decentralized Identity Foundation was founded in 2017 to develop “the foundational components of an open, standards-based, decentralized identity ecosystem for people, organizations, apps, and devices” and boasts hundreds of member organizations and contributors. 

AT Protocol is built on DIDs. Bluesky built a centralized directory called the Public Ledger of Credentials (PLC) – effectively a big phone book listing everyone’s DIDs and where to find their associated PDS as it moves around between providers. This is a bit like how the mobile phone network can use your phone number to find you even if you change carriers or your physical phone.

Having one big PLC controlled by one company actually isn’t all that portable, so to their immense credit, Bluesky is spinning the PLC out to an independent organization in Switzerland.

Fediverse doesn’t use DIDs. Your Fediverse handle is more like an email address, where “@gmail.com” points to Google’s service only. [The analogy isn’t perfect, because if you own your own domain, you can change email providers under the hood, more like the PLC model.] There is a proposal out there for a Fediverse-specific DID, but I am not aware of it being implemented anywhere yet.

Interoperability (post on one platform, read on another)

So far, everything I’ve discussed has been useful within one ecosystem (Fediverse, or ATproto which is mostly just Bluesky). Back in late spring, A New Social launched BridgyFed, a nascent holy grail that lets you publish in one protocolspace, and have your profile and content appear in the other.

BridgyFed works by setting up a shadow account on the platform you’re not on, and copying all of your content from one to the other. For example, BridgyFed is ingesting my Bluesky posts and putting them out on their own Fediverse server, where I have the handle @[email protected] that Fediverse participants can read and follow.

A New Social uses this bridge trick to also let you sort-of move your identity between Bluesky, Mastodon, and PixelFed (an ActivityPub-based image-sharing platform), while keeping your profile, followers, and some follows. This tool is called Bounce.

If I decided to move from Bluesky entirely to Mastodon with Bounce, A New Social would take over my old Bluesky account, and use a BridgyFed instance under the covers to keep posting my now-Mastodon content back to Bluesky, so my followers would still see it. Neat.

Threads interoperates with the Fediverse, but in specific and narrow ways that I find even more headache-inducing than BridgyFed and Bounce.

You can follow people on Threads from a Fediverse server, but only if the Threads user opts in to sharing. You can reply to them, but on Threads these show up in a separate drop-down that’s closed by default. Late last year, Threads let their users follow ActivityPub accounts, but only if the ActivityPub user initiated contact with a follow or reply. And Threads users still can’t share or reply to someone on the Fediverse.

And in any case, you only have access to a subset of a subset, because a bunch of prominent Fediverse servers united in the Fedipact to block Threads entirely.

Put this all together and things get extra-wonky. I have two profiles on the Fediverse, despite not actually using a Fediverse server: @[email protected] for Bluesky posts, and @[email protected] for Threads posts.

Messy. But at least it’s possible.

Where is this all going?

The compromises and jargon involved in these projects limits their appeal, but they are being used even so, which proves there’s a need for them. This makes them viable foundations for the future of Exit and interoperability.

  • I love AT Protocol’s DID approach. I hope that the Fediverse will figure out how to support DIDs, so people moving between servers don’t have to start over like changing email addresses.

  • I hope that the new independent PLC organization in Switzerland will bring the DID:PLC model to other platforms. There’s no reason this couldn’t become a generically useful directory service for all sorts of DIDs, and the applications built on them.

  • I’d like to see someone try to turn the Threads data dump into a useful migration tool. Imagine if PDS MOOver could convert a Threads export file into a PDS!

  • I’ve only begun to try to figure out the relationship between a PDS and a digital wallet. Your wallet is local and stores much less data than a PDS, but are those inherent differences, or will both tend to converge into a sort of master storage model for your entire online presence?

  • Where do you think this is headed next? Send me your thoughts at [email protected].

* A note on composition: as an experiment, this post was created with assistance from Google’s NotebookLM. I fed it sources on the projects I’m interested in and used its “Reports” feature with a custom prompt to generate an initial draft. That draft gave me a rough structure and something to react to, which sped up my process. The actual text was so superficial and bland that it wasn’t even worth re-editing, so I just wrote my own version from scratch, with occasional reference to the AI draft.

Keep Reading

No posts found