In response to recent articles by Andy Clarke and David Baron, Alex recently said that the W3C cannot save us. The most significant point being made is that you cannot standardize the future, and you should not punish those who attempt to push the envelope through experimentation and invention.
In the late 90s, there was little in the way of web standards, but an amazing amount of progress and innovation. WASP and others heavily pushed browser vendors to properly implement HTML, CSS, and DOM standards. For the most part, they were successful with this effort, and with the effort of encouraging developers to use those standards.
However, they also managed to create a culture of “standards zealots” that believe that using anything non-standard is sinful. At Dojo and SitePen, we’re extremely pragmatic. If the standard is either too complex or doesn’t provide needed functionality, we find the best possible way to make something work today.
The most common example is innerHTML vs. the DOM’s createElement and appendChild methods. In this case, the W3C DOM approach in many common use cases is more complex, more verbose, and less performant. innerHTML has emerged as a defacto standard, supported across all major browsers today, even if it is not sanctioned by a standards body.
Similarly, in Dojo, we add nonstandard attributes to HTML markup in order to define additional attributes for widgets in an unobtrusive manner. Standards “zealots” complain that we should write a custom DTD, or even better, use an XML namespace. Our feeling is that this non-standard approach, which causes warnings from the W3C Validator but works in every major browser on the market, is more efficient and less verbose than the more pure, standards-based approach.
Tables and grid layouts are probably the most widely used approach that irritates standards purists, but until there is an implemented standard that provides the same types of layouts that a simple table provides, we’re stuck. That said, there is no reason today to use the 14 levels of nested tables that used to be found on major sites such as Yahoo and ESPN that predated widespread adoption of CSS.
Apple has started pushing the envelope with recent additions to WebKit. For example, because they have a great SVG implementation, they have proposed a great way to use CSS to get some of the great benefits of SVG transformations with HTML elements.
Standards should not be defined until it is proven that one or more implementations work. Until the real-world performance, usage, and compatibility issues are worked out with multiple implementations, a standard is not useful or productive, and is unlikely to be adopted. Recommendations such as CSS 3 have yet to see the light of day in a significant manner because there are no reference implementations.
If the open web waits for standards before trying out new ideas and implementing not yet standardized ideas, we will simply lose to the proprietary world that can deliver the features that developers want. While efforts like the What-WG is a step in the right direction towards open communication, without implementations and experimentation, it’s not yet completely useful. It is however a great forum for various parties to openly discuss new ideas.
Standardization cannot precede invention, and standards are not standards at all if they don’t provide developers and users with the capabilities and ease of use that is needed to be widely adopted. We need to let browser vendors experiment again, without criticizing them for implementing a non-standard that might make our lives better.