Hacker News new | ask | show | jobs
by thosakwe 2410 days ago
I love the idea of ActivityPub, but in practice, I think the very complex protocol, which is built on top of JSON-LD (I still don't understand why) of all things, and accepts variable structures for many, if not most fields, which makes it cumbersome to (de)serialize in languages with static typing, will hurt adoption by new projects.

My main gripe with it is that potentially writing a spec-compliant server in an enterprise-y language like Java almost feels like a fool's errand (I tried it in Dart, which is very Java-esque).

On that note, I don't even think that the main focus should be on which protocol is used, but rather the features of platforms in the "fediverse," and reasons other than the blanket term "privacy" that the average person would consider switching.

1 comments

There are tons of differing implementations like PeerTube, PixelFed (Instagram-esque), Lemmy (Federated Reddit/HN), Write.as (great for blogging on the fediverse and closed platforms at the same time), Pleroma, etc
Yet out of those, which actually implement the full spec (server-to-server, not to mention client-to-server, though I do think I remember reading that Pleroma has it), or even if they implement parts of it, do it in a compliant way? I would imagine the number is small because of the sheer complexity of the spec, and the many ways the same data can appear in different requests. I remember reading one of the Pleroma authors saying that they don't support JSON-LD in their implementation because no library for it existed in Elixir.

Like I said, I'm a fan of ActivityPub and its concept, but I think it's fair to say that spec is more complex than what it needs to be, and would have been better off strictly defining the shape of data it can handle.