4 ms·
As someone who has tried to implement ActivityPub (for my personal site), I think the negativity is largely justified. In my opinion, ActivityPub is way too co
by thejohnconway 6y ago
As someone who has tried to implement ActivityPub (for my personal site), I think the negativity is largely justified.
In my opinion, ActivityPub is way too complicated, and federating is just too hard to do for smaller projects. You mention that there are many new projects – this has been the case for a while. Last time I looked, nearly all of them had failed/stopped/paused before actually getting federation working. The test suite is down, and has been for at least a year:
https://test.activitypub.rocks https://test.activitypub.rocks
I think that ActivityPub should have started out far simpler, and it should have been in reach of hobbyist developers. Something probably closer to RSS, with verify-from-source rather than cryptographically signed posts.
Just my experience, obviously. I would love to be able to write and run my own little Twitter-like instance that people can subscribe to, but I can't because ActivityPub was too difficult for me to get working.
- gargron 6y agoDo you want something that works well for millions of real users or do you want something that's simple to implement for hobbyist developers? I personally don't even think that ActivityPub is that difficult to implement, I've written a tutorial [1] on it, but it seems like a misguided goal to me to prefer simplicity over other factors like fitness for a particular purpose. [1]: https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/ https://blog.joinmastodon.org/2018/06/how-to-implement-a-bas... https://blog.joinmastodon.org/2018/07/how-to-make-friends-and-verify-requests/ https://blog.joinmastodon.org/2018/07/how-to-make-friends-an...
- thejohnconway 6y agoHi Gargron, ideally I want both, obviously! I like Mastodon, as open source software that can federate with other instances, it's very neat. I'm just disappointed that the federation specification is too hard for me to get working, and that appears to be the case for other people as well, given how many fail to implement it. I did follow your tutorials, by the way, but I got stuck on certain things (cryptographic signing being the main one I remember), couldn't test them easily with the test suite being down, and gave up eventually. Am I too stupid? Probably. But I can imagine a spec that gives me practically everything I want in a decentralised Twitter replacement being almost as simple as RSS or JSONfeed for example, which took me a few hours to implement.
- detaro 6y agoI don't think that's necessarily a real dichotomy. Lots of the issues around being able to implement AP are not "it has to be complicated", but "there is no consistent specification that matches what practical implementations do". It's fairly frustrating to implement something that looks ok and then have to go around and figure out what implicit assumptions Mastodon et al make that you didn't know about.
- rapnie 6y agoThose are fair points. Yes, the road to implementing AP federation is still hard. Reason is that implementations (Mastodon, Pleroma) went way ahead of community / documentation / spec development (after v1.0) and they filled in the blanks in the specs making their own implementation choices. Incompatibilities arose between impls, etc. and a new implementer still has to delve into other codebases, old issue threads to find the proper way forwards. This is bad, of course, but there was organic, though chaotic growth. The AP community has recognized the problem and is slowly catching up. Slow, because its an all-volunteer FOSS movement, atm. The testsuite being down is a known issue and on the todo-list for a long while [0]. Just yesterday an alternative testsuite was announced [1]. Also the creator of PixelFed has a great test tool called FediDB [2] in private beta. Finally note that federation with the Fediverse is often not the first goal of new projects, but something that comes later on the roadmap, if at all. Some projects like ForgeFed [3] - federated code forges - need no Mastodon connectivity per se, just interconnect github, gitlab, gitea, etc. and is developing their own spec on top of AP for that. PS. There is also a guide for new implementers in the making, but currently exists as a wiki post [4] on SocialHub (that you can improve based on own experience). [0] https://socialhub.activitypub.rocks/t/the-activitypub-test-suite/290 https://socialhub.activitypub.rocks/t/the-activitypub-test-s... [1] https://socialhub.activitypub.rocks/t/unofficial-test-suite-go-fed-testsuite/805 https://socialhub.activitypub.rocks/t/unofficial-test-suite-... [2] https://socialhub.activitypub.rocks/t/introducing-fedidb-devtools-for-activitypub/660 https://socialhub.activitypub.rocks/t/introducing-fedidb-dev... [3] https://forgefed.peers.community https://forgefed.peers.community [4] https://socialhub.activitypub.rocks/t/guide-for-new-activitypub-implementers/479 https://socialhub.activitypub.rocks/t/guide-for-new-activity...
- thejohnconway 6y agoThanks for the links, and I appreciate where you're coming from. As is often the case with open source projects, no one is to blame, it's just gone in a direction that's no good for me. However, I can't imagine that spec is going to be drastically simplified, so I probably won't have another go even if the tooling improves. I don't properly understand large parts of it, and therefore won't be able to troubleshoot or keep up with changes. I wish the projects that do have the tech chops to implement this properly well, and I'll continue as a user. But I'm going use something simpler if it comes along.
- edraferi 6y ago>The test suite is down, and has been for at least a year Yeah, that's lame. According to the Github issue it's been down since March 2019 [0] OP wrote an unofficial Activity Streams test suite [1] to fill the gap [2]. [0] https://github.com/w3c/activitypub/issues/337 https://github.com/w3c/activitypub/issues/337 [1] https://github.com/go-fed/testsuite https://github.com/go-fed/testsuite [2] https://mastodon.technology/@cj/104519578501508322 https://mastodon.technology/@cj/104519578501508322 edit: link correction