To follow up on my #ActivityPub C2S post from a few days ago, I wrote a blog article on my thoughts about improving the C2S protocol and a description of some related experimentation I've been doing.
stevebate.net/activitypub-clie…
stevebate.net/activitypub-clie…
ActivityPub Client API: A Way Forward | Steve Bate
The ActivityPub Client-to-Server (C2S) protocol was envisioned as a cornerstone of the decentralized social web, along with the Server-to-Server (S2S) protocol.Steve Bate
reshared this
just small circles 🕊
in reply to Steve Bate • • •silverpill
in reply to Steve Bate • • •No, treating ActivityPub as JSON doesn't undermine extensibility. ActivityPub is extended by adding new properties to JSON objects, and if you want to avoid collisions you can use URLs or reverse-DNS strings for property names. JSON-LD is not needed for that, it only complicates things for no reason.
Steve Bate
in reply to silverpill • • •silverpill
in reply to Steve Bate • • •infinite love ⴳ
in reply to silverpill • • •Raphael Lullis
in reply to silverpill • • •> Why would I send an expanded toot: URI
Because you might be using a different namespace which is conflict with the one from mastodon, so the extended form is needed to remove ambiguity?
Raphael Lullis
in reply to Raphael Lullis • • •לָקס (לא לותור)
in reply to Raphael Lullis • • •Because JsonLD doesn't bring magic automatic compatibility; rather, the opposite.
There needs to be only *one* canonical way to represent the same data. That way, it is extremely easy to parse a document, and simply ignore meanings you do not recognize.
Mastodon will *always* need to explicitly support other networks' features; pretending otherwise, via JsonLD Black Magic:tm: (that btw has *zero* working implementations in the wild), is flat out foolish.
לָקס (לא לותור)
in reply to לָקס (לא לותור) • • •JsonLD makes parsing *more* complicated, because it allows *more* canonical ways to represent the same data.
If we want a network to interoperate, we want a *single* canonical way. Otherwise, two competing ways will simple become incompatible.
לָקס (לא לותור)
in reply to לָקס (לא לותור) • • •Raphael Lullis
in reply to לָקס (לא לותור) • • •It looks like you are advocating for a Mastodon-centric view of the Fediverse.
> that btw has *zero* working implementations in the wild
There are:
- codeberg.org/Vocata/vocata
- rdf-pub.org/
- activitypub.mushroomlabs.com
vocata
Codeberg.orgלָקס (לא לותור)
in reply to Raphael Lullis • • •No, I'm not.
I'm advocating for a Fediverse that has *one* way to do every single action. How mastodon UX represents that action is 100% irrelevant. I want the ActivityPub spec to say exactly how favoriting works. How replies work. How all the basic things, shared to all fedi platforms, work.
If I want groups - that's an add-on, that needs a specification. Not expect some fifty different impls to automagically agree.
infinite love ⴳ
in reply to Steve Bate • • •infinite love ⴳ
in reply to infinite love ⴳ • • •Steve Bate
in reply to infinite love ⴳ • • •just small circles 🕊
in reply to Steve Bate • • •@trwnh
Yes, I think it is a good adoption strategy. Kind of an overlay network to ease the transition.
The Nexus of Privacy
in reply to Steve Bate • • •bengo
in reply to The Nexus of Privacy • • •@thenexusofprivacy yes good write up Steve! Glad we’re aligned a bit.
bengo.is/blogging/2024-10-03-t…