When Is a Standard Nonstandard
One of my partners is an incredible skeptic. She still wonders about that grassy knoll in Dallas, she didn't think "push" technology would ever amount to much, and she never buys anything that is "version 1.0." She's especially merciless around my office when she points to my copy of Microsoft Bob and the World Chess Channel on my Active Desktop. She's made me more wary about adopting apparently exciting, trendy technologies just because they're new, but she couldn't keep me from getting a copy of the Developer Preview Edition of version 5.0 of Internet Explorer (IE).
My partner advocates solid, well-deployed Internet standards. She hates the false standards where a vendor thinks up some great idea, announces it to the world as an industry standard and submits it to a standards organization such as the World Wide Web Consortium. "What good does it do to have a standard," she admonishes me, "if only one vendor ever implements it?"
Her comments sum up my feelings so far about the new browser from Microsoft Corp. The power and speed of IE 5.0 impresses me. I am so impressed, in fact, that I think the new version may represent an unexpected danger to Web developers.
The folks from Redmond will boast that the new version is faster and more stable. In my limited use of the preview edition, that claim appears to be true. As an example, the new browser gives Web authors the ability to encode standards-based display hints inside pages, which help speed the rendering of information on the user's screen.
Speed isn't everything. What matter more these days are the tools that make it possible to build applications for users. Of all the equipment being added to Web authors' toolboxes, the most hyped is Dynamic HTML (DHTML). Promoted by both Microsoft Corp. and Netscape Communications Corp., DHTML is more a marketing concept than a standard part of the Web. If you carefully listen to Microsoft and Netscape talk about their visions for DHTML, you would be excused if you thought they were talking about completely different things. They do, however, have two important things in common: Cascading Style Sheets (CSS) and the Document Object Model.
While both are important, the Document Object Model is the foundation for the future of development on the Web. Despite its importance, the Document Object Model is the only part of the new foundation for the Web that hasn't achieved some level of standardization. The impact on Web developers is that each of the major browser vendors creates its own Document Object Model. Each vendor then proposes its model as the Web standard.
Microsoft's extensions to the Document Object Model allow an author targeting the IE desktop to have enormous control over the browser. For instance, an author can now use IE 5.0 to control what a page looks like, depending on what the capabilities of the browser are. Imagine that one user has the desktop set to display images in 256 colors, while another desktop supports 64,000 colors. IE 5.0 allows a Web author to determine the capabilities of each desktop and send a different image to each one on the basis of those graphics settings.
That's impressive, but there's a catch. The strategy depends on being able to determine the client-side capabilities of the browser. To make this possible, Microsoft has provided an enhancement of its DHTML Document Object Model that makes client capabilities easily accessible to scripts. The result is an author has substantially more control over how pages look -- as long as you're willing to code specifically for IE 5.0.
That is the root of the problem. The IE 5.0 design team has done an impressive job in the preview edition, but much of the power of the new browser is hidden behind "enhancements" to existing standards such as CSS and the Document Object Model. Unfortunately, other browsers are unable to "expose" the important properties that make IE 5.0 so powerful. So, if a Web designer were building a script that was for general consumption, he or she would still have to settle for less control.
To veteran, old-time Web authors who have coded Web pages since the mid-1990s, this should seem like a pretty familiar situation. Back then, we were faced with deciding whether or not to use certain HTML extensions that were specific to certain browsers. In those days, if you used proprietary tags and the browser didn't understand them, the client simply ignored them. That was annoying, but it often didn't make that much difference.
Today, the stakes are significantly higher. The impressive control that Microsoft's new extensions to CSS and the Document Object Model provide is seductive. It is so attractive that many Web developers may find it hard to ignore the temptation of writing for a single browser. Unfortunately, that leads us backward in time to the days of having "this page optimized for Your Browser Name here" on enterprise home pages.
Microsoft has done a wonderful job of incorporating the existing standards into the new version of its browser. The danger is that people will become enticed with developing code for parts of CSS 2 or the Document Object Model that have only "been proposed to World Wide Web Consortium as extension to the standards," the terminology used in Microsoft's IE 5.0 overview paper available on Microsoft's Web site. My partner is right. What good are standards when only one vendor implements them?
Mark McFadden is a consultant and is communications director for the Commercial Internet eXchange (Washington). Contact him at firstname.lastname@example.org.