One of the funny things about ActivityPub is that we originally had a charter to develop a social API, with an option to make a social federation protocol. The ActivityPub federation protocol has been very successful. The API is only implemented in a few projects, which I think is a mistake, but I hope to see improve over time. Some people think the API drags down the federation protocol, without realising that the protocol wouldn't exist without the API.