An almost 30min video from Justin Garrison in July 2023 asking: "What is the difference between Mastodon's ActivityPub and BlueSky's AT Protocol?... We're not going to be looking at [apps] ... like Mastodon and Bluesky or Threads" - instead, a mid-level dive into the underlying protocols, and "some pros and cons of each".
"works based on activity streams, which is another spec and these things all are kind of layered on top of each other... activity streams... looks like an RSS feed written in JSON... a stream of data ... that links to other documents and it's in JSON format", not XML.
"Activitypub ... a publish/subscribe model where someone publishes information... people subscribe to it... [plus] reverse communication... [so] actually a two way rss ... data is being pushed out to these places and the data is coming back in and added back into the source data, things like likes and follows and comments".
He finds plenty to not like, eg:
So that amounts to a big risk: if your server is hacked or goes down, you're toast.
The only app which has implemented ATProto us Blue Sky so "a lot of these things are theoretical... [unlike] multiple active applications built on top of ... ActivityPub ... ATProtoco has one application called Blue Sky that has currently no federation".
Note: that was the case in July 2023. I think things have changed. Anyway, the standard nevertheless has "some things that I really like... because of some of those concerns about Activity Pub".
"I get one PDS which works with all of the apps ... [without] worrying about ... how did that application secure my data or who owns the keys?", although while I have total creation rights on my data, "you can't delete ... things exist forever... at the PDS level", although they might not be available via the apps.
So "when you like something that like exists forever... I could unlike it ... but the history of me liking and un liking something still exists".
Personally unsure if this is a feature or a bug - publishing means publishing. Note that this "is a problem for activitypub as well".
"How does my data stored on my PDS make it into an application? ... indexing layer... servers that are owned by an application ... go through and read the data from a PDS and you can push data into it.... you don't have to wait for an index... [which] is an application view of what all the data exists that applies to this application", as your PDS can have content for different apps.
The index layer, or "per application crawler... gets of that information from all those PDFs... presents it ... for an app to view", this is where things get expensive.
But anyone can build one of these and present the same data to a different app. "at the PDS level ... lexicons... a structure of data and calls in the URL... allow the crawler to know your PDS implements this application... lexicons are published so that anyone can see what data is in it".
This means "I'm not actually responsible for talking to every server that exists ... I'm just responsible for the data I create and securing that data".
So "how do these other applications that exist integrate into existing decentralized networks?", with Threads and Tumblr adopting ActivityPub.
"Nothing stops you from implementing new things within your application. So I can guarantee you that Threads is gonna implement things that aren't available on Mastodon... they're gonna keep that for themselves.... Tumblr is going to have different things that are only available on Tumblr".
"Activitypub is how these services might interact together at a lowest common denominator ... [and as] your data still exists with the server... I can't take my Threads data and go to Mastadon... because I don't own the data... [and] Mastadon might choose to block Threads ... because it's expensive to run a Mastadon server... people do not have the money or time to run and secure them... Threads ... and Tumblr can just crush any Mastadon server ... by sending too much data... a lot of them are just gonna block it."
Threads and Tumblr "would have to present a PDS for each user that the Bluesky crawler can fetch data from... and then send to... as likes ... [another] lowest common denominator situation".
Justin Garrison has mostly abandoned his ActivityPub project "because activity pub needs an active server. And my goal was to make this in as passive a way as possible... I think it might be possible with AT Protocol to ... serve static files from a directory somewhere on a web server. But [difficult]... without an active server ... I need some way to receive my comments, likes and ... store them with the data.
More Stuff I Like
More Stuff tagged video , activitypub , bluesky , justin garrison , atprotocol
See also: Content Strategy , Fediverse
MyHub.ai saves very few cookies onto your device: we need some to monitor site traffic using Google Analytics, while another protects you from a cross-site request forgeries. Nevertheless, you can disable the usage of cookies by changing the settings of your browser. By browsing our website without changing the browser settings, you grant us permission to store that information on your device. More details in our Privacy Policy.