Also, efficient formats/protocols need to use byte counting, and byte-counted "text" protocols (BEEP and bencode come to mind) are effectively human-unreadable anyway.
Why? Machine-to-machine communication is for machines, after all, isn't it?
What you call "heavy parsing" is heavy parsing for humans. It's actually easier for machines, because they simply reference (and verify) an offset.
Are you advocating designing a protocol primarily around how easy it is to interactively troubleshoot? Certainly that has value, but on the modern Internet, is it really the dominating concern?
- try checking what a webapp does. TRIVIAL. We're talking minutes.
- try checking what a binary app on your computer does. one with DRMs or advanced "anti crack" stuff for example. FREAKING HARD. Even if you're a wizard, it still takes a few hours. For mortals, we're talking weeks. Weeks!
And that my friend, is why what you wrote is wrong.
You're using the browser or WireShark almost guaranteedly. You can continue to use the same methods with SPDY or compressed/proxied SPDY.
That's a problem with binary protocols. How does Spdy help the 'open web' when you can't even tell what's even going on at the network layer even after spending lots of time trying?
This blog also like every other advocating Spdy ignores that HTTP tunneling in practice provides the same benefits. And the last graph is the same as for an HTTP proxy, nothing to see there.