-
Squeaky Latex Folf
Sometimes I feel like it'd be cool if XMPP didn't encode binary data as base64
-
MattJ
Sometimes we all have that feeling
-
Menel
But then you would ask yourself for the alternative?
-
Squeaky Latex Folf
What if we adopted a binary XML representation e.g. EXI so this could be made possible?
-
MattJ
EXI is nice in theory, but it gets icky past that unfortunately
-
Squeaky Latex Folf
How so?
-
MattJ
IIRC open-source implementations are scarce, for example
-
MattJ
And to make the most of it you need to use it in schema mode, which would require a lot of effort
-
MSavoritias (fae,ve)
couldnt we just do it all of it over eris? but then that would require ecosystem buy-in /thinking
-
Squeaky Latex Folf
And what if you just use it so you don't need to use base64 anymore?
-
Squeaky Latex Folf
Or does EXI require schemas?
-
MattJ
No, I think EXI can be used without schemas. But then basically the only gain is not using base64, and it's a lot of work for that small improvement.
-
Squeaky Latex Folf
Just imagine how much bytes you will save in total across the XMPP network if everyone used EXI :o✎ -
Squeaky Latex Folf
Just imagine how much bytes you will save in total across the XMPP network if everyone used EXI and sending binary data over the XML stream were actually supported :o ✏
-
MattJ
Probably less than a 5-minute YouTube video per day :)
-
Squeaky Latex Folf
Maybe it won't save as much data as actually implementing proper multicasting would, idk :P
-
arcanicanis
How stringent have most clients been with being XML namespace-aware, or is most of it just very lax parsers?
-
MattJ
I think all the successful clients do it properly. Namespace-aware APIs are not too hard to find.
-
arcanicanis
I guess I'll put in the modicum of effort to make it namespace-aware then. Meanwhile, for connection states, would it be fair to summarize things down to: - dead (no connection yet, or TCP connection closed), - preauth (connection open, not fully authenticated yet) - prebind (authenticated, but not bound to a resource ID yet) - ready (authenticated, bind complete, ready to send/receive traffic) - closing (gracefully going offline, or closing per stream error) Or is there something else worth including? Would CSI (XEP-0352) change anything, or be worth of some additional connection state (sleep?)?