Table of Contents
When I first got into SGML, about 15 years ago, I remember someone remarking that to write a fully conforming parser you would have to "have the resources of the U.S. government or be James Clark." This was both an indication of James's incredible hacking chops and his dedication to making SGML a success (and of how absurdly bloated SGML is, which isn't entirely irrelevant to the thesis of this post). A few years later he applied the same coding prowess and dedication to XML, so it is a rather striking indication of its failed promise that he felt compelled to blog recently about the future of XML on the increasingly JSON-dominated web.
Leaving aside the relative merits of JSON and XML, the most salient aspect of this topic to me is that it further cements my conviction that top-down standards efforts don't work. The original XML standard was a classic bottom-up effort where a few smart experts, motivated by the clear and present danger of HTML, got in a room and bashed out a fairly short spec that made difficult decisions about design trade-offs. In my opinion they could have cut more (like DTDs), but in this depressingly real world we live in, it's hard to imagine anyone doing much better.
This success led to XML achieving a much higher profile, and suddenly subsequent efforts shifted to a top-down approach. Someone at the W3C, the de facto master of all things web, decided that we needed a proper schema language for XML. A committee was formed out of dozens of representatives of competing firms and after years of deliberation squeezed out a bloated, confusing turd of spec. The same phenomenon was at work with XLink, XPointer, RDF and countless others. It is doubtless a major factor in HTML5's relatively slow (though by no means negligible) progress.
This should not be construed as a criticism of those involved in these standards efforts, who in my experience are highly intelligent, talented, motivated and principled people. I'm simply questioning whether the entire notion of top-down standardization holds water. Too often, the reaction to any new development in the web sphere is to suggest that a bunch of competitors should get together and hammer out a spec as a first step. In some cases this approach may eventually bear fruit (as with HTML5), albeit very slowly. In other cases, such as XML Schema, the effect is downright harmful since they suck the air out of competing efforts that don't have the same official imprimatur (e.g. RELAX NG) without producing anything that anyone wants to use.
Standardization is awesome. It's the foundation of the web's success. But it should come after the fact, once a technology has proven itself in the market (as was the case, mind you, with JSON). And we should stop coming down so hard on products like Adobe Flash that have done a great deal to advance the state of the art of web technologies. Adobe has probably made a blunder in not opening up Flash more and sooner, but that shouldn't obscure the fact that almost all of the technologies that have made a real difference on the web were dreamed up by a single person or a small group (or at least by a single company) and released into the world with little fanfare. The sooner we dispel the myth that standards bodies like the W3C are the ones driving the web forward, the better.