In my mind, ActivityPub deals with the transport/data layer by providing a standard way to represent objects, activities and broacdcast those over the federation.
But how can a client implement a generic and meaningful UX for every server?
But Plume supports Markdown, while Mastodon doesn't. I don't know for Pleroma but you get the idea.
How would the client know what the server support in terms of features?
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!