From a practical sense, ActivityPub may be the obvious choice as it gives easier interop with the largest federated platforms.
But what else? There are existing platforms built on these protocols, such as movim for xmpp, and another for matrix I forget.
From a technical standpoint, are there any major pros and cons?


And?
Removed by mod
And what do you do about other clients? What happens when the user wants to clear messages on the server when they’re fetched, but doesn’t want to do that for the social network rooms? What about moderation.
XMPP is good at a very specific thing and I don’t think its users would like all the necesary changes.
Removed by mod
My point is that the protocol doesn’t work well for the use case.
Removed by mod