10 KiB
Bluesky Architecture compared to other social media services
- Introduction
- General social media architectures
- Federated social media services
- Bluesky
- Bluesky – Identities
Introduction
Boo!
General social media architectures
Simplistic view 1/2 – overview
file:structurizr-1-001-GenericSocial-01.png
Simplistic view 2/2 – services
file:structurizr-1-002-GenericSocial-02.png
- Social media user access the app
- The app interacts with the API
- The API is the gateway for the database of posts, responses, likes, etc.
More realistic view 1/4 – overview
file:structurizr-1-003-RealisticSocial-01.png
More realistic view 2/4 – basic services
file:structurizr-1-004-RealisticSocial-02.png
- Social media user access the app
- The app interacts with the API
- The API is the gateway for the database of posts, responses, likes, etc.
- The API also captures data for building profiles of users for targeting purposes
- The algorithmic feed generator guides the API on what posts to place into the app's feed
More realistic view 3/4 – the algorithm
file:structurizr-1-005-RealisticSocial-03.png
- Social media user access the app
- The app interacts with the API
- The API is the gateway for the database of posts, responses, likes, etc.
- The API also captures data for building profiles of users for targeting purposes
- The algorithmic feed generator guides the API on what posts to place into the app's feed
- Algorithmic feeds are created by the service administrator, using an app only they have access to
More realistic view 4/4 – content moderation
file:structurizr-1-006-RealisticSocial-04.png
- Social media user access the app
- The app interacts with the API
- The API is the gateway for the database of posts, responses, likes, etc.
- The API also captures data for building profiles of users for targeting purposes
- The algorithmic feed generator guides the API on what posts to place into the app's feed
- Algorithmic feeds are created by the service administrator, using an app only they have access to
- Moderation is also performed by a member of the service's staff, using a dedicate app and services the the user doesn't have access to
Federated social media services
Federated services 1/8 – overview
file:structurizr-1-007-FederatedSocial-01.png
Federated services 2/8 – internal, administration and content moderation services
file:structurizr-1-008-FederatedSocial-02.png
- Same as before, the user access the service through an App that uses an API
- As federated services are small, the administrator and the moderator are the one person
-
No algorithmic feeds, though
- not popular in the fediverse community
- difficult to implement in a federated environment.
Federated services 3/8 – federation 1
file:structurizr-1-009-FederatedSocial-03.png
- Same as before, the user access the service through an App that uses an API
- As federated services are small, the administrator and the moderator are the one person
-
No algorithmic feeds, though
- not popular in the fediverse community
- difficult to implement in a federated environment.
- Federation service to push activity out to the federated network
- Federation API to take in activity from other nodes
- A logical database of inbound federated posts
- Federation using ActivityPub standard
Federated services 4/8 – federation 2
file:structurizr-1-010-FederatedSocial-04.png
Federated services 5/8 – federation 3
file:structurizr-1-011-FederatedSocial-05.png
Federated services 6/8 – federation 4
file:structurizr-1-012-FederatedSocial-06.png
Federated services 7/8 – federation 5
file:structurizr-1-013-FederatedSocial-07.png
Federated services 8/8 – federation 6
file:structurizr-1-014-FederatedSocial-08.png
Bluesky
Basic Bluesky 1/2
file:structurizr-1-015-BlueskyBasic-01.png
Basic Bluesky 2/2
file:structurizr-1-016-BlueskyBasic-02.png
- User interfaces with an app hosted by the AppView
- The AppView includes an API (allowing for bot-like interactions)
- The AppView stores and reads data from the Personal Data Server (PDS)
- Bluesky resolved user identities using "DIDs" (Distributed IDs)
- The Bluesky admin uses a separate service for preparing algorithmic feeds
- The Bluesky moderator applies labels and actions to posts for trust and safety through a dedicated service
Bluesky – Identities
Bluesky Identities 1/4
file:structurizr-1-017-BlueskyIdentity-01.png
-
User's typical Bluesky ID is
@<user-handle>.bsky.social
- e.g.
@theauldsthretch.bsky.social
- e.g.
-
Users can set up their own handle,
@<user-handle>.<domain>
. E.g. (and these are all real IDs) …@astrokatie.com
– a cosmologist@eibhear.gibiris.org
– the author@wyden.senate.gov
– a U.S. Senator
- User must control the domain or be a legitimate member of the domain's community
-
Domain-based handle resolves to a DID, either by DNS or
.well-known
:$ dig _atproto.eibhear.gibiris.org TXT ... ;; ANSWER SECTION: _atproto.eibhear.gibiris.org. 3600 IN TXT "did=did:plc:23mysztmt7dh3l5lzhinzafi" $ curl https://theauldsthretch.bsky.social/.well-known/atproto-did did:plc:avzdf5esd7xpbgsgh7lx4kzq
Bluesky Identities 2/4
file:structurizr-1-018-BlueskyIdentity-02.png
Bluesky Identities 3/4
file:structurizr-1-019-BlueskyIdentity-03.png
Bluesky Identities 3/4
file:structurizr-1-020-BlueskyIdentity-04.png