Up until recently, I've been looking at ActivityPub C2S mostly from the server perspective and it's been very abstract when I've thought of it from a client perspective

A consequence of this is that I never realized how much detail could be safely ignored in a targeted implementation for a single bespoke application. No inheritance. No unknown properties. No handling unknown media types. No parsing message bodies for implicit properties. Target and test the servers you want to support, one at a time

@yaaps server is for assigning id, mainly. then for delivering to/cc. and storing activities in inbox.

client does everything else, including keeping track of ids

Yes. A better way for me to say that would have been that the perceived complexities of ActivityPub C2S come from trying envision a generic library applicable for thin clients with a wide variety of server applications. A thin AP client is just a web browser with extra steps... and web browsers don't need extra steps

When the business logic resides in client applications (thick client model), a given client implementation of AP C2S only needs to handle objects and media relevant to the immediate application. The closest thing to application logic provided by the server, then, would be supplying IRIs for persistent objects it is asked to create


@yaaps @trwnh I made a C2S client last year. I never released it and mostly abandon it as I wasn't happy with what I was doing or the C2S support in Pleroma (that I was using as AP server). It is able to display your inbox and outbox, post things to your outbox, and see the outboxes of anyone else.
I could try it again with other AP servers with C2S support, but I don't have much time for this.

· Web · 1 · 1 · 2

NextCloud federation isn't perfect, but AP C2S is a first class citizen there. It might be worth testing

Also, developing client and server in tandem is taxing. It would be useful to have a tested client so that I could focus on server development being reasonably sure which side is broken when thing things don't work

Sign in to participate in the conversation
Social Surfnet

An instance for ghosts and shadows.
Inscriptions are only available through invitations. Contact @Feufochmar for more details.