"Making standards is hard work," writes Tim Berners-Lee in a recent blog post. And he should know. The creator of the World Wide Web, Berners-Lee is responsible for developing and popularizing some of the most significant open standards in computing history.
His current project, the Semantic Web, is an attempt to carry Web standards to a level beyond anything we've known so far. Its goal is to transform today's Web into a semi-intelligent network of information resources, where machines will be able to analyze and understand the meaning of information, similar to how humans do today. If successful, it will absolutely revolutionize information retrieval. And the key to its success is the rigorous application of standards.
But there's a catch: It's hard enough to get people to comply with the standards we have already.
HTML, in particular, has a troubled past. The headaches began in the bad old days of the browser wars, when competing browser makers would implement the specifications in dubious ways and add nonstandard features to their software. Confounded by conflicting results, developers got into the habit of writing code that worked, no matter what sins against the standards they would have to commit.
Some years ago, the engineers at the W3C reasoned that the best way to get back on track would be to start with Web developers. Get developers to write HTML that adheres to the published standards, rather than relying on the behavior of any one browser, and end-users would naturally gravitate toward browsers that did a better job of implementing the standards. In turn, this would create incentives for browser vendors to make standards compliance a top priority.
It was a logical enough plan. The folly lay in its execution. Because the way the W3C chose to reach developers was with -- you guessed it -- another standard.
Enter XHTML. A successor to the original browser markup language, XHTML combined the vocabulary of HTML with the syntax of XML, and in the process it stripped away many of the inconsistencies and bad coding practices that HTML developers had accumulated through the years.
XHTML actually has a lot going for it. Because of its strict syntax, it encourages more rigorous coding. It is also easy to validate using automated tools, so that Web developers can know when they've made errors, as programmers do. What's more, it encourages the use of CSS (Cascading Style Sheets), which helps to keep actual Web content separate from the details of how it is presented onscreen.
The problem? "The attempt to get the world to switch to XML ... all at once," writes Berners-Lee, "didn't work." In other words, very few Web developers use XHTML. Or if they do, they don't use it properly.