David Baron's Weblog


Tuesday, 2009-07-07, 21:47 -0700

Belorussian translation (added 2010-05-24, URL changed 2010-09-22)

I wanted to give my opinion on why the XHTML2 Working Group failed while the topic was still under discussion. These are thoughts based on my memory of various events (including many mailing list discussions, a workshop in 2004, and some technical plenaries), and my memory may not be perfect. But impressions do matter (since they lead to events), and in this case I'd like to convey my impressions, even if I haven't gone back to find all the mailing list messages or the minutes of meetings that made me form those impressions.

The work on XHTML2 started at a time when the technology underlying the Web (as experienced by the bulk of users and content providers) was stagnating. Internet Explorer had a monopoly or near-monopoly in the Web browser market. Microsoft was slowing development of new versions of Internet Explorer in the hope that Web-based applications would not be able to compete with Windows applications, and Windows applications would keep people locked in to the Windows operating system.

Thus XHTML2 was developed with no expectation that the leading Web browser would ever implement it. In that environment, other groups working on Web technologies kept working with other browser makers, in the hope that the success of their technology in other browsers would eventually pressure Microsoft into implementing. However, the developers of XHTML took a more extreme position: they wanted to build a separate Web, of their own technology, designed “the right way.” Their Web technology would be browsed with different software that would eventually displace current Web browsers—all current Web browsers.

This showed when members of the group spoke to authors: they showed uses that didn't depend on browsers implementing HTML, and emphasized those uses, to try to build up a critical mass of users.

The working group became hostile to Web browser implementors, even those implementors who were trying to move the Web forward. They discouraged those implementors from participating, and didn't think about what might get those implementors back into their fold.

This showed when they didn't care whether it was possible to implement XHTML2 in the same software that already implemented other Web technologies. For example, they required different processing for "new" documents, but provided no mechanism to distinguish them from "old" ones. (And they did this twice, once with XHTML1 and again with XHTML2.)

Finally, this lack of communication led past the intended divergence, to unintended divergence. XHTML2 became unnecessarily different in ways that would make it even harder to bring back into today's Web.

Well, this plan to replace the Web doesn't seem to have worked so far. And the Web browser market is becoming more competitive: enough that we're pushing today's Web forward so that more things can be built on it. We don't need to replace it with a new one.