Blog

The latest from Bluesky.

Working In Public

May 4, 2022

by Jay Graber

It’s been four months since the Bluesky company got funding and started hiring a team. Now that we have a few people on board, we’re starting to work in public.

Today we’re releasing ADX, the “Authenticated Data Experiment”. Our company's name, “bluesky,” describes the open-ended nature of this project, and the freedom we were given to start from first principles. As we get more concrete, we’ll give more specific names to what we’re building, starting with ADX.

The Process

What does “working in public” mean? It’s a process of being transparent and available to the public, and takes place on a spectrum. On one extreme, I could be livestreaming the writing of this post, taking feedback from the audience as I go. Our teammate Paul actually did this for a prior decentralized social network app he built – you can check out the livestream history at each git commit here. On the other extreme, we could try to fully develop everything before releasing it to the world. At Bluesky, we’re going to take a middle path of releasing work before it’s complete, but also giving ourselves time to workshop new directions at early stages. Going forward, we’ll be experimenting with some different ways to engage publicly to figure out how to strike that balance.

The Writing: Words & Code

This week we’re releasing code for an experimental personal data server and a command-line client. We’re also sharing a high-level overview of the network architecture grounded in a technical description of what the data repository is and how it works. Feel free to play around, but don’t try to build your next big social app on this yet. Things are missing, and things are going to change. We’ve been writing code to validate ideas and discover edge cases as a part of the research process, as opposed to writing code to produce a finished product.

Along with the code, our architecture overview should give you some insight into the ideas we are pursuing. The analogy for this demo is “git, for your social posts.” And if this is git, it only begins to indicate how GitHub or GitLab works. There’s a lot of other parts to the system that will shape the user experience, so you’ll probably have some questions. We’ll try to engage with incoming questions and feedback over the coming weeks.

As we release the first experiment, we anticipate a common question will be “why didn’t you use X?” In places where it made sense, we used existing building blocks that were flexible, modular, and had good tooling. More opinionated stacks might contain good ideas, but we needed the freedom to optimize for our own requirements without designing around existing architectures. There’s always the possibility of integration or interop in the future.

We’re in R&D mode at the moment, experimenting with pieces that point in the right direction. We don’t have a finished product or a fully-specified protocol, but we’re putting together components that we believe will enable a social media ecosystem with a healthier balance of power. This isn’t a complete picture yet, and doesn’t lay out how we’ll be getting from here to there. These are the first steps — there’s still a lot more to do.

If you have questions about the architecture or code, drop in to our Matrix dev channel to talk to the developers. Let’s move from platforms to protocols!