AT Protocol: Potential ActivityPub killer?

(This is a copy from matrix chat as the topic deserves more elaboration.)

So, I have been reading for a while in the docs and blog of the AT Protocol that Bluesky is creating. Last time I checked Bluesky was just after Paul Frazee had joined. I knew Paul from DAT project, where I gave a bunch of feedback on their chances of success (adoption, healthy ecosystem) which I deemed to be quite low. Reason: only deep tech-focus and coding. I lost faith in DAT because of that.

What I’m seeing now is that Paul is applying gained insights and knowledge together with a team that is able to holistically address all project aspects. I am struck by how much more thorough the approach is to the situation we have on the Fediverse, where tech debt rules supreme, and each small protocol improvement is endlessly discussed and maybe turned into a FEP. The holes that exist in AS/AP et al were addressed from the very start in AT Protocol. They ditched Linked Data in favor of a pragmatic extension mechanism. All this makes me get the impression that…

:open_mouth: Oh my, we may be looking at an ActivityPub killer here.”

Reading the specs makes me want to implement them and give a feeling of “this is complete and guides me”. The intention of Bluesky (the Social Benefit Company) is to bring AT protocol to either IETF or W3C eventually.

I’ve seen a lot of discussion about Bluesky that withheld me from checking out the docs till now. Why was that? Well, once more because the discussions on the Fediverse are for the most part concerning the Microbloggoverse, and comparing Bluesky App… microblogging. Just one first use case for the AP protocol.

Regarding AS/AP we are going along in ecosystem evolution at a pace we didn’t achieve before. Lotta good things happening. But the manner that tht evolution necessarily goes and against the backdrop of the protocol decay and tech debt makes it precarious in the face of well-organized contenders.

And even in AS/AP space itself a big corporate entry could easily take the lead. Simply by going on a similar approach to what Bluesky is doing: Create a rock-solid portal and flesh out all the missing pieces and focus on developer experience and ecosystem formation.
Skip all the grassroots chaotic discussion culture, just take its feedback, and move forward with a team of well-paid protocol experts and coders.

Wrt Bluesky, simply put, I do not trust that company. They smack too much like Silicon Valley Big Tech aspirations, VC money, and all that jazz. They have invite-only test network right now, which on one hand makes sense: controlled maturing and stabilization of specs. OTOH they can guarantee their dominance in the network that way.

Since the key parts of AT Protocol are open source and accessible I am curious about the extent to which all this might inform the formation of a “Calm Waters” guilds network. One where we aren’t afraid to deviate from stuff specified by Bluesky and will deviate on any place that improves guarantees of a network for the Commons and without corporate shitshow calling the shots.
We might even fork the protocol and keep it as an upstream to sync with. Might relicense AGPL. And may bring our own innovations to it… Interpeer? Librecast? Spritely? Etcetera…

@realaravinth responded with:

I don’t trust Bluesky either. But IMHO, we shouldn’t place our bets on a single protocol. I think the future of Social Experience (SX) depends on breaking (not winning) network effect. To do that, SXs shouldn’t be tied to a single protocol or single anything (data format, clients, etc.) for that matter. They should be adaptable and must be able to cater to the ever changing needs of its users. It’s difficult, but I think with some flexibility in our design, we should be able to achieve it.

1 Like

Comparing substrate formation strategies

There’s a big difference in approach to protocol design that will impact the ecosystem evolution:

Fediverse AS/AP Bluesky AT
Existing social web protocols try to converge on a common standard and organize a W3C working group. A greenfield protocol is being developed based on the lessons-learned and best-practices from existing and prior work.
Consensus-based open standards process is slow-going, contentious, stressful, political and can only make baby steps by finding compromises that satisfy all stakeholders. Dedicated team of selected experts work on the company payroll is able to iterate fast, directly on specs and reference implementation. Community engagement is ‘product feedback’.
W3C Recommendations are published that define core concepts where consensus exist, but leave many holes with the expectation these will be addressed in future standard versions. Tightly controlled developer hub is prepared where specifications and documentation mature towards stable release based on initial set of requirements, and with Developer Experience front and center.
Grassroots ecosystem takes Recommendations and starts implementing. Missing aspects are coded in project-specific ad-hoc fashion. Test network is launched where invite-only controlled evolution of draft specifications can take place, before opening the ecosystem further.
Grassroots ad-hoc interoperability accrues vast amounts of tech debt and protocol decay. Standards lag big-time to operational reality. Interoperability and extensibility are safeguarded in the core specs that will only be put up for W3C or IETF standardization once proven in the field.
Humongous effort needed to reboot Standards Process, which requires volunteers doing chores to catch up to an ecosystem that is ever more divided and fragmented as it further evolves. It is likely that once released as open standard, a much more “laisséz faire” approach can be taken to ecosystem evolution, as the stable well-designed foundation will not accrue tech debt as fast.

Note that neither of these approaches is necessarily better than the other. They were chosen under different circumstances and with different objectives. But the observations do tell that the “greenfield protocol project under corporate leadership” approach in this case provides significant advantages.

That is not always the case. Solid project led by Inrupt is an example of where this approach isn’t working all that well. My assumption is that this is due to, on one hand the enterpreneurial execution: Bluesky has Silicon Valley very pragmatic growth-hacking ‘smarts’ on board and access to many SV connections. And Inrupt OTOH follows a somewhat different approach where they ‘copied’ a formal W3C-like governance structure and work in a more academic setting on the technical side.

:thinking: Aside: What are your adoption strategies?

Note: Elaboration is off-topic… If you want to discuss, create a new topic and cross-reference.

It is interesting to reflect upon how a number of our MVF candidate initiatives require their own well thought-out strategies for substrate formation and technology adoption. Some approaches are not that different to Bluesky’s, except fully R&I grant funded.

If I’d take a stab at that I’d say more or less that:

  • Librecast (@onepict), Interpeer (@jfinkhaeuser): More like ATProto. Create stable foundation takes priority to substrate formation.
  • ForgeFed (@pere), Valueflows (@lynnfoster): More like AS/AP. Specs should evolve based on grassroots ecosystem involvement.

Regardless whether my stab is accurate, it is important that the process followed is deliberate and has sound strategy to it.

:warning: State of AS/AP Ecosystem → Unhealthy

If the AS/AP developer ecosystem doesn’t get its act together, and manages to solve the Major (Social) Challenges, then there’s good chance it is disrupted and passed by, by well-designed products based on the AT protocol.

The Fediverse discussion that brought AT Protocol to my attention was:

On the thread there are more sceptics on the future of ActivityPub, like Robin Berjon, author of some great articles like Internet Transition and Reinventing W3C Governance.

In the discussions on AS/AP on developer channels (SocialHub forum and Fediverse Developer Networks chat) there’s more and more consensus that AS/AP isn’t really a comprehensive protocol, but more a framework and saying that one is “AP compliant” is entirely meaningless given the current state of things. Imho ActivityPub requires that:

:point_right:  ActivityPub → Core Foundation + Extension Mechanism

I have this opinion for a long time, stated e.g. in substrate formation challenge and am advocating once more to finally address it:

1 Like

:thinking: Commons-owned AT Protocol?

What is my impression of the AT Protocol? → Well, it is primed for the future and for broad adoption.

It may also be primed for corporate dominance of key players and being an overall attractive choice for corporations in general when chosing between available Social Web protocols → Which is shite :poop:

:point_right: Could we bring this protocol within full control of the Commons?

Well… it is not that easy (I discovered only after starting this thread), as the specs of AT Protocol are still proprietary. See: Specify license for documentation · Issue #218.

Forking (the best parts) of AT Protocol?

There are I think a number of very good parts in the AT Protocol specifications. Parts that Free Software movement may fork and adapt/improve in such way that they are guaranteed to be open and less attractive for corporate takeover (this may start by copylefting them).

I propose to rename the topic of this thread to “AT Protocol: well, that is shite :poop:”. jk :stuck_out_tongue:

1 Like

Isn’t that a repetition of W3C vs IETF with respect to the HTML standard?
The XML based one is „we decide everything upfront and spec it out” (prescriptive) whereas the other one is a documentation of the situation in the field (descriptive).

I think one lesson taken at W3C in the last decade or so is to specify smaller pieces. You can very well see that in how CSS is evolving right now. Would that be an approach? Could work with these … collections (I forgot the term) you proposed in Mimic.

It is prescriptive right now, which is from the perspective of Bluesky the sanest approach to greenfield protocol development, I think. And they have prior art to learn from. What the approach will be once they open up to the public remains to be seen.

Wrt Mimic you likely refer to Compliance Profiles?

If so, then yes, but they have these already and they are called Lexicons. Here for instance is the Bluesky App Lexicon. It describes the full app domain, with API and payloads in a way that can be easily tested and where behavior design can be gleaned from the docs.

Btw. in fedi dev network chat @snarfed (working on an independent public domain ATProto impl Arroba in Python) dropped some protocol features that ATProto will have from the start, which will take tremendous effort to bring to AS/AP:

on the technical protocol, they’re trying to do a number of useful things differently than AP (or at all):

  1. decoupling identity, feed algorithms, moderation (labeling) from servers
  2. robust migration between servers, without changing your identity, even if your current server disappears or goes malicious
  3. supporting global services like search

Also pointed out that the protocol isn’t message-oriented (which I overlooked), but HTTP API-based. Content is stored in Personal Data Storage, into repositories in a git-like manner (Merkle trees). Good.

There are Event Streams, but they are one-way server-to-client only. Not an event-based distributed architecture.

:thinking: I haven’t read their plans for federation support just yet, but here may be an opportunity for a community-forked protocol to offer Event Driven Architecture (EDA).

Running ActivityPub over ATProto

Robin Berjon in a recent article muses about running ActivityPub based on ATProto PDS’es (personal data servers):

In a way that is not dependent on Bluesky’s further shebang, i.e. the parts where they want to dominate. Advantages mentioned for doing this are in solving AP’s identity crisis and giving people agency:

ATProto, on its side, provides a good initial foundation for an extensible PDS designed around user agency and credible exit. This means that your online presence can be custodially hosted (so you need not worry about running a server) but if you don’t like your host, you can be guaranteed to be able to take your content elsewhere (verifiably) and nothing will change, you won’t even need to update your handle or set up redirection.

Intriguing experiment… I created a thread on SocialHub: Robin Berjon: Running ActivityPub over ATProto - Fediverse Futures - SocialHub

Today Bluesky dropped its invite-only registration and is now open to the public. On HN a discussion just started where folks from the team (try to) answer people’s questions. Quite interesting:

Another HN thread is on the ATProto paper by Martin Kleppmann (see also @jonny’s toots):

Will be back sooner than you :thinking:

in addition to above linked posts, i think if you look at the actual engagement statistics (that atproto so helpfully (?) makes easy to scrape) that there is something amiss in bsky land. I think that something is the early signs that the architecture has real problems. Dr. jonny phd: "Checking in on whether #bluesky / #atproto has be…" - Neuromatch Social

observable problems:

  • really small adoption of custom feeds: look at how a) how many custom feeds exist, b) how many people are subscribed to them, and most importantly c) how complex they are, but hold on one sec
  • most popular feeds are minor improvements on chrono or the same 20 people posting the same stuff
  • extremely long-tailed interaction distributions where most than half of all people who post anything receive any kind of interaction, and the top end is more skewed.

why is that? there have been some interesting algorithms, but they closed up quickly exactly for resource problems. even bsky’s own default feeds that do any kind of user-custom feed were down for resource limitations for al ong time (not sure if they’re back up) - i’m talking about the ‘popular among friends’ feed which is just a local interaction ranking within a follower list. one step above the cheapest feed.

why would someone run a feed? it’s extremely expensive to run any kind of public feed with even moderate complexity, and that doesn’t get solved by better tooling, that’s the reality of offering public compute services like feeds. Who pays for that? well the architecture of atproto seems designed to allow for advertisers to intervene in content feeds, but i’ll leave that aside for now. Same question applies for labeling services and PDSes.

all of those layers are separable on a technical level, which might be nice for achieving scale within a single system (with the relay being the chokepoint with a ton of bad side effects), but has a bunch of really bad social impacts. when what you see is totally decoupled from the material reality of the platform, you lose any sense of place. i might be able to migrate my identity, but to where? from where? who does anything? we’re left in another anonymous social scape where i’m a passive consumer just hosting myself enough to let my content be harvested by the feed producers, but have little agency myself.

when all that is left to the default feed, and most people can’t connect with one another horizontally (the chrono feed is like fedi, but without as much control actually, given the ecosystem of apps and websites (one, one, basically)). and the default algo feeds aren’t responsive to them at all, then you don’t really fulfill any of the promise of the protocol while realizing all the bad side effects of a de-facto platform-protocol. not gonna mention the problems with moderation in this post but after watching for about a year i’m no less convinced they’re not a ticking time bomb.

1 Like