Disclosure: I’m on the board of Bluesky, which was inspired by my “Protocols, Not Platforms” paper. But this post isn’t about Bluesky the app. It’s about the underlying protocol and what it enables for anyone who wants to build technology (even competitive to Bluesky) that actually respects users.
Last month, I helped release the Resonant Computing Manifesto, which laid out a vision for technology that empowers users rather than extracting from them. The response was gratifying—people are genuinely hungry for an alternative to the current enshittification trajectory of tech. But the most common piece of feedback we got was some version of: “Okay, this sounds great, but how do I actually build this?”
It’s a fair question. Manifestos are cheap if they don’t connect to reality.
So here’s my answer, at least for anything involving social identity: build on the ATProtocol. It’s the only available system today that actually delivers on the resonant computing principles, and it’s ready to use right now.
The Resonant Computing Manifesto laid out five principles for building technology that works for people:
Private: In the era of AI, whoever controls the context holds the power. While data often involves multiple stakeholders, people must serve as primary stewards of their own context, determining how it’s used.
Dedicated: Software should work exclusively for you, ensuring contextual integrity where data use aligns with your expectations. You must be able to trust there are no hidden agendas or conflicting interests.
Plural: No single entity should control the digital spaces we inhabit. Healthy ecosystems require distributed power, interoperability, and meaningful choice for participants.
Adaptable: Software should be open-ended, able to meet the specific, context-dependent needs of each person who uses it.
Prosocial: Technology should enable connection and coordination, helping us become better neighbors, collaborators, and stewards of shared spaces, both online and off.
If you’re building anything that involves users having identities, connecting with other users, or creating content that belongs to them—which describes basically every interesting app—you need infrastructure that makes these principles achievable rather than aspirational.
ATproto delivers all five.
Private and Dedicated come down to who controls your data. In the current paradigm, you’re rows in somebody else’s database, and they can do whatever they want with those rows. Dan Abramov, in his excellent explainer on open social systems, describes the problem perfectly:
The web Alice created—who she follows, what she likes, what she has posted—is trapped in a box that’s owned by somebody else. To leave is to leave it behind.
On an individual level, it might not be a huge deal.
Alice can rebuild her social presence connection by connection somewhere else. Eventually she might even have the same reach as on the previous platform.
However, collectively, the net effect is that social platforms—at first, gradually, and then suddenly—turn their backs on their users. If you can’t leave without losing something important, the platform has no incentives to respect you as a user.
With ATproto, your data lives in your own “personal repository” (the PDS)—think of it as your own storage container on the social web. You can host it with a free service (like Bluesky), a paid provider, or on your own server. If your current host turns evil or just annoys you, you pack up and move without losing your identity, your connections, or any of your content. The protocol handles the redirection automatically.
This isn’t theoretical. People are doing it right now. The infrastructure exists. You can literally move your entire social presence from one host to another and nobody who follows you needs to update anything (or even realize that you’ve moved).
You don’t need to figure out ways to extract data from an unwilling billionaire’s silo. It’s already yours.
And that’s beneficial for developers as well. If you’re trying to build a system, setting up the identity and social connections creates all sorts of challenges (and dangerous temptations) regarding how you deal with other people’s data, and what games you might play to try to juice the numbers. But with ATproto, the incentives are aligned. Users control their own data, their own connections, and you can just provide a useful service on top of that.
Plural is baked into the architecture. Because your identity isn’t tied to any single app or platform, you can use multiple apps that all read from and write to your personal repository. Abramov explains this clearly in that same post:
Each open social app is like a CMS (content management system) for a subset of data that lives in its users’ repositories. In that sense, your personal repository serves a role akin to a Google account, a Dropbox folder, or a Git repository, with data from your different open social apps grouped under different “subfolders”.
When you make a post on Bluesky, Bluesky puts that post into your repo:
When you star a project on Tangled, Tangled puts that star into your repo:
When you create a publication on Leaflet, Leaflet puts it into your repo:
You get the idea.
Over time, your repo grows to be a collection of data from different open social apps. This data is open by default—if you wanted to look at my Bluesky posts, or Tangled stars, or Leaflet publications, you wouldn’t need to hit these applications’ APIs. You could just hit my personal repository and enumerate all of its records.
This is the opposite of how closed platforms work. You’re not locked into any single company’s vision of what social software should be. Different apps can disagree about what a “post” is—different products, different vibes—and that’s a feature, not a bug. Your identity travels with you across all of them.
Indeed, we’re seeing some really cool stuff around this lately, such as with the new standard.site lexicon for long form publishing on ATproto. It’s been adopted by Leaflet, Pckt, and Offprint, with others likely to come on board as well.
Tynan Purdy, writing via the brand new Offprint (itself an ATproto app), captures the mindset shift that I think more developers need to internalize:
I have no more patience for platforms. I’m done.
Products come and go. This is a truism of the internet. Do not expect any particular service to exist forever, or you will be burned. It can be a depressing thought. So much of our lives are lived online. Communities and culture are created online. The play is performed on stages we call “social media”. But then they go away.
We make our homes on these platforms. Set up shop. Scale a business. Connect with our friends. Build a following. Then something changes. A change in corporate strategy. An IPO. A private equity takeover. A merger with AOL. And it’s never the same after that. All that work, all that culture, now painted in a different light. Sometimes locked away entirely.
His solution? Never build on closed platforms again:
I write to you now on a new kind of place on the internet. This place is mine. Or rather, what I create here is mine. This product (a rather fine one by @btrs.coif I say so myself), belongs to @offprint.app. They might go away. Someday they will. But this, my words, my creation. The human act of creating culture. This is mine. It lives in my personal folder. I keep my personal folder at @selfhosted.social. They will go away someday too, and that’s okay. I’ll move my folder somewhere else. You’ll still be able to read this. Offprint is just an app for reading a certain kind of post I publish to the ATmosphere. When Offprint inevitably dies, hopefully a long time from now, this post will still just be a file in my personal folder. And when that day comes, perhaps even before, there will be other ways to read this file from my personal folder. You can even do so right now.
That’s not idealism. That’s how ATproto actually works today.
Purdy mentions above his “personal folder” and in another post Abramov digs deeper into what that means:
This might sound very hypothetical, but it’s not. What I’ve described so far is the premise behind the AT protocol. It works in production at scale. Bluesky, Leaflet, Tangled, Semble, and Wisp are some of the new open social apps built this way.
It doesn’t feel different to use those apps. But by lifting user data out of the apps, we force the same separation as we’ve had in personal computing: apps don’t trap what you make with them. Someone can always make a new app for old data:
Like before, app developers evolve their file formats. However, they can’t gatekeep who reads and writes files in those formats. Which apps to use is up to you.
Together, everyone’s folders form something like a distributed social filesystem:
This is a fundamentally different relationship between users and services. And it breaks the economic logic that makes platforms turn against their users.
It’s an enshittification killswitch.
Cory Doctorow’s framing of enshittification notes that the demands (often from investors) for companies to extract more and more pushes them to enshittify. Once they have you in their silo, they can begin to turn the screws on you. They know that it’s costly for you to leave. You lose your contacts. Your content. Your community. The switching costs are the leverage.
ATproto breaks that leverage.
Because you control your data, your identity, and your connections, whichever services you’re using have strong incentives to never enshittify. Turn the screws and users just… leave. Click a button, move to a different service, take everything with them. The threat that makes enshittification profitable—”where else are you gonna go?”—has no teeth when the answer is “literally anywhere, and I’m taking my stuff.”
Paul Frazee, Bluesky’s CTO, talks about how this works in a post he recently did on the concept of “Atmospheric Computing.”
Connected clouds solve a lot of problems. You still have the always-on convenience, but you can also store your own data and run your own programs. It’s personal computing, for the cloud.
The main benefit is interoperation.
You signed up to Bluesky. You can just use that account on Leaflet. Both of them are on the Atmosphere.
If Leaflet decides to show Bluesky posts, they just can. If Leaflet decides to create Bluesky posts, they just need to use the right schema. The two apps don’t need to talk to directly to do it. They both just talk to the users’ account hosts.
Cooperative computing is possible.
The most popular algorithm on Bluesky is For You. It’s run by Spacecowboy on *squints* his gaming PC.
He ingests the firehose of public posts and likes and follows. Then the Bluesky app asks his server for a list of post URLs to render. The shared dataset means we can do deeply cooperative computing. An entirely third party service presents itself as first-party to Bluesky.
Because Tangled is Atmospheric, your self-hosted instance would see all of the same users and user activity as the first instance would.
The garden is unwalled.
SelfHosted.social is an account hosting service. The self-hosted users show up like any other user. If I had to guess, most of them started on Bluesky hosts, and then used something like PDS Moover to migrate.
It’s an open network.
In the Atmosphere, it does make sense to run a personal cloud, because your personal cloud can interoperate with other people’s personal clouds. It can also interoperate with BobbyCorp’s Big Bob Cloud, and the corner pie shop’s Pie Cloud, and on it goes.
There’s no silo to lock you in, and thus trying to turn the screws on users should backfire. Instead, services built on ATproto have “resonant” incentives, to keep you happy, to keep you feeling good about using the service, because it enables a plurality of other services as well.
In many ways it’s a rethinking of the entire web itself and how it can and should work. The web was supposed to be interoperable and buildable, but all our data and identity pieces got locked away in silos.
ATproto breaks all that down, and just lets people build. And connect. And share.
Adaptable is where the developer ecosystem comes in. Because the protocol is open and the data formats are extensible, anyone can build whatever they want. We’re already seeing this explosion right now: Bluesky for microblogging, Leaflet for long-form publishing, Tangled for code collaboration, Offprint for newsletters, Roomy for community discussions, Skylight for shortform video, Semble for organizing research, teal.fm for music scrobbling and dozens more. Some of these are mere “copycats” of existing services, but we’re already starting to see some others that are branching out beyond what was even possible before.
The key: these apps don’t just coexist—they can actively benefit from each other’s data. Abramov again:
Since the data from different apps “lives together”, there’s a much lower barrier for open social apps to piggyback on each other’s data. In a way, it starts to feel like a connected multiverse of apps, with data from one app “bleeding into” other apps.
When I signed up for Tangled, I chose to use my existing @danabra.mov handle. That makes sense since identity can be shared between open social apps. What’s more interesting is that Tangled prefilled my avatar based on my Bluesky profile. It didn’t need to hit the Bluesky API to do that; it just read the Bluesky profile record in my repository. Every app can choose to piggyback on data from other apps.
An everything app tries to do everything the way they tell you to do it. An everything protocol-based ecosystem lets everything get done. How you want. Now how some billionaire wants.
It’s becoming part of the motto of the Atmosphere: we can just do things. Anyone can. For years I’ve written about how much learned helplessness people have regarding social systems—thinking their only option is to beg billionaires or the government to fix things. But there’s a third way: just build. And build together. That’s what ATproto enables.
And it’s doable today. Yes, there are reasonable concerns about the hype machine around AI and vibe coding—but the flip side is that in the last couple of months, I, a non-professional coder, have built myself three separate things using ATproto. Including a Google Reader-style app that mixes RSS and ATproto together. That’s what “adaptable” actually means: tools malleable enough that regular people with little to no experience can shape them to their needs. The vibe coding revolution will enable even more people to just build what they want, and they can use ATproto as a foundational layer of that.
This used to be close to impossible. The big centralized platforms learned to lock everything down—sometimes suing those who sought to build better tools. ATproto doesn’t have that problem. We don’t need permission. We can just do things. Today. And with new AI-powered tools, it’s easier than ever for anyone to do so.
Prosocial is where this all comes together. Not “social” in the Zuckerbergian sense of harvesting your social graph to sell ads, but social in the human sense: enabling connection and coordination between people, without a controlling body in the middle looking to exploit those connections. The identity layer handles the hard problems—authentication, verification, portability—so developers (or, really, anyone—see the adaptable section) can focus on building things that actually help people connect.
Remember why people flocked to social media in the early years? They got genuine value out of it. Connecting with friends and family, new and old. But once the centralized systems had you trapped, those social tools became extraction tools.
The open social architecture of the Atmosphere means that trap can’t close. We can engage in prosocial activities without fear of bait-and-switch—without worrying that the useful feature we love is just bait to drag our data and connections into someone’s locked pen.
The protocol itself is politically neutral infrastructure, like email or the web. The point isn’t any particular app—it’s that we finally have a foundation for building social tools that don’t require users to surrender control of their digital lives.
If you’re building an app that needs user identity, or user-generated content, or any kind of social graph, you don’t have to build all that infrastructure yourself. You don’t have to trap your users’ data in your own database (and worry about the associated risks). You don’t have to make them create yet another account and remember yet another password. You can just plug into ATproto’s identity layer and get all of the resonant computing principles essentially for free.
Your users keep control of their identity. Their data stays under their control, but available to the wider ecosystem. Your app becomes part of that larger ecosystem rather than just another walled garden, meaning you’ve also solved part of the cold start problem. Over 40 million people already have an account that works on whatever it is that you’ve built. And if your app dies—let’s be honest, most apps die—the data and connections your users created don’t die with it.
The Resonant Computing Manifesto talked about technology that leaves people “feeling nourished, grateful, alive” rather than “depleted, manipulated, or just vaguely dirty.” That kind of technology can’t exist when the fundamental architecture treats users as resources to be extracted. But it can exist when users control their own data, when developers can build without permission, when leaving doesn’t mean losing everything.
That’s not a future we need to wait for. That’s ATproto. Today.
So when people ask “how do I actually build resonant computing?” this is a key part of the answer. Stop building on platforms. Stop begging billionaires to be better. Stop waiting for regulators to save you.
The tools are here. The infrastructure exists. We can just do things.
Watch the tech oligarchs who lined up behind Donald Trump at his inauguration, and you’ll see the most important story of our time: the fascists are winning because they’ve built a direct pipeline from concentrated technological power to concentrated political power.
This isn’t about technology being inherently dangerous—it’s about how distorted Wall Street incentives drove us toward digital infrastructure that mirrors authoritarian power structures. Through bullying, threats, and coercion, Trump moved to turn the chokepoints of the centralized internet to his advantage. The MAGA world discovered that when digital platforms become centralized and authoritarian, democratic institutions will follow.
But here’s what the oligarchs don’t want you to understand: the same underlying technologies enabling this power concentration can be architected to resist it. The key isn’t begging for better billionaires or smarter regulations—it’s recognizing that decentralization isn’t a technical preference, it’s a democratic necessity.
The same authoritarian capture that took over centralized social media is already threatening AI systems as well. Just as we’ve watched Musk morph Twitter’s algorithms into X’s non-stop amplification of his personal political preferences, we’re seeing AI systems designed to reflect the biases and political agendas of their corporate owners. But this pattern isn’t inevitable. We need to understand that AI doesn’t have to be another tool of oppression. Designed correctly, it can be a weapon of liberation.
How Concentration Breeds Control
The concentration of digital power wasn’t an accident—it was the inevitable result of Wall Street incentives that rewarded greater centralized control over user empowerment.
Here’s how it happened: investor demands required tool builders to seek ever-greater returns, which meant transitioning from building user-empowering tools to controlling infrastructure. The most successful companies stopped building ever more useful services and started focusing on how to better extract rents from digital chokepoints—the equivalent of privatizing roads, then charging tolls.
These companies colonized the open internet, turning their services into necessary but proprietary infrastructure. They erected barriers to entry, barriers to exit, and tollbooths for everyone else, with your attention as the price of admission.
The result is what Cory Doctorow famously called the enshittification curve: platforms start by empowering users, evolve to capture them, and end by exploiting them. Wall Street’s demand that only investors matter as stakeholders strips away user agency with each step and hands it to corporate overlords.
And corporate overlords, it turns out, are natural allies for authoritarians. When you control the digital infrastructure that shapes how people communicate, learn, and organize, you become an attractive partner for anyone seeking political control. The promise of regulatory capture, government contracts, and protection from competition makes the bargain irresistible.
This convergence wasn’t inevitable—it was a choice made by people who confused convenience with empowerment, scale with value, and engagement with democracy.
The consequences are everywhere: platforms that enabled the Arab Spring and #MeToo are now coordinating genocides and undermining trust in elections. Tools that connected marginalized communities are promoting fascist agendas. And the tech oligarchs who built these systems are now literally standing behind authoritarians at inaugurations.
Digital Infrastructure Is Democratic Infrastructure
Most people still don’t understand the core insight: digital infrastructure and democratic infrastructure are the same thing.
Democracy is the ultimate decentralized technology. It distributes power away from kings and aristocrats to the people—imperfectly, through struggle, but fundamentally. The early internet promised to do the same for information, communication, and commerce. Anyone could publish, reach audiences, and break down barriers between producers and consumers, experts and amateurs, the powerful and powerless.
But Wall Street’s demand for exponential returns required fencing off the digital commons. The billionaires rebuilt the old gatekeeping systems in digital form, turning tools of value creation into mechanisms of value extraction. They offered convenience in exchange for control, scale in exchange for agency, connection in exchange for confinement within their walled gardens.
As Taiwan’s former digital minister, Audrey Tang, explained, democracy and digital freedom aren’t separate concepts—they’re the same thing. When digital platforms become centralized and authoritarian, democratic institutions follow the same pattern. When we surrender control over our digital lives, we surrender control over our political lives.
The concentration of digital infrastructure inevitably leads to the concentration of political power. That’s why the battle for decentralization is fundamentally a battle for democracy itself.
Platforms concentrate power; protocols distribute it. Platforms extract value from users; protocols enable users to create value for themselves. Most importantly: platforms can be captured by bad actors, but protocols resist capture by design.
This resistance isn’t theoretical. We’re seeing it emerge across multiple projects—from the AT Protocol to ActivityPub to nostr. The key insight is architectural: when you separate identity, data storage, and algorithmic curation into different services, no single entity can control the whole system. Users can choose their own moderation services rather than trusting corporate decisions. They can customize their information diet rather than accepting engagement-maximizing feeds. They can control their own data and move between services without losing their social connections.
They have choice. They have transparency. They have their own intentions controlling things, rather than some unseen entity driven by unaligned incentives.
The same architectural principles apply to AI—perhaps the most critical battleground for digital power today. Centralized AI services don’t just mine your data for corporate benefit; they can shape your thinking, limit your capabilities, and make you dependent on their infrastructure. But it doesn’t need to be that way.
We’re already seeing the emergence of open source models, opportunities to control your own system prompts (as DuckDuckGo recently introduced), and smaller distilled models that work in decentralized environments. Projects are emerging to give people more power over their own data, letting you decide how AI can interact with your information, rather than the AI system slurping up everything it can about you.
This isn’t about technical preferences—it’s about the difference between renting someone else’s vision of how you should think and work versus building your own.
The Technological Poison Pill
The beauty of truly decentralized systems is that they’re extremely resistant to capture.
This is what I call the technological poison pill: systems architected so that growth makes them harder to capture, not easier. Traditional centralized platforms become more valuable targets for authoritarians as they scale. Properly designed protocols become more resilient against capture as adoption increases.
Protocol-based systems demonstrate this principle by distributing different functions across services that no single entity controls. Even if one implementation gets captured by bad actors, users can retain their data, connections, and digital identity while moving to alternative services. The architecture makes takeover attempts self-defeating—the very structure that creates value also prevents consolidation of control.
The same principle applies to AI infrastructure. When you control your own models, data, and computational resources, no corporation can unilaterally change terms of service or start mining your conversations. The more people control their own AI infrastructure, the less valuable centralized AI services become as tools of control.
Breaking the Helplessness Loop
The concentration of digital power has trained us to beg for scraps from our digital overlords—and that learned helplessness may be more dangerous than the concentration itself.
Every week brings demands that tech giants “do better” or that governments “crack down” on platforms. But this approach assumes we need permission from powerful entities to fix the internet. It transforms what should be user empowerment into a performance of powerlessness.
This helplessness isn’t accidental—it serves the interests of concentrated power. The more we believe we need tech giants to solve our problems, the more indispensable they become. The more we focus on regulating existing platforms instead of building alternatives, the more we entrench their dominance. The more we beg politicians to save us, the more attractive these companies become as partners for authoritarians seeking control.
The tech oligarchs standing behind Trump at his inauguration represent the logical endpoint of this dynamic: when digital infrastructure owners become kingmakers, democracy becomes a performance staged on their platforms.
But this endpoint isn’t inevitable—it’s the result of choices we can still change.
The Choice Before Us
The underlying infrastructure that enabled our current digital dystopia can enable something radically different: a genuinely democratic digital ecosystem where users control their own experiences, data, and tools.
But this future requires active choice. It means learning new tools, supporting new protocols, and building new habits. It means moving beyond the comfortable convenience of corporate platforms and taking responsibility for digital sovereignty.
The alternative is continued concentration of power in the hands of billionaires who literally stand behind authoritarians at inaugurations, viewing democracy as an obstacle to their vision of control.
Yes, decentralization creates challenges—technical complexity, potential for abuse, fragmentation. But these aren’t arguments against decentralization; they’re arguments for designing it thoughtfully. Democratic institutions have always grappled with similar tensions between distributed power and effective governance. The solution isn’t to abandon democratic principles but to architect systems that embody them while addressing their practical challenges.
The same principle applies to digital infrastructure. Tradeoffs exist, but they don’t justify accepting concentrated control any more than political tradeoffs justify accepting authoritarianism. We can build decentralized systems that address concerns about complexity and abuse without centralizing power in the hands of corporate oligarchs.
Digital Democracy or Concentrated Control?
The choice before us is stark: do we build democratic digital infrastructure, or do we accept permanent concentrated control?
Digital democracy means building systems that embody democratic values—transparency over opacity, user agency over corporate control, distributed power over centralized authority. It means using AI as a tool of personal liberation rather than corporate surveillance. It means supporting protocols that resist capture rather than platforms that court it.
Most importantly, it means rejecting the learned helplessness that treats concentrated tech power as inevitable rather than recognizing it as a temporary arrangement we can change.
The tools exist. Open protocols are maturing. AI models are being democratized. Decentralized infrastructure is becoming viable. The question isn’t technical capability—it’s political will.
Will we choose the difficult work of building democratic digital infrastructure? Or will we continue asking permission from oligarchs and authoritarians?
The battle for the open internet and the battle for democracy aren’t separate fights—they’re the same fight. The future of our digital lives is the future of democracy itself.
We can accept concentrated control over our digital lives, or we can build democratic infrastructure of our own. The choice is ours, but the window for making it won’t stay open forever.
When 1,700 people pack a room at SXSW (with hundreds more relegated to overflow spaces) to hear about a decentralized social media protocol, it’s clear something interesting is happening. The crowd that showed up for my conversation with Bluesky CEO Jay Graber this week wasn’t just there for another social media platform — they were there because they’re hungry for an alternative to billionaire-controlled (and manipulated) digital spaces.
As a reminder, I’m on the board at Bluesky, so I’m biased. However, I did try to ask Jay many of the questions I frequently hear about Bluesky, including why it’s different than other social media companies, how it thinks about content moderation and toxicity, and whether or not it’s really “billionaire proof” as the company claims (I prefer “billionaire resistant.”)
The full video and audio are both online if you want to listen.
The crux of the argument for Bluesky — and the whole reason I proposed the idea that later became Bluesky — was exactly this: to give more choice to everyone. To push the power to the ends of the network, rather than hoarding it in the middle where it can be used to manipulate and control. As Jay notes during the talk, it’s about giving everyone the ability to “choose your own adventure” on social media, enabling more pro-social outcomes.
This isn’t just theoretical anymore. While major platforms continue their descent into “enshittification,” Bluesky is demonstrating that there’s a real appetite for putting user choice and empowerment first. The millions of people already using the service aren’t just passive consumers — they’re actively engaging with and building upon the underlying ATprotocol, creating new experiences and tools without asking anyone’s permission, and without being controlled by anyone.
And while there’s still a ways to go to get fully to that point, I think that Jay and her team have made amazing strides towards that vision, and we’re seeing lots of other efforts to build towards that vision as well — exactly the kind of permissionless innovation the ATprotocol was designed to enable.
Disclosure:I’m onthe board of Bluesky, so feel free to take as many grains of salt as you want in reading it, even though part of this is cheering on a new entrant looking to build an alternative to Bluesky.
There’s been some debate over the last year or so regarding Bluesky and how decentralized it really is. There has also been a growing fear that “enshittification is inevitable.” Or, worse, that an “evil billionaire” might take it over and ruin it the way other platforms have been ruined.
But I think it’s important to understand that Bluesky has, effectively, created a technological poison pill: by building on an open protocol, ATprotocol, the system itself can be rebuilt outside of Bluesky, but in a way where everyone can continue to communicate, and that creates incredible incentives that undermine any evil billionaires, and would actually punish Bluesky (or anyone else!) should they try to enshittify.
Last week, a group called Free Our Feeds announced itself to the world and kicked off a crowdfunding process to effectively build a Bluesky competitor, built on the same ATprotocol and fully interoperable with Bluesky, but wholly separate from the app.
This is both exciting and fantastic, in part because it’s cool, and in part because it demonstrates the real-world impact and importance of ATprotocol’s open design, showing how it enables the creation of alternative infrastructure that can prevent lock-in and empower users.
The Enshittification Fear:
For a few years now, Cory Doctorow’s concept of “enshittification” has been a hot topic in tech circles, with many worried that even the most well-intentioned platforms are doomed to become terrible over time.
Indeed, just a few months ago, Cory wrote a thoughtful piece about why he was not joining Bluesky and why he feared it was on the path to enshittification. He and I had actually discussed all of this much earlier (very early in Bluesky’s history) and I suggested to him that Bluesky had some tricks up its sleeve to be enshittification-resistant. In the piece, Cory says some very nice things about me before (correctly!) saying that even though he trusts me deeply, he doesn’t think that his trust of me (and me being on Bluesky’s board) means Bluesky is immune to the enshittification curve:
Bluesky has many federated features that I find technically admirable. I only know the CEO there slightly, but I have nothing but good opinions of her. At least one of the board members there, Mike Masnick, is one of my oldest friends and comrades in the fights for user rights. We don’t agree on everything, but I trust him implicitly and would happily give him the keys to my house if he needed a place to stay or even the password for my computer before I had major surgery.
But even the best boards can make bad calls.
And he’s correct. The best boards can make bad calls. And I can certainly make bad calls.
But the secret behind Bluesky was not that it has an amazing CEO or a non-evil board. It’s that it was built from the ground up with a focus on forced openness and a protocol on which anyone could build. I discussed this in great detail a few months ago on Ed Zitron’s Better Offline podcast.
The key points:
Nothing can be enshittification-proof, but you can make things enshittification resistant.
The key to doing so is building on a forced-open protocol, such that if people hate what you’re doing, they’re able to rebuild any part of the infrastructure and cut out the entity engaged in enshittification.
Even if the alternative competing services don’t exist, the simple fact that the option is there for people to keep their content, keep their relationships, keep their ability to communicate while avoiding any particular platform, is a very strong incentive to resist enshittification.
This is because even the looming possibility that someone can come in, piggyback on the existing network, but with their own infrastructure, creates incredibly strong incentives for any player in the space to avoid giving reasons to people to leave.
Going back to Cory’s original formulation of “enshittification,” I can explain this further:
Here is how platforms die: first, they are good to their users; then they abuse their users to make things better for their business customers; finally, they abuse those business customers to claw back all the value for themselves. Then, they die.
In traditional, centralized systems that shift away from being good to users to being good to their business customers is where the slide begins. For traditional companies, though, they can get away with it, because users are “stuck.” As Cory well knows from his work on adversarial interoperability, the real problem is lock-in.
Once a platform has you, it can start to squeeze you if you have nowhere else to go. And, in the case of social media, that’s particularly tricky, because you want to be where your social graph is, so once you’ve really built up connections, a platform has you.
But if the network is based on an open protocol, in which alternative infrastructure can be built, then any player in the system has a greatly diminished incentive to start being bad to users in favor of other constituents, because the worse you get for users, the more opportunity there is for someone else to jump in and offer something better.
I think that many people, though not necessarily Cory, have zeroed in on the idea of “VC funding” as the root cause of enshittification, rather than the lock-in. And it is true that some VCs might be looking to invest only in centralized platforms that have built-in lock-in, but it’s possible to recognize an alternative approach to building a sustainable business: by treating users well, allowing everyone to build on the same open network, and recognizing that this makes the whole system more valuable to everyone.
That’s what Bluesky is trying to do with the ATprotocol.
The company has said from the beginning that “Bluesky” itself is just a reference app, and the point is for others to build. Indeed, part of the company’s own mission is that “the company is a future adversary.”
As Cory notes, no CEO or board can protect against that. But building an open network that enables third parties to build every bit of the stack as alternatives does help protect against that.
Free Our Feeds!
And now it’s happening. With the launch of Free Our Feeds, which is running a crowdfunding project and looking to raise $30 million over the next three years, we’re seeing that fully independent infrastructure on the path to being built. And hopefully they won’t be the only ones.
The plan is to build entirely separate infrastructure, but all using the ATprotocol, so that anyone on Bluesky (or other ATproto services) can interoperate with the new service.
Bluesky is an opportunity to shake up the status quo. They have built scaffolding for a new kind of social web. One where we all have more say, choice and control.
But it will take independent funding and governance to turn Bluesky’s underlying tech—the AT Protocol—into something more powerful than a single app. We want to create an entire ecosystem of interconnected apps and different companies that have people’s interests at heart.
Free Our Feeds will build a new, independent foundation to help make that happen.
This isn’t just about bolstering one new social media platform. Our vision offers a pathway to an open and healthy social media ecosystem that cannot be controlled by any company or billionaire.
And, notably, among the names signed on to support it is Cory Doctorow, which is exciting to see.
This ability to build alternative infrastructure is possible (despite Cory’s fears in his piece), it just takes resources. Cory talked about the lack of “federation” in his piece, suggesting that Bluesky had somehow failed to “federate”:
Bluesky lacks the one federated feature that is absolutely necessary for me to trust it: the ability to leave Bluesky and go to another host and continue to talk to the people I’ve entered into community with there. While there are many independently maintained servers that provide services to Bluesky and its users, there is only one Bluesky server. A federation of multiple servers, each a peer to the other, has been on Bluesky’s roadmap for as long as I’ve been following it, but they haven’t (yet) delivered it.
And while it is true that Bluesky is, currently, the only source for some aspects of the ATprotocol stack, it has been built so that the other parts can be replicated elsewhere. Admittedly, some of it is more complicated than other parts, but it is possible.
And that’s what the new Free Our Feeds effort is trying to do.
So while Cory was worried that this was something Bluesky had refused to do, the reality is that the possibility of doing this has been there for a while. The problem is that it’s not simple. And it needed someone else to come along and build what was open for them to build.
Because if Bluesky built it itself, then it’s not a third party that is independent. It’s still Bluesky. And that’s why Free Our Feeds is so exciting. They’re proving that a third party can build out a system entirely independent of Bluesky, the company. And, admittedly, building the full stack is not cheap, which explains why Free Our Feeds is working towards an ambitious funding goal.
The ability for a third party like Free Our Feeds to build an entirely separate system while still allowing users to communicate across apps is the key to ATprotocol’s “technological poison pill” effect. Even if Bluesky or another provider tries to act against users’ interests, people can seamlessly shift to an alternative without losing access to their social graph and data. This creates a powerful counterweight to the usual lock-in and network effects that enable enshittification.
The Company is a Future Adversary
And this is where it’s important to understand some of the fundamental differences in how something like Bluesky/ATproto works and something like Mastodon/ActivityPub work. They have a slightly different approach to trying to tackle the same problem. Each are trying to create decentralized, protocol-based social media tools, but they take a fundamentally different approach.
ActivityPub works on the theory that almost anyone can effectively build and host “their own” mini-Twitter-like service. And then that mini-Twitter can speak to many of the other mini-Twitters, with the ability of any of them to “defederate” (or block all communications) with other mini-Twitters, as needed.
That defederation aspect is a unique (and fascinating!) kind of incentivizing tool, as platforms that want to be good neighbors have incentives to police their own mini-Twitters. But it also creates some challenges. It’s tough to run your own mini-Twitter, especially if you allow more than just yourself to use it. There’s a fair bit of work involved. And then managing users, managing which servers you defederate from, etc., is a chore.
The ATProtocol approach is somewhat different. You can federate some aspects of things, such as hosting all your own data on your own PDS or Personal Data Server (which is great, as it means you have full control over your data, not Bluesky or anyone else), but it’s not designed for a random individual to spin up an entire mini-Twitter.
The philosophy is more that different parts of the stack may require different players to be involved, and some of them may require more resources than others. Running your own PDS is relatively inexpensive and easy. Running your own relay is more challenging and expensive but wouldn’t necessarily need a corporation. Other pieces require more, and that’s what Free Our Feeds appears to be building.
And, again, the most important bit is that this is always possible on this network. Because “the company is a future adversary.”
Bluesky’s approach directly addresses the enshittification fear by ensuring that no single entity, not even Bluesky itself, can gain too much control over the network. The open protocol acts as a check on any potential abuse of power.
The fact that Free Our Feeds can do this in the first place is almost more important than whether or not they actually succeed (which I hope they do!), because it creates strong incentives for Bluesky, the corporate entity, not to enshittify.
Indeed, if you look back at the history of Twitter, in the early days, it encouraged open development and building, but it wasn’t a protocol where the entire stack could be recreated. And, when one entity started buying up many of the independent developers with a pretty explicit plan to “steal away” all of Twitter’s users, Twitter started locking stuff up and blocking that ability, because there wasn’t an open protocol and there wasn’t any possibility of rebuilding certain parts of the infrastructure.
In contrast, Bluesky was built from the ground up for this very thing. And you can see that difference in how the Bluesky team has reacted to Free Our Feeds: many employees, including top management, are cheering on the Free Our Feeds team even as, ostensibly, they’re building “a competitor.”
Exciting to see new, independent projects spin up to decentralize the atproto ecosystem! Building alternative infrastructure is a big step towards giving users more choice and making the network billionaire-proof.
Free Our Feeds! What is it! @freeourfeeds.comF.O.F. is an independent group with the goal of running THIS👇 social network totally outside of Bluesky.It's not us. It's a fully independent version of the network. All the same users and posts. Running cooperatively with us and others.
very excited to have other large players taking the decentralization of atproto infrastructure seriouslylooking forward to seeing what comes out of this!
This sincere welcoming of potential “competitors” is practically unheard of in the tech world. But it reflects a fundamentally different mindset enforced by the open protocol, one focused on growing the pie for everyone rather than jealously guarding a slice. It’s a recognition that, in a world of open protocols, a rising tide can lift all boats.
Of course, some may argue that the technical complexity and costs involved in building out alternative infrastructure will still limit how many can truly compete with dominant players, even with an open protocol. And that’s a fair point. Spinning up a full social media stack is no trivial task, as the $30 million Free Our Feeds campaign underscores.
But the key is that it’s possible, and that possibility acts as a check on bad behavior. Moreover, as a robust ecosystem emerges around the protocol, we can expect to see more tools and services that lower the barriers to entry. Already, the rapid pace of development and the ease of building new user experiences on top of ATProtocol hint at a future where a vibrant alternative tech scene, with empowered users, can thrive.
It’s a recognition that, in the networked world, this can be a non-zero-sum situation, and having more players building makes it better for everyone. It also allows for different kinds of experiments, which will create more features that more people are interested in. It’s an approach that is focused on making sure the whole ecosystem grows, rather than one company’s fiefdom.
Get Busy Building
Along those lines, there’s been a lot more development going on elsewhere as well, which is equally exciting. In just the last week, there’s been talk of independent developers building an Instagram competitor and a TikTok competitor on ATprotocol. That last one, by the way, was built in just a few hours. That’s what can happen when you have an open system. Over the weekend, Bluesky itself added to this by soft launching a new view that gives the service a TikTok-like feel. But, again, in an open way such that others can build algorithms and feeds for a similar video-only feed.
Similarly, Flipboard recently released an amazingly slick brand new app, called Surf, that works with both ATprotocol and ActivityPub (and RSS!!) to create a very cool tool for browsing, consuming, sharing, and creating posts across all of these networks. And last week, right after the Supreme Court upheld the TikTok ban, Flipboard’s CEO/co-founder Mike McCue showed off SkyTok, a quickly created feed (using Surf) that creates a simple TikTok-like experience. And, over the weekend, they tested SkyTok with Bluesky’s new video rendering setup as well.
And people are taking notice. Famed entrepreneur/investor Mark Cuban put out a call for proposals, saying he’d like to fund a TikTok competitor built on ATProtocol, so I imagine the links above won’t be the only examples of people building cool stuff.
Most of these alternative apps are really building different looks at Bluesky’s implementation of ATprotocol, rather than a fully independent stack. Think of it as services that build on-top of Gmail. But that’s also why the Free Our Feeds effort is so cool. It’s like someone is coming along and building an Outlook to compete with Gmail. And, assuming they’re successful, these alternative apps (like the TikTok-style apps) should be able to easily work with it as well. Or any other third party that builds out the infrastructure.
This is a case where the more people building on this open protocol and open network, the more it helps everyone.
And, it does so in a way that is still easy for people to use. Most users don’t need to know any of this is happening, or about ATprotocol in the background. It’s just creating the kind of more open web that we all need, without the lock-in.
Again, it’s that lock-in that creates the eventual enshittification. Without lock-in, any app could still enshittify, but the risks for that app would be much bigger, because it’s so easy for users to exit. It won’t be like leaving Twitter for Bluesky where you are effectively “starting over,” it will basically be “Oh, I don’t like how Bluesky is acting, so I’m just switching over to the Free Our Feeds system” where… you don’t lose any of your posts (they’re in your own PDS), you don’t lose any of your connections (your social graph is really yours), and you remain in full control.
This is what the early internet promised us, but it got lost in the early 2000s when big companies came along and effectively colonized open protocols (or recreated them as closed silos with nicer user interfaces). This time around, though, people are learning to create user-friendly interfaces with open protocols.
From Ulysses Pacts to Technological Poison Pills
In Cory’s piece, he talks about the concept of the Ulysses Pact, which is what he requires of any new service:
There’s a name for this dynamic, from the world of behavioral economics. It’s called a “Ulysses Pact.” It’s named for the ancient hacker Ulysses, who ignored the normal protocol for sailing through the sirens’ sea. While normie sailors resisted the sirens’ song by filling their ears with wax, Ulysses instead had himself lashed to the mast, so that he could hear the sirens’ song, but could not be tempted into leaping into the sea, to be drowned by the sirens.
Whenever you take a measure during a moment of strength that guards against your own future self’s weakness, you enter into a Ulysses Pact.
He argued that Bluesky didn’t have that because it hadn’t “federated.” But it had. It had locked the protocol open so that anyone could build. And now they are.
I think a better way of thinking about this isn’t the “Ulysses Pact,” but rather a technological poison pill. I had seen some people saying on Bluesky that the company needed to create some sort of “poison pill” in its financial setup to ward off evil potential buyers who might “make an offer they can’t refuse.”
But what Bluesky has done with ATproto is even better: it’s not relying on some financial contract. It’s created a technological poison pill, such that even if Bluesky (the company) was offered a deal it couldn’t refuse, others could just rebuild the stack… outside of Bluesky’s control (but where users could continue to communicate with each other), and Bluesky could do nothing to stop them.
Beyond enabling the “easy exit” Cory wants, it also acts to ward off “evil billionaires,” because as soon as they act evil, the poison pill is there to give everyone an escape route, thereby effectively destroying any evil billionaire’s plans. An evil billionaire has less reason to be evil in the first place since alternatives can spring up and users can exit without cost.
The “Ulysses Pact” here is in the setup. Evil billionaires and enshittification become self-defeating, thanks to the poison pill. That’s not to say it’s impossible. Because you never know what bad decisions some future version (future adversary) might make. But the nature of the locked open protocol means that it’s much easier to deal with that, and that simple fact should hopefully disincentivize any attempts in the first place.
If this approach succeeds, it won’t just protect individual users; it has the potential to reshape the fundamental dynamics of the social web. By reducing the power of walled gardens and returning control to users, an ecosystem of open protocols could realign the incentives of technology companies, ensuring that they prioritize serving their users’ interests to remain competitive. It would mark a major shift back towards the original decentralized vision of the internet.
The rapid pace of development and the ease of building new user experiences on top of ATprotocol are not just exciting for their own sake. They hint at a future where a vibrant ecosystem of interoperable “small tech” can thrive, with a diverse range of user-centric services emerging to meet different needs. Rather than being limited to a handful of monolithic platforms, internet users could enjoy a rich marketplace of apps and services, all built on shared open standards.
That’s the vision I had with my Protocols, not Platforms paper, and now it’s on its way to being truly real. Having the Free Our Feeds folks jump in is not just proof that this is possible, it’s a vote of confidence for the overall setup, and shows how we can actually build enshittification-resistant systems by locking them open as a technological poison pill against lock-in and against the threats of evil billionaires.
If this approach succeeds, it won’t just protect users; it will fundamentally reshape the dynamics of the social web. It will bring us back towards the original promise of the open web where users are in control, rather than giant companies. Companies will still have a place, but the job of platforms will be to serve the users’ best interests first and foremost.
I am excited to announce that I am joining the board of Bluesky, where I will be providing advice and guidance to the company to help it achieve its vision of a more open, more competitive, more decentralized online world.
In the nearly three decades that I’ve been writing BestNetTech I’ve been writing about what is happening in the world of the internet, but also about how much better the internet can be. That won’t change. I will still be writing about what is happening and where I believe we should be going. But given that there are now people trying to turn some of that better vision into a reality, I cannot resist this opportunity to help them achieve that goal.
The early internet had tremendous promise as a decentralized system that enabled anyone to build what they wanted on a global open network, opening up all sorts of possibilities for human empowerment and creativity.
But over the last couple of decades, the internet has moved away from that democratizing promise. Instead, it has been effectively taken over by a small number of giant companies with centralized, proprietary, closed systems that have supplanted the more open network we were promised.
There are, of course, understandable reasons why those centralized systems have been successful, such as by providing a more user-friendly experience on the front-end. But there was a price to pay: losing user autonomy, privacy and the benefits of decentralization (not to mention losing a highly dynamic, competitive internet).
The internet need not be so limited, and over the years I’ve tried to encourage people and companies to make different choices to return to the original promise and benefits of openness. With Bluesky, we now have one company who is trying.
For me to get involved with Bluesky now, to help its efforts, is a logical next step, given how we got here. Nine years ago, right here on BestNetTech, I wrote about a “half-baked” idea of separating out the “protocol” of social media from the companies providing social media services. And, almost exactly five years ago, the Knight First Amendment Institute at Columbia University published my much deeper dive on “Protocols, Not Platforms.”
That paper laid out a more complete (though still not fully baked) theory of how a decentralized, protocol-based social media system might work to create a better (though not perfect) world for online speech. It would be a world where we retain the lessons we’ve learned about from giant, centralized players about how to make platforms so user-friendly, but which brings back the promises of user autonomy, privacy, competition, and empowerment.
I’ve been clear all along that such an approach can never solve all problems, because that’s impossible. But it could create a better framework and better incentives for a better, more open internet, where user control is more important and impactful than centralized control. As power over the online experience moves to the ends of the network, rather than the center, it allows for more expression, more creativity, and more solutions that everyone is now free to develop and use.
That 2019 paper received plenty of attention, and many people reached out to say they wanted to make that vision a reality. But the most serious and thoughtful person I spoke to about the paper was Jay Graber, who is now Bluesky’s CEO. She had already been thinking deeply and researching similar ideas. Unlike most others I spoke to, she not only believed in the vision of a more decentralized internet, but saw a clear path to making it a reality.
Over the years since then, I watched as Jack Dorsey & Parag Agrawal at Twitter embraced the ideas of my paper and funded Jay to try to build a decentralized social protocol that actually worked and could achieve mainstream adoption. Importantly, Bluesky is not alone in trying to pursue this new reality for the internet, and I’ve chronicled many of the various developments being made by many others engaged in this world-improving project of decentralizing the internet. And while I support many of the attempts at building decentralized social media systems, Bluesky remains the most interesting experiment in the space.
Bluesky is the service that is coming closest to making the vision I articulated in my paper a reality. And while I’ve offered informal support and advice in the past when asked, I’ve never had any formal or official connection with the company, until now. When the opportunity arose to join the board it seemed, after some thoughtful conversations with Jay and others on the board and at the company, to make sense to make that relationship more formal, allowing me to better help Bluesky make this vision a reality.
The challenges are already exciting. One of the key things that has fascinated me about Bluesky is that they have made it clear from the beginning that they recognize how a future version of the company could, itself, be a threat to the vision the current team has. As a result, they are designing the system to be technically resistant to such a threat — which is why building an open protocol is so important. In my view, one of my roles as a board member is to ensure the company stays true to that more open vision, and resists the pressures that could lead it down the more enclosed, centralized path that has captured so many of its predecessors.
One other aspect that has kept me interested in Bluesky is how the team there understands that most users not only don’t care about that decentralized vision, and shouldn’t have to care about that vision. Those users just want a service that works well, and works for them. Many other decentralized social media networks have focused on different approaches to building their communities, which is great. Experimentation and differentiation is how we will figure out what works for which communities. But I particularly appreciate the emphasis that Bluesky places on building a system that works for a wide spectrum of users.
And, while there have been hiccups along the way (and more will come), the company has consistently built thoughtfully with users in mind, while still staying true to the underlying vision. As a result it’s built unique and exciting features like algorithmic choice, an open source labeling system, and “hidden” federation — most users have no idea the system is federated, and that’s the way it should be. You should be able to build a decentralized, open, protocol-based social network without most users knowing or even caring about it. You should be able to build a system just as usable and feature-filled as traditional, centralized social media systems, while still creating underlying technology and infrastructure that prevents it from exploiting users like those centralized platforms do.
It is, of course, exciting to see thoughts I’ve expressed for how to fix the Internet actually start to become tangible reality, which is why I’m excited to be involved with Bluesky to help it continue to move forward.
But I am still a writer, with many more thoughts to continue to express. Including here at BestNetTech, which won’t change. We’ll still be writing about the Internet as it is, and as it should be, as well as the legal, technological, and sociological forces that keep shaping it, just as we have for more than a quarter of a century.
This is somewhat new territory for me. While I am on my own company’s board, as well as the boards of two non-profits, this is the first outside corporate board position I’ll be taking. So because I am now wearing that second hat I will endeavor to be as transparent as possible when wearing this other hat. I don’t foresee it being an issue in most cases, including when writing about any of the larger, centralized commercial platforms — the editorial independence that has always left us willing to call things as we see them, to either praise or criticize, as warranted, isn’t going anywhere. I still want a better internet for users, and getting there still requires being able to speak the truth about where we are right now. But for stories involving Bluesky, decentralization, or other competing decentralized platforms I promise to be as transparent as possible, and if necessary hand off stories to others (and even remove myself from the editing process) when my two hats may be in conflict.
But I don’t plan to shy away from those stories altogether. Over the years we’ve tried to chronicle here at BestNetTech as much as we can about the internet we have, because that record is itself important to be able to reflect on, especially if better choices for the future are to be made. And I still have that job to do.
There was a bit of news in the world of decentralized social media over the past few weeks. It kicked off with the announcement that Jack Dorsey had left the board of Bluesky. This was followed by an interview Jack gave to Mike Solana where he explained his thinking on all of this. There was also a flurry of talk claiming (misleadingly) that Jack had endorsed ExTwitter.
As with many things related to Jack, I think a lot of what happened and what he’s saying has been misinterpreted (by people across a wide variety of ideological viewpoints). A lot of what he said is the same stuff he’s been saying for years and is actually quite sensible.
But, the one area where I do think he’s wrong is in some of his commentary about Bluesky, which surprised me a bit. Because I think he greatly misrepresents what is happening with Bluesky and why I still find it to be the most interesting experiment going on these days in social media.
I do think some of his views of Bluesky are colored by his experience at Twitter over the few years leading up to his stepping down from that company (a few months before the Elon saga began).
I want to go through parts of his interview with Solana, but I think understanding where Jack is coming from is actually really important, because when laid out clearly, it explains it colors his perspective on these things. Basically from the start, Twitter was pretty much the most permissive in allowing all kinds of speech on its platform with an extremely light touch toward moderation, but not no moderation.
As everyone who creates a speech platform learns at some point, you need some form of moderation. Otherwise, your platform gets filled with (1) spam, (2) scams/fraud, (3) illegal material.
However, there is a step up from there towards other moderation issues. Those who stop at the point of moderating just those three things quickly discover two other challenging issues. First, your site gets overrun with jerks, assholes, and trolls who make life miserable for all your other users. As we’ve discussed in the past, so much moderation is really “would y’all just stop being so awful to each other?”
Then, secondly, you have the Nazi bar problem. Many people get confused by this. It’s not just saying that a site is overrun by Nazis. It’s saying that in tacitly blessing the appearance of proverbial (or real!) Nazis, a site is blessing the space as a Nazi hangout, and then it gets that reputation among others, who realize maybe they’d prefer to hang out elsewhere. That leads to new challenges, often limiting growth of both users and business model options.
There’s a ton of nuance and challenges in figuring out how to draw the lines. You can easily see how sites can go too far in one direction or another, creating larger problems. Sites can (and do!) overblock in many cases. And sites can (and do!) underblock in many cases. And much of that is subjective anyway. What appears as overblocking to some may appear as underblocking to others. This is the old impossibility theorem at work.
This also means that if you’re “the decider” in these situations, everyone’s going to be mad at you. This is the nature of running a public platform. This was some of the thinking behind my protocols, not platforms paper. It was a look at whether or not we could, maybe, move away from the world in which we had one single “decider” to get mad at, and allow for a lot more experimentation.
The truth is that Jack had to deal with at least some of that. He was never really “the decider” at Twitter on moderation calls. The company had others who had to make most of the tough calls along the way. But Jack often got blamed for those decisions. And I think that getting blamed for that sort of stuff got to him. He’s made it clear over the years (including in this interview) that he would prefer not to have done much moderation at all. But the realities of the business say you have to for all the reasons listed above. He mostly delegated those calls so that it wasn’t on him to decide. But, he was still the face of the company getting yelled at for all of those decisions, and he really seemed to dislike that (which to some degree is understandable).
That appeared to be a big part of what appealed to Jack about my original paper. He had built a tool that was designed (successfully) to enable all sorts of speech and was celebrated for that fact. But over the last few years, he was increasingly being beat up on all sides, in part because of people (on all sides) were upset with moderation choices. And no, it wasn’t just “censoring conservatives” (a thing that didn’t really happen). Across the political spectrum, you had complaints about what was left up and what was taken down.
Jack, like others, reasonably thought: maybe it’s not great that a single person in a company gets blamed for all these decisions (that seems to have been a bigger concern than the fact that there was someone who could make those decisions in the first place, but it’s easy to merge those two concepts).
Yes, some people will say “suck it up, if you run such a platform, that’s part of your responsibility.” But it’s really important to impress upon you how deeply impossible this is, and how damaging it feels to be in a role where you’re just trying to enable a community to exist, but which requires some level of moderation to keep the community from destroying itself. Yet everyone is blaming you for basically everything.
At the same time, Jack was also dealing with an extremely dysfunctional board at Twitter. He had activist investors threatening to fire him if he didn’t enshittify the platform by squeezing more money out of its users, even as he took steps towards moving Twitter to a protocol. Jack, for all his faults, did seem to want Twitter to actually be a good platform, more than just one that sucked money out of people.
I believe Jack viewed the original plans for Bluesky as something of a lifeline, separating out the protocol layer, and allowing there to be competitive moderation services/interfaces for interacting with content on Twitter. In an early conversation I had with him regarding what Twitter would do in such a world, he suggested they could still beat the competition by focusing on “conversational health.” This would still involve moderation, but just at the Twitter service level, rather than the protocol level.
This is not to say that people should sympathize with Jack. Realistically, the people who actually were making the tough calls at Twitter and trying to balance all of these factors deserve way more sympathy. But Jack was getting yelled at the most over this stuff, and I think that really got to him. He was being blamed for not doing the impossible. To outsiders, the solution always seems “easy.” Stop the bad stuff, promote the good stuff. But, the “easy” solution that outsiders always seem to think will “work” is probably not dealing with the realities and competing pressures of managing a global community like Twitter. Understanding the realities, pressures, and (impossible) trade-offs at least helps understand the perspective, and why it can get exhausting to be constantly blamed from all sides from not magically “solving” things.
That takes us to the interview with Solana, where Jack more or less says all of this in expressing his desire to support decentralized social media protocols, first through Bluesky, and then later through nostr. As I said a few months back, even before Bluesky had launched, Jack had told me that he thought nostr was closer to my vision of decentralized protocols than Bluesky was going to be. And, as such, I was kind of surprised that he remained on the Bluesky board as long as he did. But his explanation here isn’t all that surprising.
He makes it clear that he looked on protocols as a better approach for all the reasons discussed above (and which Jack has spoken about multiple times before, including when he first announced the Bluesky project). He viewed it as a way of separating some of the tough moderation calls from being pointed back at a single CEO.
We were doing something similar to what we did at Square at the time, which was fund a bunch of open source developers to work on the Bitcoin protocol, because it directly benefited everything Square was doing in terms of money movement.
I wanted to do something similar with Twitter, because it was the only way to get out of a lot of the issues we were seeing around the decisions we had to make on accounts, and the pressures we had as a public company based entirely on a brand advertising model. The only way to do it was to remove the protocol layer from Twitter and make it something we didn’t control.
So what if we created a team that was independent to us, that built a protocol that Twitter could use, and then build on top of? Then we wouldn’t have the same liabilities, because the protocol would be an open standard, like HTTP or SMTP. Twitter would become the interface, and we could build a valuable business by competing to be the best view on top of this massive corpus of conversation that’s happening in real time.
So it took us about two years to interview people [who would build the protocol]. We actually looked at Nostr — I think the team even talked with fiatjaf [Nostr’s creator] — early on, but for whatever reason decided to pass. I wasn’t really privy to a lot of that conversation, or more likely, I wasn’t paying enough attention.
We eventually landed on Jay [Graber]. She seemed great, and we decided to fund her. Around that time, I was also planning my exit [from Twitter], and Parag [Agarwal] was going to take over. And when Elon made the offer to buy the company, I think she had this general fear of — what do we do? Like, is there any way that the funding could be taken back? We gave them $14 million to work on the protocol.
Again, all of that is accurate, and is completely consistent with everything Jack has said from the day he announced Bluesky. But, also, some of it is just unrealistic. Part of the nature of the Impossibility Theory is that no matter what, even in a decentralized system, it will be impossible to do moderation well, and people are still going to hunt down someone to blame. That is human nature.
Thus, I think part of Jack’s negative reaction to Bluesky was that he saw that the blame and demands were still coming. But that’s inevitable. That’s how this is always going to work, even in a decentralized system. He prefers nostr because he knows that while he’s still supporting nostr people know there’s no clear person to blame, and they know that they can’t yell at him about the moderation failures (and, yes, nostr has a ton of moderation failures, with spam and scams). But, as we’re seeing with nostr, it also creates some very real limitations, especially with regards to user adoption and growth.
Indeed, initially, Bluesky was supposed to be like that, but Twitter was still going to be the main service component above the original Bluesky protocol. Jack would still be getting the blame for running the service.
However, the Elon situation changed things.
The thing about my Protocols paper was that it was designed to convince someone like Jack to go down this kind of path. I believe in the power of protocols, but the challenge was always going to be how to get users to embrace such a system. The easiest path was to have a platform with an existing audience embrace it and bring the users.
The other possibility — building something brand new that was just so good people would flock to it — is just incredibly difficult.
There was a third possibility, though, that I definitely didn’t expect: Elon buying Twitter and repeatedly making a mess of things, driving users away in droves, causing many people to seek alternatives.
In this chaos, Bluesky became a sort of weird hybrid approach. It started out building for that first scenario (Twitter’s gonna bring the audience) and ended up having to do the second (build something new and hope the users come) all because of the third scenario (Elon bringing complete chaos to the ecosystem) suddenly opened up a new opportunity for the second scenario.
In other words, in the past, Bluesky was supposed to be the protocol, with Twitter being one platform using Bluesky’s protocol. But when Elon killed everything, Bluesky also had to step up and replace the Twitter part — the service part — itself, offering a reference app built on the protocol.
Reading Jack’s interview, that’s the part that made him disillusioned with Bluesky. Bluesky’s Jay Graber recognized, smartly, that having Bluesky set up as a public benefit corporation separate from Twitter enabled it to do some important things. This included pivoting to building out a service that could take people fleeing Twitter, while also setting it up to be (hopefully) more sustainable long term. It allowed Bluesky to neatly detach from Twitter right after Elon took over and canceled the contract that Twitter previously had with the Bluesky team.
It also created echoes of things Jack didn’t like. Just the fact that there was a “board” at all made him worried about the dysfunctional board that Twitter had, which caused him all sorts of problems. And as Bluesky launched and was growing, it faced some of those early speedrun issues, as users showed up and demanded specific moderation choices and tools (faster than Bluesky was able to build them).
But it was making those choices at the platform level, while continuing to build the underlying protocol.
That has created some real challenges for the Bluesky team. I believe in their original thinking, they weren’t going to have to deal with the most thorny moderation challenges directly. That would be passed off to the service level: Twitter (and then hopefully others who might embrace the protocol). But, in this world, Bluesky also became that layer.
And the fact that most users don’t separate out the protocol and the service layer meant that now Bluesky was under a lot more pressure as if the protocol and the service were one and the same (in part, because at least for the time being, they kinda are). Also, in building things out, I think Bluesky (probably correctly) realized that passing off moderation to the service layer rather than the protocol layer does not solve for all harms, and there are times when other solutions may need to come into play.
It seems all that just gave Jack flashbacks to all the problems at Twitter:
In Jay’s case, she decided she wanted to set up a completely different entity, a B Corp. That accelerated even more when Elon made the acquisition offer, and it very quickly turned into more of a survival thing, where she felt she needed to build a company, and build a model around it, get VCs into it, get a board, issue stock, and all these things. That was the first time I felt like, whoa, this isn’t going in a direction I’m really happy with, or that wasn’t the intention. This was supposed to be an open source protocol that Twitter could eventually utilize.
And then, as you know, Elon backed off [on the acquisition], and that disaster happened [laughs], until he finally bought it, which was the worst timeline ever. But throughout all that, it became more and more evident that Bluesky had a lot of great ideas. And they’re ideas I believe in. I think the internet needs a decentralized protocol for social media. I think Elon needs it. I think X needs it. I think it removes liability for the company, to separate those layers.
But what happened is, people started seeing Bluesky as something to run to, away from Twitter. It’s the thing that’s not Twitter, and therefore it’s great. And Bluesky saw this exodus of people from Twitter show up, and it was a very, very common crowd.
This tool was designed such that it had, you know, it was a base level protocol. It had a reference app on top. It was designed to be controlled by the people. I think the greatest idea — which we need — is an algorithm store, where you choose how you see all the conversations. But little by little, they started asking Jay and the team for moderation tools, and to kick people off. And unfortunately they followed through with it.
That was the second moment I thought, uh, nope. This is literally repeating all the mistakes we made as a company. This is not a protocol that’s truly decentralized. It’s another app. It’s another app that’s just kind of following in Twitter’s footsteps, but for a different part of the population.
Everything we wanted around decentralization, everything we wanted in terms of an open source protocol, suddenly became a company with VCs and a board. That’s not what I wanted, that’s not what I intended to help create.
So here’s where I think Jack’s understandable concerns about the very existence of a board and the pressures of being a corporation offering a social media service begin to diverge a bit from reality.
Bluesky has continued to build exactly what he has wanted. And it’s almost exactly what Jay promised when she interviewed for the job. I know this because, at Jack and Parag’s request, I sat in on a bunch of the interviews of the various people they were considering to lead Bluesky to provide feedback. And Jay’s pitch matches extraordinarily closely to what Bluesky has become, including the corporate setup.
Indeed, one of the things that struck me about Jay’s original pitch, unlike most others that I remember, was that she included a discussion of how the setup had to be sustainable on its own, and not just as a thing Twitter funded. That turned out to be prescient, but also what has made things work.
Bluesky has built a protocol, ATprotocol, which was built by folks who had experience with the same protocol that inspired Jack’s current favorite, nostr: Secure ScuttleButt. SSB was a really neat decentralized protocol, but it was nearly impossible for the average person to use (trust me, I tried, and I’m even more motivated than your average social media user). Bluesky’s original developer previously worked on SSB. nostr’s creator has admitted that he based many of the ideas on SSB, he just wanted it to work better.
And, while Jack talks up the need for an “algorithm store” where users get to choose their own algorithm, Bluesky has that! Its feeds solution is amazing and there are over 50,000 different feeds you can choose to give you views into the conversation. It’s great, with some upgrades coming soon to make it even more user friendly. Plus, they’ve added in the ability through its composable moderation tools for there to be more customized moderation offerings, which are already creating really unique and user-empowering offerings. So everything that Jack is saying he wanted from Bluesky is there.
It didn’t go in a different direction. It built the fundamentals, as promised.
But the one main difference was that, due to the implosion of Twitter, Bluesky also had to build the service layer. And Jack was really done with taking the blame for moderation decisions at a platform (even if he wasn’t the one actually making those calls). Being blamed for everything sucks. And that was starting to happen with Bluesky, which was not what Jack signed up for.
But it was necessary.
In order to get regular people to use it, Bluesky needs to have a user experience that feels like a centralized provider. One that feels familiar. That doesn’t require them to learn about the underlying infrastructure, or understand what “federated instances” means, or learn how to store a private key securely, or what the fuck a NIP-05 identifier is.
Without Twitter to provide that front end, it made total sense for Bluesky to build that. And, just as Jack had planned for Twitter to still provide an interface on top of Bluesky that promoted “conversational health” while allowing others to surface other aspects of the global conversation, Bluesky chose to do that as well.
Yes, some of that process was messy, especially with some of the demands from users at a very early stage, when the company had limited staff and resources. And, early on, I think the Bluesky team had to come to terms with the fact that it was now taking on that side of things as well, which wasn’t intended. But what has continued to impress me in watching Bluesky as an outsider over the past year and a half, is how true it has stayed to its underlying vision, while also still trying to make its own app-layer usable by people who will never care about the decentralized protocol.
But the interesting thing about where Bluesky has gone over the past year is that, now that it’s building both the protocol and the service layer, the team there is actually thinking deeply about how moderation can work effectively in such a world. How it can use this different structure to actually look for ways to minimize the very real harms that happen in internet communities, but without being as heavy handed and all controlling as a centralized service would be. Jack was trying to offload that because he didn’t like taking the blame for it, but that doesn’t mean the harms aren’t real. And some people do need to think about how to try to minimize them. And to do that in a way that still builds a platform people want to use without having to worry about all the details.
I think this is important. Some (including many people on nostr) argue that users need to understand the power of a decentralized protocol to embrace it, but I disagree. Even if most of the users of a decentralized system don’t know or care about the fact that it’s decentralized, the fact that the underlying protocol is that way and is set up such that others can build and provide services (algorithms, moderation services, interfaces, etc.) means that Bluesky itself has strong, built-in incentives to not enshittify the service.
In some ways, Bluesky is building in the natural antidote to the activist investors that so vexed Jack at Twitter. Bluesky can simply point out that going down the enshittification path of greater and greater user extraction/worsening service just opens up someone else to step in and provide a better competing service on the same protocol. Having it be on the same protocol removes the switching costs that centralized enshittified services rely on to keep users from leaving, allowing them to enshittify. The underlying protocol that Bluesky is built on is a kind of commitment device. The company (and, in large part, its CEO Jay) is going to face tremendous pressures to make Bluesky worse.
But by committing to an open protocol they’re building, it creates a world that makes it much harder to force the company down that path. That doesn’t mean there won’t still be difficult to impossible choices to make. Because there will be. But the protocol is still there.
And that’s why, even as Jack namechecks my paper here, I think he’s wrong in the conclusion of this paragraph, saying that Bluesky went in another direction. It didn’t:
All that said, I really respect Jay. She was under a lot of pressure to survive and do the things that she did. But directionally, I just don’t align with it. And I’d love to see more effort placed on open protocols akin to Nostr, which hits every single attribute that I was searching for when we originally kicked this idea off. If you go back to my thread, and Mike Masnick’s Protocols, Not Platforms article, it hits every single one of those things, whereas Bluesky ultimately just went another direction.
Bluesky went in the same direction it planned. But it was forced to add on another layer — the service layer that Twitter was supposed to provide — and that was the part that Jack was already sick of.
I like nostr as well. I think it’s cool and has some really cool development happening. Some of the new services that have popped up using nostr are great. But Bluesky has an open protocol, ATprotocol, which actually has many similarities to nostr, but in a manner that hides the technical complexities from users, making it more approachable by the average user.
That’s important! Because the coolest, most elegant protocol in the world is useless without a userbase. And so far, Bluesky is set up in a way that “normie” users can just use it without caring about all of these details. And that has made a difference that even folks endorsing nostr have seen.
Up above, Jack bemoans the “common crowd” that found and enjoys Bluesky, but that’s who you need to build for if you’re not just building a small clubhouse for the technically savvy.
It’s entirely possible that someone will build a nostr client or service that does something similar. I hope that happens, honestly, because I think it would be a good thing. But right now it’s just not there. And if Bluesky followed a similar path, it would just be one of a list of rudderless protocols like nostr, farcaster, and a variety of others that people never remember.
There are some cool things being built on nostr and farcaster (and ActivityPub and Bluesky). I don’t think anyone needs to be particularly tribal about these things. But I think Jack is overcorrecting for his negative experience at Twitter. He thought Bluesky’s role was just to build an open protocol. But the Elon situation necessitated also building a reference app on top of it, which is actually helping to drive the entire ecosystem forward.
There’s a lot more worth commenting on in the interview, but this piece is getting long enough already. I think Jack’s explanation of why he’s embraced nostr (and pushed Bluesky originally) still makes sense, especially given the situation he was in over the last decade or so. Even as many people seem to want to dismiss what he’s saying, he’s right that the approach he’s pushing would be the best for an open internet instead of one controlled by just a few internet giants.
He’s also correct (as he notes later on in the piece) that the traditional advertising business model creates some difficult pressures for companies. He hoped that Elon taking Twitter private would help deal with those, but I think he overlooks how badly Elon miscalculated in creating those new business models.
What he’s missing is that Bluesky is, in fact, building exactly the kind of solution he wants (including one that is exploring other, better, business models). It’s just that they’re building it in a way that the underlying protocol issues aren’t important to the everyday user, but are still there if they ever want to go deep and explore.
That means the incentive structure for a better system is there. The risk of enshittification is diminished. The ability for users to “choose their own algorithm” is there. The ability for others to build their own interfaces, and algorithms, and moderation services, and more is there. It’s all there. Every bit of it.
Yes, it also has a board and venture backing. It also has all sorts of people using it, beyond a crew who revels in the technology infrastructure, which remains a niche audience. Bluesky remains the closest approximation I’ve seen to what I hoped for in my paper. It’s disappointing that Jack doesn’t see it, but I’m glad he kicked it off, and I’m glad that he is still pushing for decentralized social media protocols via nostr.
I’ve seen some people worry that Jack completely disconnecting from Bluesky harms the project, but I don’t think so. It’s true that Jack’s name helped generate a lot of the initial interest (and media coverage). But Jack has been checked out of Bluesky for at least a year (and really a year and a half).
If Bluesky is going to succeed, it needs to shine on its own, separate from Jack. Having some people (falsely) think it was “Jack’s new site” may have generated some initial interest (and some initial backlash!), but Jack publicly cutting the cord means that Bluesky now gets to succeed or fail on its own terms, out of Jack’s shadow. And, for a true decentralized protocol to succeed, that’s probably a good thing.
For semi-obvious reasons, I’ve been following developments at Bluesky closely, given that my Protocols, not Platforms paper was originally part of the reason Jack Dorsey decided to create Bluesky. I have no official association with the organization, though I did help Twitter review some of the early Bluesky proposals and spoke with a few of the candidates they looked at to lead the company (including Jay Graber, whom Jack eventually tabbed to run it).
While Dorsey has since soured on the approach that Bluesky is taking, preferring the nostr protocol’s approach (and deleting his Bluesky account entirely), I continue to believe that Bluesky is the most interesting and most promising of the various attempts at building a better social media system out there. I explained many of the reasons why a few weeks ago when Bluesky finally dropped its “private beta/invite-only” setup and opened to the public.
And yet, as many people pointed out to me, Bluesky still wasn’t really decentralized in any real way. It remained entirely centralized, as the company worked to build up both the new protocol for it, ATProtocol, and the Bluesky reference app on top of the protocol.
Today, we’re excited to announce that the Bluesky network is federating and opening up in a way that allows you to host your own data. What does this mean?
Your data, such as your posts, likes, and follows, needs to be stored somewhere. With traditional social media, your data is stored by the social media company whose services you’ve signed up for. If you ever want to stop using that company’s services, you can do that—but you would have to leave that social network and lose your existing connections.
It doesn’t have to be this way! An alternative model is how the internet itself works. Anyone can put up a website on the internet. You can choose from one of many companies to host your site (or even host it yourself), and you can always change your mind about this later. If you move to another hosting provider, your visitors won’t even notice. No matter where your site’s data is managed and stored, your visitors can find your site simply by typing the name of the website or by clicking a link.
We think social media should work the same way. When you register on Bluesky, by default we’ll suggest that Bluesky will store your data. But if you’d like to let another company store it, or even store it yourself, you can do that. You’ll also be able to change your mind at any point, moving your data to another provider without losing any of your existing posts, likes, or follows. From your followers’ perspective, your profile is always available at your handle—no matter where your information is actually stored, or how many times it has been moved.
It’s currently limited to smaller situations, of people who basically want to self-host their own Personal Data Servers. While things get settled, there are rate limits and guardrails for these PDS’s (so, things like only 10 user accounts for the time being). If you want to understand this even more (even if you’re not technical), Bluesky’s more “technical” explanation is still highly readable.
I know that some people hear “federation” and immediately think of Mastodon. However, Bluesky’s entire setup is very different and designed to be much more user friendly in multiple ways (once again, this is one of the reasons that Bluesky chose to create the ATProtocol, rather than going with ActivityPub).
ActivityPub federation has both pros and cons. When you sign up for an instance, you’re basically wholly reliant on whoever runs that instance. Rather than being part of a big centralized network, like Facebook, you’re part of a small centralized server that interconnects with lots of others. But whoever runs your server has pretty much ultimate control. That can work out great if they’re committed to it. But it can also unleash some problems.
Mastodon and related ActivityPub systems have put a lot of effort into minimizing some of the downsides of this. For example, threats of “defederation” are a fascinating incentivizing structure to keep ActivityPub instance admins from going totally rogue, while still allowing for there to be experimentation and differences among servers.
But in the end, you’ve still gone from a big centralized system to a little one, where someone else is in control.
With the Bluesky approach, there are many more layers involved, and federation is less about putting your entire social experience in the hands of one instance admin. Rather, it’s just about where your data/account information gets stored. As Bluesky explains:
A summary of some ways Bluesky differs from Mastodon:
A focus on the global conversation: On Mastodon, your “instance”, or server, determines your community, so your experience depends on which server you join. An instance can send and receive posts from other instances, but it doesn’t try to offer a global view of the network. Your Mastodon server is part of your username, and becomes part of your identity. On Bluesky, your experience is based on what feeds and accounts you follow, and you can always participate in the global conversation (e.g. breaking news, viral posts, and algorithmic feeds). You can use your own domain name as your username, and continue participating from anywhere your account is hosted.
Composable moderation: Moderation on Bluesky is not tied to your server, like it is on Mastodon. Defederation, a way of addressing moderation issues in Mastodon by disconnecting servers, is not as relevant on Bluesky because there are other layers to the system. Server operators can set rules for what content they will host, but tools like blocklists and moderation services are what help communities self-organize around moderation preferences. We’ve already integrated block and mute lists, and the tooling for independent moderation services is coming soon.
Composable feeds: We designed your timeline on Bluesky so that it’s not tied to your server. Anyone can build a feed, and there are currently over 40,000 algorithmic feeds to choose from. Your Mastodon timeline is only made up of posts from accounts you follow, and does not pull together posts from the whole network like Bluesky’s custom feeds.
Account portability: We designed federated hosting on Bluesky so that you can move servers easily. Moving hosting services should be like changing your cell phone provider — you should be able to keep your identity and data. Changing servers on Bluesky doesn’t disrupt your username, friends, or posts.
This is important, though there are still some details to be worked out, especially around the third-party moderation efforts. But, on the whole, having the ability to still interact with the wider Bluesky community while keeping your personal data server somewhere else that you control is a big step forward in realizing how a more decentralized social media could (and I’d argue, should) work. It brings us back towards the world of an open web, and away from locked-in silos.
Now, again, there are still some parts of the system that people are worried about, in particular how they could be open to centralized capture. The thing is, there is always going to be some risk of this on basically any system. To make things work properly, you tend to need certain parts of the stack to either work together seamlessly, or it just ends up that a very small number of giant players end up dominating the otherwise “open” system anyway.
This is a concern worth watching. However, it’s also been one that the Bluesky team has repeatedly and readily acknowledged, along with their ideas and thinking on how to guarantee that future Bluesky (or anyone else) is effectively incentivized against enshittification. That’s not to say it will all work out, but so far I’ve seen no reason not to believe that the team has been building with this in mind. Its last few major announcements have all shown continued movement in this direction.
At the end of this tunnel, there is a very powerful vision, one that is partially (though not entirely) laid out in the Protocols, Not Platforms paper. In this vision, people can either self-host their own data servers or find a trusted third party to do so, with the ability to move if the current host turns out to be a problem. It’s one where there are many different tools to allow people to craft their own experience (though composable moderation and algorithmic choice within the system) and the moderation layer is separate and extracted from the data server, the app, and the hosting company.
There will be services that combine them all (like Bluesky today), but also we’re increasingly moving towards the world in which people will be able to adjust things to their own liking. And that can be powerful in its own way. No, most users won’t want to get down into the weeds and tweak things themselves. But that’s where there’s an opportunity for organizations to step up and provide a comprehensive solution themselves, whether it’s Bluesky itself, or others.
But, just the fact that users can modify basically everything, and that third parties have free ability to build apps and services (and custom feeds) on top of this core, has an added advantage, even for those who don’t want to tweak the details and fiddle the knobs themselves. The very fact that it’s possible (or that it’s possible to jump to other providers) creates a strong anti-enshittification incentive structure.
One of the big reasons that enshittification occurs is because users are locked-in. There’s no easy way to leave, without a massive hassle. And part of that hassle is losing access to friends and family. The exciting part of Bluesky with federation is that there is no lock-in, which means there’s much less temptation for enshittification and rent extraction from users with nowhere else to go.
This move towards federation is a small move towards that larger vision, but it’s an important one.
As many of you know, I’ve been pretty excited about where Bluesky is going as a social media offering, not just because of the people who have been using it (who have mostly been great, making it a fun place to hang out these days), but because of the concepts behind it.
Bluesky was originally seeded by Jack Dorsey in response to his reading my Protocols, Not Platforms paper. The project moved along (somewhat slowly) for a few years. While Dorsey funded it, and the idea was that Twitter would eventually adopt the protocol, it was created as a wholly independent company, which initially had a contract with Twitter. The whole concept was finally picking up steam, just as Elon bought Twitter and cancelled the company’s relationship with Bluesky.
From there, the company quickly pivoted to release a reference app of its own, to give people a sense of how you could build a social media network that wasn’t awful and wasn’t confusing. But, because of the rush to set up their own network, and the numerous features it didn’t yet have ready (e.g., in the early days there was no “block” feature at all), it was setup as a closed beta, where you needed an invite to use the system.
Even with that invite system, Bluesky grew to over 3.2 million users (not all of whom have stuck around, but the network keeps growing). Over the past year, Bluesky has built out a number of new features, both ones to reach parity with what’s expected of most social networks, as well as some unique (and important) ones.
For example, the company has added some (still early) features that give users much more control over their experience: composable moderation and algorithmic choice. Composable moderation lets users set some of their own preferences for what they want to encounter on social media, rather than leaving it entirely up to a central provider. Some people are more willing to see sexual content, for example.
But, the algorithmic choice is perhaps even more powerful. Currently, people talk a lot about “the algorithm” and now most social networks give you one single algorithm of what they think you’ll want to see. There is often a debate among people about “what’s better: a chronological feed or the algorithmically generated feed” from the company. But that’s always been thinking too small.
With Bluesky’s algorithmic choice, anyone can make or share their own algorithms and users can choose what algorithms they want to use. In my Bluesky, for example, I have a few different algorithms that I can choose to recommend interesting stuff to me. One of them, developed by an outside developer (i.e., not Bluesky), Skygaze, is a “For You” feed that… is actually good? Unlike centralized social media, Skygaze’s goal with its feed is not to improve engagement numbers for Bluesky.
I also have feeds showing me “quiet posters” (calling attention to posts from users who don’t post all that often) or posts that are “popular with friends.” I have a few different topic-focused algorithms as well, including one highlighting breaking stories from journalists, and others highlighting posts from folks interested in tech law and policy.
In other words, rather than letting Bluesky curate my experience (or leaving it up to the whims of a chronological feed), I get to curate the experience myself, with help for anyone else who is creating and releasing their own feed algorithms.
And all of that is about to get even better. Because Bluesky also announced that they’re opening up their moderation system as well, to enable a similar sort of feature for moderation:
In the coming weeks, we’re excited to release the labeling services which will allow users to stack more options on top of their existing moderation preferences. This will allow other organizations and people to run their own moderation services that can account for industry-specific knowledge or specific cultural norms, among other preferences.
One potential use case for labeling is fact-checking. For example, a fact-checking organization can run a labeling service and mark posts as “partially false,” “misleading,” or other categories. Then, users who trust this organization can subscribe to their labels. As the user scrolls through posts in the app, any labels that the fact-checking organization publishes will be visible on the post itself. This helps in the effective distribution of the fact-check and keeps users better informed.
I expect that we’ll begin to see a lot of innovation there as well.
In addition, the company has said that it is finally rolling out its long awaited federation features. While Bluesky and its underlying ATProtocol was always designed to be a federated network, to date, the only real way to use Bluesky was to rely on Bluesky’s servers. There are some amazing third party clients (Deck.blue is an astoundingly great Tweetdeck-like multi-column client), but they’re still just showing you what’s on Bluesky’s servers.
But that’s changing:
This month, we’ll be rolling out an experimental early version of “federation,” or the feature that makes the network so open and customizable. On Bluesky, you’ll have the freedom to choose (and the right to leave) instead of being held to the whims of private companies or black box algorithms. And wherever you go, your friends and relationships can go with you.
I know that a lot of people hear “federation” and worry that it will be confusing and complex, as it often feels on something like Mastodon (though, Mastodon has put a lot of effort into making that experience better). But Bluesky is building from the ground up with a plan to make the federation aspect as seamless as possible.
All of this is pretty exciting. Yesterday, I spoke to Will Oremus at the Washington Post as he was working on an article about Bluesky opening up, and I said something to him (which didn’t make his article) but I think is important. I mentioned that I’ve always believed that there were two ways to make a “protocols” approach to social media work: (1) convince a big company to move away from a centralized system or (2) have someone use a protocol based system to build something that was just, fundamentally, at its core better.
Both approaches have challenges to succeed. But I think it’s fascinating that Bluesky started as (1), but has very much moved to (2) (and, of course, it’s notable that I never included “have a narcissist billionaire ruin one major platform that people kinda liked” as a third option for how this might work).
It’s still a long way to go to see if Bluesky succeeds, and there are oh so many ways it could go wrong. But the inclusion of composable moderation and algorithmic feeds already gives me a way better experience than any other social media platform, and it does so not in the service of any billionaire, but rather in service of me, the user. And that is incredibly encouraging as a start.
And, given the open nature of ATProtocol, it also means that if Bluesky fucks it up, and doesn’t actually continue to build in this direction, others have the ability to make it better for them (and for everyone).
To celebrate opening up, Bluesky teamed up with artist Davis BIckford to create a lovely comic explaining why Bluesky is different, and why it matters. You can see the whole thing in Bluesky’s post on opening up, but here’s just a snippet.
I know lots of people like to crap on social media. And I’ve heard a bunch of people insist that Bluesky is too late to the party, or that Threads will kill it or some-such. And, hey, that may be true. But right now, it’s a place that offers a fantastic user experience, which puts you in control more than any other. And, once federation opens up you don’t even have to worry about it being in service to a single company or a single billionaire.
As you may have heard, yesterday Meta finally launched Threads, its Twitter-like microblogging service, built on ActivityPub, but using Instagram account credentials for login. The reaction from across the internet has been fascinating. I’ve seen everything from people insisting that this will clearly finally be the one single “Twitter killer” everyone’s been waiting for, to this is the microblogging equivalent of Steve Buscemi saying “how do you do, fellow kids.”
Clearly, lots of people were willing to check it out. Mark Zuckerberg (on Threads) claimed that 2 million people signed up in just the first few hours.
Of course, I got that screenshot on the web (which lets you see things, but not login or post to Threads). When I tried to get a copy of it from the mobile app where you can actually post, I got this:
So, uh, yeah, still some kinks to work out.
By this morning, Zuck was saying Threads had 30 million signups in its first day.
I mean, that’s what you get for bootstrapping on a social network and social graph that already has over 2 billion users. Some are complaining that this is an example of Meta leveraging its “dominant” position to enter a new market, but as I explain below, I don’t think this is so bad, because the open protocol nature of this means it’s actually resistant to the worst potential exploitation.
I have no idea how Threads will do. It’s possible it’ll catch on. It’s possible it’ll flop. I have no real crystal ball on how it will do, and people who are insisting that one outcome or the other is inevitable are just guessing, so they can claim they knew it all along when whatever happens, happens.
What Meta does have, though, is the ability to scale this. While there is a relatively small team working on it, apparently just “a few dozen” Instagram employees, Meta does have the infrastructure in place to scale if it does catch on, which still remains a challenge for basically everyone else.
And, it’s not just the technical infrastructure, but the trust and safety infrastructure as well. Not that I think anyone is going to say that Meta has been particularly good at handling trust and safety challenges, but they have people and they have technology… and (importantly) they have experience.
But, still, the bigger, and more important part here, is just the fact this is built on ActivityPub. Back in December, I talked about when Mastodon/ActivityPub might have its “Gmail moment,” where a big company steps in and offers a better UI, better features, and a simpler onboarding setup.
While a bunch of mid-sized companies have embraced ActivityPub, including Mozilla, Medium, and Flipboard, Meta is in a different league altogether. And that has both advantages and disadvantages.
But, the important point to me, and the one thing that matters, is that this shows that big companies can make use of interoperable protocols to build on, rather than building up silos. While Threads does not currently interoperate with the rest of the fediverse, the company has made clear that it intends to do so at some point, and even included this fact in the splash screen when you first setup Threads:
And that’s important. For the last two decades, the big internet companies have mostly focused on building their own proprietary silos, rather than using open protocols and interoperating.
Now, it’s true that some of the new European regulations coming into force put pressure on tech companies to interoperate more, but it remains to be seen how well that actually works (and notably, Threads is not available in the EU, as they found it impossible to currently comply with GDPR requirements). What is clear and is notable, is that this is the first time in a long time that we’ve seen a “big tech” company embrace an open protocol.
And, yes, some people fear that the goal is to “embrace, extend, extinguish,” to use the old Microsoft playbook. But the nice thing about protocols is it actually creates incentives against doing so. Because of its open nature, if you don’t like where Meta is going with threads, you can go elsewhere. But you can do so without losing your ability to communicate with those in your network who remain on Threads.
That’s powerful and it’s how the internet was always supposed to work, but which we’ve gone away from.
Indeed, one way to look at this is that it’s Meta bringing many millions of new people to the protocol-based decentralized social media world. And even if plenty stay within Meta’s private park, it will allow those outside the network to communicate with those inside, and also to highlight how they can get the same basic thing without having to cough up data to Meta.
So, I’m personally not that excited about Threads as a product, nor am I all that worried about it doing something bad for the fediverse. I am excited that it shows how big companies can make use of open protocols in a manner that keeps the internet more open, enabling communication not just within a single silo, but where the users have more control, rather than a single centralized company.
Having more of that is a good thing.
And, while I know a bunch of Mastodon instances are planning to defederate from Threads as soon as it connects to the wider fediverse, I think the statement put out by Mastodon creator, Eugen Rochko, is actually quite thoughtful about all this:
We have been advocating for interoperability between platforms for years. The biggest hurdle to users switching platforms when those platforms become exploitative is the lock-in of the social graph, the fact that switching platforms means abandoning everyone you know and who knows you. The fact that large platforms are adopting ActivityPub is not only validation of the movement towards decentralized social media, but a path forward for people locked into these platforms to switch to better providers. Which in turn, puts pressure on such platforms to provide better, less exploitative services. This is a clear victory for our cause, hopefully one of many to come.
I agree completely. This is validation of open protocols and pushing power to the ends of the network, rather than just another silo. That, alone, is a good thing that should be celebrated.
A few weeks ago I wrote about an interview that Substack CEO Chris Best did about his company’s new offering, Substack Notes, and his unwillingness to answer questions about specific content moderation hypotheticals. As I said at the time, the worst part was Best’s unwillingness to just own up to what he was saying were the site’s content moderation plans, which was that they would be quite open to hosting the speech of almost anyone, no matter how terrible. That’s a decision that you can make (in the US at least), but if you’re going to do that, you have to be willing to own the decision that you’re making and be clear about it, which Best was unwilling to do.
I compared it the “Nazi bar” problem that has been widely discussed on social media in the past, where if you own a bar, and don’t kick the Nazis out up front, you get the reputation as a “Nazi bar” that is difficult to get rid of.
It was interesting to see the response to this piece. Some people got mad, claiming it was unfair to call Best a Nazi, even though I was not doing that. As in the story of the Nazi bar, no one is claiming that the bar owner is a Nazi, just that the public reputation of his bar would be that it’s a Nazi bar. That was the larger point. Your reputation is what you allow, and if you’re taking a stance that you don’t want to get involved at all, and you want to allow such things, that’s the reputation that’s going to stick.
I wasn’t calling Best a Nazi or a Nazi sympathizer. I was saying that if he can’t answer a straightforward question like the one that Nilay Patel asked him, Nazis are going to interpret that as he’s welcoming them in, and they will act accordingly. So too will people who don’t want to be seen hanging out at the Nazi bar. The vaunted “marketplace of ideas” includes the ability for a large group of people to say “we don’t want to be associated with that at all…” and to find somewhere else to go.
And this brings us to Bluesky. I’ve written a bunch about Bluesky going back to Jack Dorsey’s initial announcement which cited my paper among others as part of the inspiration for betting on protocols.
As Bluesky has gained a lot of attention over the past week or so, there have been a lot of questions raised about its content moderation plans. A lot of people, in particular, seem confused by its plans for composable moderation, which we spoke about a few weeks ago. I’ve even had a few people suggest to me that Bluesky’s plans represented a similar kind of “Nazi bar” problem as Best’s interview did, in particular because their initial reference implementation shows “hate speech” as a toggle.
I’ve also seen some people claim (falsely) that Bluesky would refuse to remove Nazis based on this. I think there is some confusion here, and it’s important to go deeper on how this might work. I have no direct insight into Bluesky’s plans. And they will likely make big mistakes, because everyone in this space makes mistakes. It’s impossible not to. And, who knows, perhaps they will run into their own Nazi bar problem, but I think there are some differences that are worth exploring here. And those differences suggest that Bluesky is better positioned not to be the Nazi bar.
The first is that, as I noted in the original piece about Best, there’s a big difference between a centralized service and its moderation choices, and a decentralized protocol. Bluesky is a bit confusing to some as it’s trying to do both things. Its larger goal is to build, promote, and support the open AT Protocol as an open social media protocol for a decentralized social media system with portable identification. Bluesky itself is a reference app for the protocol, showing how things can be done — and, as such it has to do content moderation tasks to avoid Bluesky itself running into the Nazi bar problem. And, at least so far, it seems to be doing that.
The team at Bluesky seems to recognize this. Unlike Best, they’re not refusing to answer the question, they’re talking openly about the challenges here, but so far have been willing to remove truly disruptive participants, as CEO Jay Graber notes here:
But, they definitely also recognize that content moderation at scale is impossible to do well, and believe that they need a different approach. And, again, the team at Bluesky recognizes at least some of the challenges facing them:
But, this is where things get potentially more interesting. Under a traditional centralized social media setup, there is one single decision maker who has to make the calls. And then you’re in a sort of benevolent dictator setup (or at least you hope so, as the malicious dictator threat becomes real).
And this is where we go on a little tangent about content moderation: again, it’s not just difficult. It’s not just “hard” to do. It’s impossible to do well. The people who are moderated, with rare exceptions, will disagree with your moderation decisions. And, while many people think that there are a whole bunch of obvious cases and just a few that are a little fuzzy, the reality (this is part of the scale part) is that there are a ton of borderline cases that all come down to very subjective calls over what does or does not violate a policy.
To some extent, going straight to the “Nazi” example is unfair, because there’s a huge spectrum between the user who is a hateful bigot, deliberately trying to cause trouble, and the good helpful user who is trying to do well. There’s a very wide range in the middle and where people draw their own lines will differ massively. Some of them may include inadvertent or ignorant assholery. Some of it may just include trolling. Or sometimes there are jokes that some people find funny, and others find threatening. Sometimes people are just scared and lash out out of fear or confusion. Some people feel cornered, and get defensive when they should be looking inward.
Humans are fucking messy.
And this is where the protocol approach with composable moderation becomes a lot more interesting. On the most extreme calls, the ones where there are legal requirements, such as child sexual abuse material and copyright infringement, for example, those can be removed at the protocol level. But as you start moving up into the more murky areas, where many of the calls are subjective (not so much: “is this person a Nazi” but more along the lines of “is this person deliberately trolling, or just uninformed…”) the composable moderation system begins to let (1) the end users make their own rules and (2) enable any number of 3rd parties to build tools to work with those rules.
Some people may (for perfectly good reasons, bad reasons, or no reasons at all) just not have any tolerance for any kind of ignorance. Others may be more open to it, perhaps hoping to guide ignorance to knowledge. Just as an example, outside of the “hateful” space, we’ve talked before about things like “eating disorder” communities. One of the notable things there was that when those communities were on more mainstream services, people who had gotten over an eating disorder would often go back to those communities and provide help and support to those who needed it. When those communities were booted from the mainstream services, that actually became much more difficult, and the communities became angrier and more insulated, and there was less ability for people to help those in need.
That is, there will still need to be some decision making at the protocol level (this is something that people who insist on “totally censorship proof” systems seem to miss: if you do this, eventually the government is going to shut you down for hosting CSAM), but the more of the decision making that can be pushed to a different level and the more control put in the hands of the user, the better.
This allows for more competition for better moderation, first of all, but also allows for the variance in preferences, which is what you see in the simple version that Bluesky implemented. The biggest decisions can be made at the protocol level, but above that, let there be competitive approaches and more user control. It’s unclear exactly where Bluesky the service will come down in the end, but the early indications from what’s been said so far are that the service level “Bluesky” will be more aggressive in moderating, while the protocol level “AT Protocol” will be more open.
And… that’s probably how it should be. Even the worst people should be able to use a telephone or email. But, enabling competition at the service level AND at the moderation level, creates more of the vaunted “marketplace of ideas” where (unlike what some people think the marketplace of ideas is about), if you’re regularly a disruptive, disingenuous, or malicious asshole, you are much more likely to get less (or possibly no) attention from the popular moderation services and algorithms. Those are the consequences of your own actions. But you don’t get banned from the protocol.
To some extent, we’ve already seen this play out (in a slightly different form) with Mastodon. Truly awful sites like Gab, and ridiculously pathetic sites like Truth Social, both use the underlying ActivityPub and open source Mastodon code, but they have been defederated from the rest of the fediverse. They still get to use the underlying technology, but they don’t get to use it to be obnoxiously disruptive to the main userbase who wants nothing to do with them.
With AT Protocol, and the concept of composable moderation, this can get taken even further. Rather than just having to choose your server, and be at the whims of that server admin’s moderation choices (or the pressure from other instances which keeps many instances in check and aligned), the AT Protocol setup allows for a more granular and fluid system, where there can be a lot more user empowerment, without having to resort to banning certain users from using the technology entirely.
This will never satisfy some people, who will continue to insist that the only way to stop a “bad” person is to ban them from basically any opportunity to use communications infrastructure. However, I disagree for multiple reasons. First, as noted above, outside of the worst of the worst, deciding who is “good” and who is “bad” is way more complicated and fraught and subjective than people like to note, and where and how you draw those lines will differ for almost everyone. And people who are quick to draw those lines should realize that… some other day, someone who dislikes you might be drawing those lines too. And, as the eating disorder case study demonstrated, there’s a lot more complexity and nuance than many people believe.
That’s why a decentralized solution is so much better than a centralized one. With a decentralized system you don’t have to be worrying about yourself getting cut out either. Everyone gets to set their own rules and their own conditions and their own preferences. And, if you’re correct that the truly awful people are truly awful, then it’s likely that most moderation tools and most servers will treat them as such, and you can rely on that, rather than having them cut off at the underlying protocol level.
It’s also interesting to also see how the decentralized social media protocol nostr is handling this as well. While it appears that some of the initial thinking behind it was the idea that nothing should ever be taken down, it appears that many are recognizing how impossible that is, and they’re now having really thoughtful discussions on “bottom up content moderation” specifically to avoid the “Nazi bar” problem.
Eventually in the process, thoughtful people recognize that a community needs some level of norms and rules. The question is how are those created, how are they implemented, and how are they enforced and by whom. A decentralized system allows for much greater control by end users to have the systems and communities that more closely match their own preferences, rather than requiring the centralized authority handle everything, and be able to live up to everyone’s expectations.
As such, you may end up with results like Mastodon/ActivityPub, where “Nazi bar” areas still form, but they are wholly separated from other users. Or you may end up with a result where the worst users are still there, shouting into the wind with no one bothering to listen, because no one wants to hear them. Or, possibly, it will be something else entirely as people experiment with new approaches enabled by a composable moderation system.
I’ll add one other note on that, because there are times when I’ve discussed this that people highlight that there are other forms of harassment or other kinds of risks beyond direct harassment. And just blocking a user does not stop them from harassing or encouraging or directing harassment against another. This is absolutely true. But, this kind of setup does also allow for better tooling for potentially monitoring such a thing without having to be exposed to it directly. This could take the form of Block Party’s “lockout folder” where you can have a trusted third party review the harassing messages you’ve been receiving rather than having to go through it yourself, or, conceivably. other monitoring and warning services could pop up, that could track people who are doing awful things, try to keep them from succeeding, and alert the proper people if things require escalation.
In short, decentralizing things, and allowing many different approaches, and open systems and tooling doesn’t solve all problems, but it presents some creative ways to handle the Nazi Bar problem that seem likely to be a lot more effective than living in denial and staring blankly into the Zoom screen as a reporter asks you a fairly basic question about how you’ll handle racist assholes on your platform.