2 ms·
Even with a binary format, you'd be sending data out of band in XMPP. XMPP is designed for interchanging _small_ bits of data. Large data blocks destroy latency
by metajack 17y ago
Even with a binary format, you'd be sending data out of band in XMPP. XMPP is designed for interchanging _small_ bits of data. Large data blocks destroy latency, so they are usually sent out of band.
Plenty of large data blocks occur without any binary file transfers, like disco items responses from large services.
The solution to this problem isn't a binary encoding of XMPP, it's multiple simultaneous streams. The problem exists regardless of the encoding. Some of the solutions for this set up internal streams (In-band bytestreams and in-band Jingle are two examples). Since well defined protocols already exist for voice/video and other such things, those are used when possible. This isn't a bad thing. No technology needs to do everything itself.
Also, the complexity of out-of-band protocols in XMPP has nothing at all to do with XML. It has to do with NATs and firewalls. It is not easy to set up peer-to-peer communication on the Internet that actually works. SIP and RTP and their ilk are quite complex, I agree. Jingle also has many simple out-of-band and in-band set ups you can use as well, but they aren't nearly as complete or flexible.
- tentonova 17y agoEven with a binary format, you'd be sending data out of band in XMPP. XMPP is designed for interchanging _small_ bits of data. Having implemented both XMPP clients and servers, I don't particularly see your point. Exchanging small binary message packets would not be an issue. How would binary stanzas be any different than other message-based multiplexing binary protocols?. Also, the complexity of out-of-band protocols in XMPP has nothing at all to do with XML. The fact that you have to go OOB at all introduces significant complexity.