Figured this was a better place to ask but @evan, with the move to the ActivityPub API (I've been looking and reading over https://github.com/swicg/activitypub-api and looking to see how I can incorporate this in https://divine.video), how do you think this'll fare with existing clients that lean heavy into the Mastodon API?
@jalcine so, first, sorry I took so long to reply to this. I think it's an important question!
First, I think that apps that currently use the Mastodon API should keep using it. It's a perfectly good API, and millions of people use apps based on it every day.
@jalcine second, I think that servers that support the Mastodon API can also support the ActivityPub social API. They are not mutually exclusive; a server can support more than one API. After all, Mastodon supports the Mastodon API and RSS already.
@jalcine now, more features means more support, more security attack surface, and so on. Supporting a new interface should be considered carefully.
But the lift on the ActivityPub social API is lower than building in another API from scratch. In particular, all the read-only parts -- actors, objects, and collections -- have to be implemented for the federation protocol anyways. So most ActivityPub servers already have a working read-only version of the API.
@jalcine the hard part then is the read-write part -- the client-to-server interface. It's complex - handling a dozen different kind of activities. That said, they are mostly for actions that are already implemented in a typical social network server -- creating content, following people, liking things. So there's usually code to do the work already. It's just a question of parsing and validating the input, then calling the proper internal code to actually do the action.
@jalcine there are other parts, like OAuth, rate limiting, CORS. But, again, a server that already supports the Mastodon API already has most of this.
There's a new doc with a basic profile for servers here:
@jalcine so, who is going to use the ActivityPub social API? I think of it as being the right tool for people building novel social experiences who don't want to have to build a full account server on their own. The barrier for building cool apps is too high; hopefully the API will make that easier. In other words: build a cool app, let the big social engines push the data around for you.