Just under 7 years ago, I wrote Slow Data . In it, we explored how XMPP on ridiculously slow links had been, and in some cases could be, improved.
This is the follow-up. It's taken 7 years for me to get around to this.
Fitting, I thought.
The Story So Far
Baseline XMPP - which, as we'll show, hardly anyone uses anymore - takes about 12 round-trips to set up the connection:
But, thanks to a whole bunch of work in the community, we had designs, but not implementations, to reduce that to merely three, at least on reconnection:
But this required lots of people to write code for a couple of key extensions - SASL2, specified in XEP-0388 and ISR, specified in XEP-0397 .
One of these took, and the other did not.
What happened next
The community picked up SASL2 - which if you read the previous post should put us at 5 round-trips - but didn't pick up any 1-RTT authentication mechanisms, preferring to use SCRAM's better security, which includes Channel Binding.
Channel Binding is a technique for ensuring that…