A year ago I tried learning ActivityPub, and more or less failed. I was confounded by a spec that was so abstract I couldn't make heads or tails of it. Turns out I was missing some key things.
I have written a guide to learning about ActivityPub that I wish existed a year ago when I first set out to learn how to write social media servers that conform to the spec:
@darius Me, too (failing to grasp it).
Looking forward to reading this.
@darius Nice write up. Gonna follow the plan you set forth and see where I end up. Thanks for this!
@darius I tried reading the spec and felt like someone was gaslighting me. Looking forward to reading your guide!
Spec: "It's easy!"
[Friendly cartoon diagrams]
Narrator: "It was not easy."
From the little I have read it looks like you put a lot of effort into making this clear and informative!
@Alonealastalovedalongthe I've been thinking about it for 6 months and then just vomited out all the words in one four-hour sitting tonight
This is useful, thank you!
Thank you, this looks great!
@darius Hey this is very good! I still get tripped up by the fact that all this info is split among many documents; I'm glad there's now a guide for this.
@darius oh fuck yeah
@darius Thanks a ton for doing this write up. So far I haven't been super interested in ActivityPub at this level (spec and implementation) because from the outlook it seemed dense and hard to read. Now I know better!
@darius I don't know if you want this kind of promotion but it would be nice to share it with the authors (who are here in the fediverse) so they can get some constructive criticism.
I'm sure at least Chris (he's the only one I interacted with) is going to get this well. He really focuses on writing stuff well and comprehensively.
I didn't tag them to let you decide if you want to or not. They are probably going to see it anyway. :)
BTW: I really like the way you tackle it. Congrats.
@ekaitz_zarraga I don't think my post is constructive criticism, because I think the authors did a fine job at what they set out to do: deliver a spec. Specs, especially w3c ones, are not really written for human consumption. I don't think any of my feedback would have made these into better specs; it simply would have transformed the documents into things that are no longer specs.
(And thank you, I'm glad you like it!)
@darius I understand. :D
Not bad to keep them informed anyway :D
@darius I don't really code anymore if I ever really did, and I'm not gonna write an ActivityPub implementation, but! I super appreciate what you're doing here!!
reading this, even without being personally invested in the thing you're helping other people do, I can immediately tell how helpful it is (and think of times I've tried to learn things when something like this would REALLY have helped)! thank you, this is cool
@darius thanks, it was nice!
@darius I had the same experience trying to read the spec! Thanks for writing this!
@darius thanks, I have some desire to work with the spec, but have been balking at the up-front cost of learning it.
@darius Thank you very much for this guide.
@darius this made it onto the orange website!
@KitRedgrave haha lol
@KitRedgrave thankfully 0 comments
@darius are there ways you think we can explain this better, systemically? When I first read the activitypub spec i thought the introduction was very clear and concrete, so I'm really interested in hearing the specific ways you were confused and how you think we can address those better in our writing.
@nightpool I've been flying today but I haven't forgotten about this. I'm compiling my thoughts into a document for you.
@darius I studied the ActivityPub spec for a small presentation. Your article really helped make sense of it all. Thanks! 🤗
@darius So basically when it comes to activity types: Actors are subjects, Activities are verbs, and Objects are objects, correct?