journal  photos  code  knowledge bnewbold.net

Progress on atproto Values and Value Proposition

 
Mon 12 August 2024
bnewbold

It has been a wild 18 months working at Bluesky on atproto. Goalposts and narratives have a way of getting pulled around by crises and the priorities of the week, making it is easy to lose track of the big picture. In this post, i'm dredging up some of my own early notes on goals and values for the protocol, to see how much progress has been made.

When I started in January 2023 the company was shifting from an R&D project to building out a real-world product, while at the same time finishing design of large social-technical components of the protocol. As a tiny team we designed and implemented the repo synchronization protocol, core moderation system, and "app-view" concept all in a couple months. While at the same time adding basic product features (search! Android!), and growing the early community to tens of thousands of users.

Fast-forwarding a year and a half, today the network is openly federated with hundreds of PDS instances. It is home to millions of user accounts, there are thousands of independent currated feeds, and dozens of independent labeling services are in operation.

I should be clear that the roadmap below is a personal and historic artifact. This was never a roadmap for the whole team. In particular, team's overall philosophy is that developing and prioritizing "product" and "protocol" together will lead to better outcomes. I'm taking a more "protocol" perspective here.

Open/Libre Protocol

Goals: The protocol itself should have a written specification, with no restrictions on reuse. Independent parties should be able to implement it and interoperate with no concerns about intellectual property. The most popular and influential implementations and service providers should have good (if not always perfect) compliance with the specification.

The future development of the protocol should have a clear, neutral, trustworthy governance process. There should be resiliency against "embrace/extend/extinguish" by any large providers.

Milestones and Capabilities:

Summer 2024 Status: Doing an Ok job keeping production reality and written specs synchronized; gaps between real-world behavior and documentation are common with this sort of project. There are some areas of written specs to be completed or updated. Standards body work will require more independent stakeholders to get started.

Credible Exit

Goals:: There should be no technical or social single-point-of-failure for the overall protocol and network. There should be no single organization or individual who can entirely exclude others from the ecosystem (though the ecosystem may collectively exclude bad actors). There should be multiple independent interoperating service providers for each infrastructure component.

Milestones and Capabilities:

Summer 2024 Status: Great progress on proven technical functionality and available open software. Serious independent infrastructure operators are lacking for several components, but it is still early days. PLC socio-technical path forward has solidified compared to early 2023, and centralization risk with PLC is manageable.

Own Your Identity and Data

Goals: Individual account holders should have ultimate control over their network identity, and retain ownership of content they create and contribute to the network.

Milestones and Capabilities:

Summer 2024 Status: This has a bright spot for the protocol, with most core functionality enabled early on. It would be great for more users to have recovery keys registered for their PLC identities; this will require UI/UX work and encouragement. Though the functionality is still a win even if adopted only by high-stakes or institutional accounts.

Algorithmic Choice

Goals: Users should have individual control over what content they see and what is recommended to them. New entrants (communities, companies, etc) should be able to provide curation and discovery services.

Milestones and Capabilities:

Summer 2024 Status: The protocol has been fairly successful in this area. The feed tooling ecosystem in particular has made feed curration relatively accessible, with tens of thousands of feeds created.

Composable Multi-Party Moderation

There should not be a single organization or party who has unique control of moderation policy and enforcement across the entire global network. It should be possible for new entrants to participate in moderation of any subset of the existing network.

This area is central to the entire project!

Milestones and Capabilities:

Summer 2024 Status: The independent labeler service system launched later than other components. Independent moderation services have seen successes and failures, and it will probably take more time to see where the ecosystem lands.

Foundation for New Apps

atproto should be a reasonable choice for small teams to build new applications, even if they don't particularly care about decentralized protocols. That is, social graph network effects and features provided by the protocol ("problems solved", "value created") should outweigh added complexity, friction, or inefficiencies ("problems introduced", "costs").

Milestones and Capabilities:

Summer 2024 Status: This is the area we have invested the least visible time and effort towards to date, though this was always going to be a later-stage goal. A lot of early work went in to ensuring this would be possible, but only recently has it even been possible to write arbitrary records or proxy to independent services. There are a growing number of early-adopter apps, the developers of which have had to reverse-engineer many aspects of the protocol.

How Did It Go?

The huge waves of press, user growth, and infrastructure demands in 2023 were challenging, but more than we could have hoped for. An intensely engaged community moved in with strong opinions and high expectations around product features and community dynamics. It has been an amazing opportunity to ship high-concept network features to a large and more-or-less receptive audience. We've had a never-sleeping, ever-mischievous developer scene watching every git commit and repeatedly front-running our product launches.

A large contingent of the network does not give a shit about protocols, adverserial interop, enshittification, protocol bridging, or moderation across geo-political and cultural borders. I'm so proud that those folks have had reason to stick around. I think that set of concerns is important and will be positive differentiators for atproto and Bluesky in the long run. But realistically, we need to create a fun no-compromises environment where people want to invest time and energy, or none of it will matter very much.

In retrospect, it feels like the big "launch" milestones relevant to the protocol were:

Handles and feed generators came fairly easy. There was a federation sandbox in May 2023, and we were close to opening up much sooner than we did, but waited to ensure the servers and moderation systems were robust to trolls and spammers. Finally getting to federation and launching Ozone were long projects, but came out better for the effort, and left me feeling like we had crested the hilltop with most of the original big ideas in place. We are very close to landing OAuth, another long project, which along with other developer polish could end up being a symbolic milestone for building independent apps.