Email or username:

Password:

Forgot your password?
Christine Lemmer-Webber

Often times people ask me, "But how do I learn about how ActivityPub works? Where do I get started?"

Friends! The ActivityPub spec itself is here to help you! There's a really lovely story-driven tutorial about ActivityPub right at the top of the spec in the "Overview" section! w3.org/TR/activitypub/#Overvie

Give it a read! I tried really hard to make it easy to follow, and it has beautiful illustrations from @mray!

50 comments
Christine Lemmer-Webber

A lot of people contributed to ActivityPub, but I'm going to give a breakdown of the authors and what they did:

- Evan Prodromou designed the core prototol, derived from the federation API of Pump.IO (itself a "lessons learned" from his experiences co-authoring OStatus, ActivityPub's predecessor)
- @erincandescent converted Evan's set of notes into the spec format and language style
- @tsyesika was the first major editor of the spec once it was being standardized at the W3C
- @rhiaro separated out client-to-server support from server-to-server support and made many, many edits
- And I carried the spec through probably the majority of the bureaucratic process and tried really hard to get inter-project buy-in on its ideas. And most importantly, I wrote that "Overview" tutorial at the top of the document, which is the part I'm most proud of!

A lot of people contributed to ActivityPub, but I'm going to give a breakdown of the authors and what they did:

- Evan Prodromou designed the core prototol, derived from the federation API of Pump.IO (itself a "lessons learned" from his experiences co-authoring OStatus, ActivityPub's predecessor)
- @erincandescent converted Evan's set of notes into the spec format and language style
- @tsyesika was the first major editor of the spec once it was being standardized at the W3C
- @rhiaroseparated out...

  Manolo Martínez

@cwebber why is Prodromou not in the fediverse (if indeed he isn't)? Is there a story there?

  Christine Lemmer-Webber

@manolomartinez because he keeps meaning to run his own instance before he joins and he keeps not getting around to it :P

  Manolo Martínez

@cwebber lol, thanks! I have fond memories of identi.ca and everything that followed.

  Christine Lemmer-Webber

@manolomartinez me too! The number of people who were around for that era are getting proportionally small, though I've also seen many of them re-appearing on the fediverse. But most importantly that's because the fediverse has grown *so much* that those people are just a small part of the fedi's population, which is pretty neat!

  Manolo Martínez

@cwebber it was just 10-ish years ago, though! Which is admittedly millennia in internet years

  Rigo Wenning

@cwebber @manolomartinez some of them were just in unrelated related circles :)

  mcg

@cwebber @manolomartinez I miss Evan and this sounds very much on brand for him 😀

  The Embodiment of RED :fire_t:

@mcg @cwebber @manolomartinez I miss Evan, too; I came across him on the internet because I used to play a silly click-click web game with his brother, Ted 🙂​

  Manolo Martínez

@thraeryn @mcg @cwebber there was a RED Matrix / Zot protocol moment in fediverse history, too. Unrelated to you, I suppose :)

  The Embodiment of RED :fire_t:

@manolomartinez Unrelated, but what physical manifestation of a color doesn't like to see a little love in naming? 😅​

  varx/tech

@cwebber @manolomartinez Big Knuth vibes on that.

"Hmm, I'm not happy with the options available, I'll make my own protocol!"

That tracks with procrastinating on joining because you don't have your own instance. 😆

  mycorrhiza
  Mien Yung

@cwebber @erincandescent @tsyesika @rhiaro :bongoCat: :coolcat: :firedoge: :eve: :KEKW: :owi: :tinking: :thinkhappy: :ThisTBH: :unarist: :toot:

  Benjamin

@cwebber @erincandescent @tsyesika @rhiaro Think the earliest I've used is GNU Social. But OStatus sounds super familiar so I might have to do some digging. It's been incredible to use over the years!

  Benjamin

@cwebber It must be something seeing ActivityPub be put to the test like this - or at least each Fediverse's implementation?

  Kevin P. Fleming

@cwebber Has there been any discussion of creating a URI scheme for ActivityPub identifiers so browsers could forward them to a consuming application?

  Andy C
@cwebber @erincandescent @tsyesika @rhiaro

Looked up what Evan is doing now. He's still on Twitter but recently posted this blog - 'Enough with Twitter'

'Most of all, I’ve been seeing in myself the self-destructive, addictive behaviour we all know comes from social media use.'

Interviewed the great man for a podcast. he was on holiday with this family but made time for us and was amusing, intelligent and thought provoking.

https://evanp.me/2022/10/29/enough-with-twitter/
@cwebber @erincandescent @tsyesika @rhiaro

Looked up what Evan is doing now. He's still on Twitter but recently posted this blog - 'Enough with Twitter'
  Rosco Kid

@cwebber @erincandescent @tsyesika @rhiaro

Loved identi.ca , always grateful to Evan for that

  John West

@cwebber @erincandescent @tsyesika @rhiaro I’ve read my fair share of dry docs, and yours is a really great—and super readable—spec! Thank you!

  ghose
  HerrThees
  Ondřej Pokorný

@cwebber @erincandescent @tsyesika @rhiaro You should all be giving interviews to the Time magazines of the world...
Thanks for all the hard work that went into this.

  Nick Wood

@cwebber @erincandescent @tsyesika @rhiaro Oh wow, I recall reading about Pump.io way back in my startup days

  Chris Guidry
  Austin Kocher, PhD 🌎

Thank you for mentioning this. I've been wanting to get to know these people more.

@cwebber @erincandescent @tsyesika @rhiaro

  Steren

@cwebber @erincandescent @tsyesika @rhiaro Great to see that Evan Prodromou has been working in that space for more than 12 years. I remember following Evan's work at the time of StatusNet. A great success story, congrats

  Feral 3D
  Dr. Quadragon ❌
Ben

@cwebber @mray You succeeded admirably, it's one of the easiest to readily comprehend protocols I've ever seen.

Which is why you didn't hear from me until *after* the bulk of that crypto extension first draft was finished. ;)

Brian Beach

@cwebber @mray Very nice! Making things easy to follow is a lot of work. Thanks.

Jeff Sonstein

@cwebber thank you very much for all that work. as someone who worked on the W3C Mobile Web Initiative way-back-when, I super-appreciate what perserverence and hard work went into developing that consensus over & over, and then writing coherent explanations.

and by “thank you”, I very much mean plural ;^}

::chefs_kiss::

Per Axbom

@cwebber

Wow, this is really great. Easy to understand and useful. Thank you.

@mray

Aki Rodic

@cwebber @mray this is very interesting 🤔 looking forward to learn more. Do you know about any good conference talks about it?

  Christine Lemmer-Webber

@aki @mray I mean I gave a bunch of them

(I'm not gonna link to them though because (a) lazy (b) they were all pre-transition)

  Aki Rodic

@cwebber @mray thanks I'll look them up. Earlier today I saw this talk by @rolltime it was quite insightful youtu.be/vnciCz83t70

nilesh

@cwebber @mray

The example given in this tutorial is of a private message. Which raises a question: if A is following B and B makes a _public_ post, will A be pulling it from B's outbox or will B be pushing it to A's inbox?

If B has a million followers, push would be very expensive for B's server. And if A needs to pull the feeds of everyone s/he follows, it's again expensive and wasteful and likely high-latency.

  Christine Lemmer-Webber

@nilesh @mray the sharedInbox stuff answers this later on

Tekchip

@cwebber @mray I ran across this last week. Maybe a little less dense than the actual docs for folks just looking for a more simplistic overview. activitypub.rocks/

Nick Wood

@cwebber @mray This overview is (and has been) fantastic. I’ve always had a harder time digesting W3C specs (just in general, not just ActivityPub), but a lot of that is just necessary complexity, since it has to be robust and work in a lot of cases. I’ll need to steel myself and give it another try.

Diane 🕵

@cwebber @mray

I've read it. It is indeed an easy to read specification.

SignalsAndSorcery

@cwebber @mray Does Mastodon leverage ActivityPub?

Brian B.

@cwebber Ooh was looking at spec a few days ago and thinking it doesn't look too dry and inaccessible! Tempted to do some playing about, so thanks for your work!

fiery

@cwebber outstanding work, congratulations to all involved. By the way, would you happen to know what is the easiest way to get the latest version of the full spec in printable format?

  Christine Lemmer-Webber
  fiery

@cwebber oh my gosh off course it is that simple because it follows the standards correctly. Thank you very much!

LovesTha🥧

@cwebber @mray TBF such nice narratives in specs are sort of rare.

Alex R :heart_progress:

@cwebber @mray I think this is by far the *nicest* W3C spec I’ve ever read

Go Up