Standards and Recommendations

By on December 19, 2007 9:43 pm

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.

Comments

  • I agree with some of the things you have stated here. However, there is a flip side to this: Microsoft is “experimenting” with Silverlight while ignoring the SVG specification. All other browsers have begun implementing SVG, but the adoption of the technology is being held back by the majority browser vendor.

    Minority browser vendors can experiment with technologies all they want but until the majority of browsers implement them – they are dead-ends. Open standards work is supposed to be used to “level the playing field” so that all browser vendors can compete.

  • Jeff, as you may know, I’m a huge SVG proponent. That said, SVG and Canvas are far from perfect, and Silverlight does have a fairly intriguing feature set though I would not develop directly for it by choice. No one is forced as a developer to use Silverlight, any more than they are forced to use Flash or AIR.

    In the case of Dojo GFX, we wrapped SVG, Canvas, VML, and Silverlight to give us the same SVG-inspired API across the major browsers.

  • Alan D.

    I think you Alex and many others see the problem much different than I do. It is not innovation that is the problem it is stagnation.

    There are a lot of innovative ideas and implementations of technology out there. True, not as much as in the late 90s, but that is because NONE of innovations or web standards are being implemented in the browser world.

    IE didn’t do anything for over 5 years. Now they are not even willing to catch up to even compete. Mozilla/Firefox were on a great run but in the last 2 years they have slowed drastically. Opera and Safari have long been slow to board but have, of late, been implementing many things but not enough to take the market.

    Being creative does little for innovation without implementation.