Okay, off the cuff and possibly wrongheaded in places depending on how it comes out:

A federated network of real-ish-time streaming data servers should have very minimal data payloads at their most basic level. The barest minimum of object properties for any object in a stream.

Implementations should add additional object properties to support their needs. There should be a well-defined format for sharing these additional properties and implementing elsewhere.

Implementations should gracefully ignore any object properties they do not implement. Implementations should publish what object properties they do support in response to a client request.

Implementations should include a standardized plugin format for adding packages of object property handlers if feasible for the platform.

This all seems sound and sane to me as far as it goes, yet it also seems foreign as a conceptual space around here.

Am I just being dumb somehow?

@djsundog
Payloads should be arbitrary bytestrings interpreted as plain unicode text. Anything other than text is a vuln.

Even text isn't totally safe -- remember the bug in Apple's unicode library? Remember how freetype is turing complete? But it's sure as hell better than arbitrary inline markup.

@djsundog Mastodon does not exist in this world. It implements the pieces of standards that it wants and ignores the rest. It extends standards in incompatible ways and then expects everyone else to change. It does not implement standards-based client-to-server protocols and rapidly changes its own system with no warning or consensus.

If you want a federated system based on some standards and competent development, deploy postactiv.

@sungo I'll poke at that this weekend too :)
@djsundog If you want to play on the user side, hit up https://plateia.org