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
just small circles 🕊
Als Antwort auf Steve Bate • • •silverpill
Als Antwort auf 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
Als Antwort auf silverpill • • •silverpill
Als Antwort auf Steve Bate • • •infinite love ⴳ
Als Antwort auf silverpill • • •Raphael Lullis
Als Antwort auf 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
Als Antwort auf Raphael Lullis • • •marius
Als Antwort auf Raphael Lullis • • •to be the devil's advocate: because it brings absolutely nothing to the interactions specified by ActivityPub itself.
@silverpill @steve
לקס (לא לותור)
Als Antwort auf 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.
לקס (לא לותור)
Als Antwort auf לקס (לא לותור) • • •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.
לקס (לא לותור)
Als Antwort auf לקס (לא לותור) • • •Raphael Lullis
Als Antwort auf לקס (לא לותור) • • •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לקס (לא לותור)
Als Antwort auf 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 ⴳ
Als Antwort auf Steve Bate • • •infinite love ⴳ
Als Antwort auf infinite love ⴳ • • •Steve Bate
Als Antwort auf infinite love ⴳ • • •just small circles 🕊
Als Antwort auf Steve Bate • • •@trwnh
Yes, I think it is a good adoption strategy. Kind of an overlay network to ease the transition.