Before proceeding into the core of this article, I want to say one thing to you: challenge your assumptions.
Challenge your assumption that all Internet services are provided by a Web server and consumed by a browser. Challenge your assumption that chaos within a development environment is a bad thing. And challenge your assumption that standards must take precedent over innovation.
Several years ago, when the concepts of Web server and browser were first implemented, the Internet was introduced to a new state of chaos and, as the explosive growth of technologies that are "Web-enabled" demonstrates, innovation was not only the rule, it was the norm.
Over time, people decided that standards were a necessary adjunct to the growth of the Web, something with which I completely agree. Enter the W3C, the World Wide Web Consortium.
As the W3C organization will attest, they are not a standards body. As such, they don't issue "standards" per se. Instead, the W3C issues recommended specifications. The only enforcement of these specifications has been through voluntary compliance on the part of the technology providers, and demand for said compliance on the part of technology consumers.
Thanks to the efforts of the W3C, we have specifications for HTML, XML, CSS, HTTP, and a host of other Web-enabling technologies. Thanks to those following the specifications, we have Web pages that can be viewed by different browsers, and served by different servers.
Somewhere along the way, however, standards became less of a means for providing stability and more a means of containment. In some cases, standards have become a weapon used to bludgeon organizations for practicing the very thing that started the growth of Web applications in the first place: innovation.
Innovation is the act of improving what exists and creating something new. Though innovation does not always lead to something better (Remember push technology?), it is the thing that keeps us moving forward, always searching for a better way of doing things.
Innovation can work comfortably with standards; new XML-based specifications, such as MathML, are a case in point. There are also times when innovation actually bucks the standards.
For instance, Microsoft has been long criticized for adding its own "innovations" to a specification, particularly with its popular Web browser, Internet Explorer. One innovation was the support of a property called innerHTML that is used to access or easily replace the contents of a specific HTML element. Though innerHTML is not part of any of the W3C specifications, its use is so popular that Mozilla, the open source effort behind the new Netscape 6.0 browser, has adopted the use of innerHTML within its own layout engine.
Should Microsoft and Mozilla be bashed for lack of standards compliance because innerHTML is not a property supported by the W3C? Or should both organizations be commended for providing a useful tool that has become very popular with Web developers?
Read Browser, Browser Not, also by Shelley Powers, in which she writes that Netscape 6.0 is more than a new browser--it's the start of a whole new way of doing things on the Internet.
This leads to an additional question: How does one measure standards compliance? For example, if Internet Explorer and Mozilla both supported CSS attributes such as font size and color, and they also supported new attributes and properties like innerHTML, would both browsers be compliant? Or are they noncompliant because they've added new features to the underlying CSS/DOM/XML/HTML specifications? How exactly do we define "standards compliance," especially when there are groups like the WSP (Web Standards Project) enforcing this compliance?
I've long been a fan of the W3C, and I think that the Web and the Internet would be a much more chaotic environment without this organization. However, my fondness for the W3C does not necessarily extend itself to the WSP.
If you haven't heard of the WSP, it is an example of what happens when standards enforcement is left to the masses. This organization's intentions are pure: It's a nonprofit organization of Web developers, designers, and artists who encourage browsers to support standards equally and completely. However, somewhere along the way, the WSP took on the aspect of a holy war, a Web jihad.
The WSP's behavior is tantamount to lynch mob justice. After all, there are no gray areas of justice: only black and white, right or wrong. The same can be said of support for the enforcement of standards: A company supports standards 100 percent, or the company is noncompliant and, therefore, evil.
Note that I agree with the WSP in spirit: Our lives would be much easier if Microsoft and Mozilla and Netscape would support the W3C specifications fully and equally. I'm more than aware of the cost of having to write different Web pages for different browsers because each has implemented technologies in a different way. I've been doing this for years.
However, I've also benefited when an organization has expressed an innovation that exists outside of a specification, such as the aforementioned innerHTML, or Mozilla's support for XUL (Extensible User Interface Language). If having all browsers be 100 percent standards compliant means not having access to these innovations, then I'll take noncompliance even if it does mean extra effort to compensate for differences.
I encourage Microsoft and Mozilla and Netscape to support the W3C specifications and other standards, but I also encourage these same organizations to continue their innovative efforts, even if the result is a bit of chaos in a world that would otherwise run smoothly, and without a wrinkle.
And who's to say that a little chaos is such a bad thing?
In August 2000, CNET.com featured an article titled Why Open Standards are a Myth. The author of the article, Paul Festa, wrote that open standards only work when a company has a lead in a technology and then uses the standard as a means of ensuring that its competition doesn't exceed its own ability. The support for standards, then, becomes a means of disabling a competitor's innovation.
In this context, the sameness of compliance to standards becomes less a tool to help developers and businesses and more a weapon against competition. The sameness of compliance also becomes a measure of ensuring that all participants reach one level, are kept on this level, and that there are no bumps in the road of compatibility.
Is this smooth path of total compliance the Internet of the past? And is this the Internet we want in the future?
Standards are essential to doing business between companies. They are necessary to ensure that, for example, CD players can play all CDs, and elevators don't crash to the first floor from the tenth. Our lives are protected by standards and our laws are based on them.
However, standards were never meant to be a weapon against innovation, as a tool for beating a company into submission, particularly within the free-spirited environment of the Internet.
Should we encourage the adoption of standards? A resounding yes! But not at the expense of what makes working on the Internet so challenging and exciting: The promise of something new coming through the router. Something different. Something interesting. Something innovative.
Copyright © 2009 O'Reilly Media, Inc.