I don’t quite understand a lot of the details on how the implementations work.
In what ways is AT better or worse than ActivityPub? Are there different versions of ActivityPub? Are there improvements coming to either to make them better (or compatible)?
My current understanding is
- AT makes it easier to move accounts (according to them), but AT is controlled and maintained by BlueSky, and they are a for-profit company that can mess with the protocol in the future, which goes against the central idea of decentralized social media
What other cool technical details are there?
On ActivityPub, your homeserver is responsible for pushing your publications out and pulling your followed accounts publications in. All implementations need to work both ways.
In AT your homeserver (PDS) pushes your publications out to a service provider (BGS), and you need to subscribe to this BGS to get publications in. Content moderation is done on the BGS layer, so harmful content is not deleted, only hidden. This is because the founder is a free speech extremist. As BGS collect posts and create timelines, it’s possible for them to make algorithmic timelines, insert ads and so on.
Because BGS are more resource intensive, fewer people will run them, when they exist, and the network will have a high degree of centralization.I guess mainly:
Activity Pub is actually official W3C standard. There are yearly conferences, development and it’s open.
That AT protocol is owned by Bluesky, they decide how it’s developed, what gets in, what goes out and to my knowledge it’s actually not implemented anywhere else (yet).You are correct, however I want to point out they have stated they want to hand over the governance of the protocol to a standards organization like the Internet Engineering Task Force:
Development of atproto to date has been driven by a single company, Bluesky PBC. Once the network opens to federation, protocol changes and improvements will still be necessary, but will impact multiple organizations, communities, and individuals, each with separate priorities and development interests. If the protocol is successful, there certainly will be disagreements and competitive tensions at play. Having a single company controlling the protocol will not work long-term.
The plan is to bring development and governance of the protocol itself to an established standards body around the time the network opens to federation. Our current hope is to bring this work to the IETF, likely as a new working group, which would probably be a multi-year process. If the IETF does not work out as a home, we will try again with other bodies. While existing work can be proposed exactly “as-is", it is common to have some evolution and breaking changes come out of the standardization processes.
I’ll try to explain to the best of my ability, from having used both and figuring things out.
On Atproto, the federation is very much more on the backend, where the Personal Data Servers are interlinked and people access the protocol through bsky.app or some other app they wish to use. They have started rolling out the infrastructure to allow federation between different PDSs and have started moving user data to them. They’ve made for a more predictable, consistent federated experience (which has been a criticism of the ActivityPub’s fediverse), and allowed for a more resilient infrastructure, but unfortunately it’s limited to what Bluesky wants which is just microblogging while ActivityPub is more flexible (see: Mastodon, Lemmy, Funkwhale, PeerTube, Wordpress, etc.) but has the cultural issue of people treating their instance like their own personal forum and not a critical part of the fediverse’s infrastructure.
What makes AT protocol “more predictable, consistent”? I cannot find a detailed article about the protocol except empty hype articles.
Well for one, if a feature is implemented in Atproto, it’ll be implemented for the entire federated network. With ActivityPub, there’s inconsistency with the features (You still need Glitch-soc if you want Mastodon with text formatting, for instance) and, while yes it’s cool that I can talk to Lemmy from my Mastodon account, it’s quite a clunky experience IMO and shouldn’t be a selling point to the regular user who just wants to post about what they’re doing.
while yes it’s cool that I can talk to Lemmy from my Mastodon account, it’s quite a clunky experience
I do wish they were slightly more interoperable. It’s currently very hard if not impossible to discuss Mastodon posts directly within Lemmy, and likewise you can’t make a Mastodon-style post to your personal Lemmy profile. These may seem like unimportant changes, but I think much of that stems from still viewing these services from the frame of the limitations of what they are based on. They could be so much more!
Lemmy itself has big problems with the interoperability of servers. There are two major issues I see with the way communities are structured. The first is that listed subscriber numbers are for your server only, which makes the entire ecosystem seem way less lively than it actually is, which has the effect of making it even less so. Subscriber numbers should be fed in from a community’s home server.
The second is that there are many redundant communities, which makes it difficult for onboarding new users. There should be some way to group like-communities into super-groups based on topics. That way community leaders have the ability to easily aggregate similar content, rather than leaving it to the user to figure out, and you could opt-out as a user by simply not subscribing to the super-group community.
Mastodon has promised to add groups soonish, so that will likely improve interoperability with Lemmy a lot.
The first is that listed subscriber numbers are for your server only
For your first issue, subscriber counts will be fixed in Lemmy v0.19.0
https://github.com/LemmyNet/lemmy/issues/1440
Preview here: https://voyager.lemmy.ml/communities?listingType=All&sort=TopMonth&page=1
The second is that there are many redundant communities, which makes it difficult for onboarding new users. There should be some way to group like-communities into super-groups based on topics
Yeah this one has an issue open, you could join the discussion if you have any ideas, this is a big one
FWIW, Kbin does have some microblogging capabilities - used it a little before joining this instance. I know magazines can have a dedicated microblogging community. I feel like it’s a decent equivalent to Reddit live chats.
My current understanding from reading some 3rd party articles is that AT employs a DAG to synchronize messages more consistently.
AP has a different model that has some downsides in regards to consistency, but it should be significantly more resource efficient and have better recovery from failure modes.
So in AT, unlike in AP, activity takes place between multiple servers and not only two servers 🤔
unfortunately it’s limited to what Bluesky wants which is just microblogging while ActivityPub is more flexible (see: Mastodon, Lemmy, Funkwhale, PeerTube, Wordpress, etc.)
One of the bsky devs has clarified that they do want peertube/wordpress/lemmy type sites to exist on the protocol as well
Guess I fell for what the fediverse said about that, lol whoops. But thanks!
Off topic: I know it’s not a big deal, but the AT decision to use subdomains for identity looks so much cleaner IMO. I.e
gladflag.lemmy.ml
.The best comparison I can think of is, imagine Xitter to be Internet Explorer and ActivityPub as Firefox and then AT as Opera
I think that is a very bad analogy, because all of those are browsers that (historically) had all their different underlying engine but basically everything made the same. It was the same functionality implement 3 times.
With AP, AT and whatever X uses, it’s a completely different mechanism.
So it’s more like an Single Player Game, and Online Shooter and an MMO. In the end everything is a game but the way they are built and functioning is completely different.
Huh?
3 browsers that at the time of the browser wars had three different rendering engines?
3 social networks that at the time of the microblog wars run on three different protocols.
Maybe it’s a thing about analogies that they don’t need to be 100% accurate. So I guess it’s ok 😄
Here is an explainer on architecture. It might be helpful. https://blueskyweb.xyz/blog/5-5-2023-federation-architecture