ActivityPub is too complicated and loosey-goosey. There are a couple of dozen partial implementations out there, but most of them don't federate properly or at all (which I thought was the entire point of the spec!).
Ideally such a standard should be really easy to implement, so we get true diversity, and democratisation, but implementing ActivityPub is a nightmare. Of course it doesn't help that the test suite has been down for months. https://test.activitypub.rocks
ActivityPub is not easy to implement due to two paradigms. One: most applications are not linked data aware, which depending on the tools could require a different way of retrofitting an existing application. Two: the tooling around the loosey goosey behaviors isn't as defined as, say, something like Swagger. Since AP is machine readable and RDF based it shouldn't be a stretch to evolve an ecosystem that helps developers.
I chose to go down a very difficult route with go-fed, something I don't think anyone else has done with JSON-LD. So my perspectives on the challenges in the area are very warped. For example, over the course of a mere 8 hours of work I've used go-fed to get my personal blog federated. But I stand very biased.
Ideally such a standard should be really easy to implement, so we get true diversity, and democratisation, but implementing ActivityPub is a nightmare. Of course it doesn't help that the test suite has been down for months. https://test.activitypub.rocks