ATProto Style Guide
This guide aims to encourage clear, accurate, and consistent language so that readers understand the relationship between the two concepts.
For the Press
For journalists, editors, bloggers, and technical writers
For the Press
For journalists, editors, bloggers, and technical writers
When First Mentioned in an Article
On first mention, always explain the distinction clearly:
[This space is reserved for good examples of publications that have followed these stylistic guidelines]
Example:
"Bluesky, a social app built on ATProtocol, a decentralized networking protocol, has seen rapid growth this year."
Another example:
"ATProtocol, an open social protocol enabling apps like Bluesky to interoperate, is gaining wider adoption."
From the press:
"Today, Bluesky’s social network has grown to over 33 million users, while the technology it’s built upon — the AT Protocol (or ATProto for short) — is being used to develop dozens more applications designed to work together as part of an open social web." - Sarah Perez, TechCrunch
"Undergirding Bluesky as well as several smaller apps is the Atmosphere, or AT Protocol, which is a rule book that servers use to communicate. The open source protocol allows sovereign digital spaces to integrate with one another as needed. Two apps with complementary ideas about moderation or ads can work in tandem—or not. It’s up to them." - Kate Knibbs, Wired
Dame's Guide: "You can now own your social networking data, take it with you, and hopefully avoid being locked into one specific app in the future."
Short Definitions for Stylebooks or Glossaries
ATProtocol: An open decentralized social networking protocol that allows multiple apps to interoperate on the same social graph and content network. Bluesky is one example of an app using ATProtocol.
Bluesky: A social app and company that created the first large-scale implementation of ATProtocol. Often mistakenly conflated with the protocol itself.
Tone & Framing Suggestions
Use language that conveys ecosystem plurality ("apps like Bluesky" vs. "the Bluesky app")
In UX Writing
Developers using the ATProtocol must contend with communicating to users who may be familiar only with Bluesky or another ATProto app and not ATProto itself--including that they already own an ATProto handle they can log in with on any Appview to find all their same posts, preferences, and friends. Bluesky itself could help serve this education gap by adopting some of the styling conventions we propose here in their own flagship app.
In UX Writing
Developers using the ATProtocol must contend with communicating to users who may be familiar only with Bluesky or another ATProto app and not ATProto itself--including that they already own an ATProto handle they can log in with on any Appview to find all their same posts, preferences, and friends. Bluesky itself could help serve this education gap by adopting some of the styling conventions we propose here in their own flagship app.
Here are some common moments where ATProto can be encountered and contextualized, and some suggested language for doing so. [under development!]
Onboarding/Welcome and Logging In. Name and help people understand the technology they're using and how their handle brings their data with them to any app on ATProto.
Logging in. Help people understand where they use their ATProto handle.
Log in with ATProto (Bluesky).
ATProto or ATProtocol are more accurate, but (Bluesky) helps unfamiliar users orient themselves.
Blocking and muting. Help people understand what is public on ATProto.
Local-first or protocol-first? Help people understand which of the data they produce in your app does or does not get published to ATProto.
Opportunities and Discussion
What are different apps built on ATProto called? In the dev community we call them "Appviews." Is that a user-facing term?
Proposal: "AT Apps" "Social Web App"
A decentralized social protocol is novel to most of the world, who associate identities with the platforms they use them on. What do people want to understand about the implications of publishing within a given Appview?
Henrick's Proposed UX Snippets
For this mostly I wanted to focus on using "social web" in place of ATProtocol or ATProto or other terms that would be unfriendly. This makes ATProto sound more friendly like "World Wide Web" or "Fediverse" does to their respective scopes like the complex interplay of the normal web; and the world of applications running on ActivityPub.
[T: atproto is more specific than the social web. granted now there are more bridges, but i guess i'm wondering if the below is always true when working on an atproto app, which means a precise thing?
i do like thi]
Core Concepts
ATProtocol or ATProto (short for Authenticated Transfer Protocol) → An open, and open source, decentralized social networking protocol → Developed and currently managed by Bluesky PBC but not owned by Bluesky PBC the company → Designed to enable an ecosystem of interoperable social apps and services where users can create their own ATProto identity which can be used to login to any ATProto App or service allowing use of their identity, social network graph (followers and following), and preferences no matter what app they have logged into.
Bluesky - A flagship app built on top of ATProtocol which was originally incubated by Twitter
Composable Feeds and Algorithmic Choice - Allowing users to build their own social experience with their choice of feeds and algorithms.
Composable Moderation - Allowing users to choose the filters and moderation tools they use every day on social media instead of having to be beholden to just one moderation team.
Basic Terminology Guidelines
"Bluesky Protocol" → Use ATProtocol or ATProto instead
"Bluesky is decentralized" → Clarify: Bluesky uses ATProtocol, which enables decentralization
"ATProtocol, the open standard that Bluesky