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?
Funkwhale and PeerTube instances deal with Audio and Video media, respectively, PixelFed with images, Mastodon and Pleroma with small-to-medium text, Plume and Write.as with long-form content, etc.
Do you think it's possible to provide a unique and comfortable experience for all those projects ?
@eliotberriot @kity @cwebber *maybe*? i'm not sure to what extent xmpp servers store data and how, but i'd say probably in the sense that email servers can host your emails and xmpp servers can host your messages.
a generic AP server would at minimum handle delivery of AS documents generated by the client -- the recipient can parse and validate, perhaps the server can tell the client whether the response was 200 OK or if there was some error (i.e. "was this message delivered successfully?")
@eliotberriot @kity @cwebber so in that sense it would be delivery server only (like SMTP) but then one step above that would be to have the server also manage data *storage* and not just delivery (a la IMAP).
in that case, the server stores your inbox and outbox and all the AS documents and Activity stuff, and allows fetching the content on valid GET requests. but there is no standard authentication/authorization flow, so we're kind of limited to allowing public fetching if we want full compat
@eliotberriot @kity @cwebber as far as the client would be concerned, the generic Server doesn't have a way to dictate limitations. but rather, the client would fetch only the AP documents that could be validly displayed within that client. so if the client wants Note objects under 500 characters, it would get your inbox and filter for Note type, then filter for length.
that's kind of wasteful i guess? which is why most AP projects chose to reject incoming Activity that they don't understand.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!