Can anyone recommend a good article or video explaining how ActivityPub works on a technical level? I understand the concept, but I’m interested how the protocol actually works (I am studying CS for context).
TL;DR, each user is an Actor, which has an inbox for receiving objects and activities, and an outbox for sending them. The objects are essentially structured metadata that various actions can be performed on. When you respond to a status, for example, your Actor is performing a Reply activity and sends out a Note object. Following another Actor, on the other hand, would be your Actor sending another Actor a Follow activity.
This implementor’s guide might be helpful to understand some of what’s going on underneath the hood: https://socialhub.activitypub.rocks/pub/guide-for-new-activitypub-implementers
Some useful specs can be found here:
- ActivityPub’s specs: https://www.w3.org/TR/activitypub/
- ActivityStreams, which Activities and Objects are defined by: https://www.w3.org/TR/activitystreams-core/
I’d imagine your best bet is reading through the w3c spec if you want protocol details. I think reading it directly is probably approachable enough for a CS student and should be a good exercise.
Activitypub uses ordinary web protocols like https to make requests between servers. It’s all quite simple.
This document is quite detailed: https://www.w3.org/TR/activitypub/