I've been thinking about activitypub and the fediverse for a long time. I started writing software for the fediverse back in 2010 when I created an OStatus server.
One thing that I feel about activitypub is that it should be implemented as a stand alone module rather than as a turnkey system. The biggest reason for this opinion is that activitypub (at least defined by the flasgship instance Mastodon) is prety complicated and contains lots of moving part's that are subject to change. As a result of this, a lot of fediverse apps aren't entirely compatible with each other.
If we extract the core functionality of activitypub into a small module that does very little and use that to build apps, I feel like it would be a lot easier to build on and be more compatible across the fediverse. When Matrix.org created their rust sdk it greatly improved the development experience.