Without drama or fanfare, Netscape Communications has made another startling move. Neither as colorful as last year’s release of their Source Code nor as jolting as their alliance with AOL, this new action by the Mountain View, California-based company is far more profound than its predecessors.
It will change the way we build the Web.
Specifically, Netscape has made the tough decision to sacrifice backward compatibility with their proprietary version of the Document Object Model (DOM) in order to fully support W3C standards and release a faster, leaner Web browser unhampered by legacy code.In the short run, this means that a few bleeding-edge developers – those who created DHTML sites based on the Netscape 4 Layer DOM API – will have to re-code their pages.
That’s the angle most Web development publications have been covering since the word began trickling out of Mountain View a few days back. But the real story is bigger than that. We are finally going to have a major browser that fully supports key Web standards.THE DOM is a set of specifications permitting developers to manipulate elements (objects) on Web pages.
It is a framework enabling other standard technologies, such as HTML, XML, and scripting languages, to communicate with each other. In a sense, it is the glue that will allow us to assemble far more advanced Web documents than we have today. Netscape Navigator 4.0 and Microsoft Internet Explorer 4.0 were supposed to deliver these capabilities, but their proprietary Document Object Models were incompatible. Faced with the choice of building “DHTML” sites which worked only in one browser – or coding two versions of every page – many of us opted to forget the whole thing.
As a result, the so-called Year of DHTML fizzled, and consumers, disappointed at seeing plain old Web pages in their initial encounters with 4.0 browsers, were slow to upgrade. In an interview, Navigator 5 product manager (and ALA contributor) Eric Krock explained Netscape’s decision: “Netscape is going to switch over to the W3C DOM in Gecko (NS 5.0) in our effort to build the most standards compliant browser on the Web.
Support for portions of the old DOM – which was not widely adopted – is being replaced by full DOM Level 1 support.” Krock elaborated in a public newsgroup: “Proprietary DOMs are the problem, and the incompatibilities between the proprietary Nav4 and IE4 DOMs prevented widespread adoption of DHTML in the Nav4/IE4 timeframe and greatly increased development time for those developers who did build [DHTML] sites and applications. “Nav4 and IE4 were pioneering prototype HTML DOM implementations which made Dynamic HTML possible. But, since even the DOM1 standard was not finalized until October 1998, they inevitably did so in proprietary (and as it happened, incompatible) ways.
“W3C DOM support is the solution and the light at the end of the tunnel.“NETSCAPE ORIGINALLY PLANNED to base Navigator 5.0 on the old Navigator 4.x codebase. The result would have been a browser which shipped much sooner but offered little more standards support than Navigator 4.x.
Through The Web Standards Project’s “I Want My NGLayout!” drive, articles in CNET’s Builder and Hotwired’s Webmonkey, and private conversations with Netscape’s engineers, developers made it clear that the Web would be best served by the clean new layout engine Netscape was already developing. Netscape listened.Basing Navigator 5.0 on Gecko (formerly NGLayout) required a complete rewrite of the browser.
This meant that the Mountain View company had to patiently develop their next generation browser while their chief competitor beat them to market. Netscape made that sacrifice. Now they are making another – letting go of their proprietary DOM in order to deliver 100% compatibility with W3C standards.They are doing the right thing.We applaud this move, and trust that their example (or a healthy sense of competition) will prompt the engineers at Microsoft to quickly offer full support for the W3C DOM in future versions of Explorer.
After all, until there is just one DOM for all browsers, designers desiring DHTML will still be forced to code two versions of every page. Those ridiculous hours of extra labor are one reason we need standards. (Consumers who can’t read our pages are the other reason.)Though “Netscape Kills Its DOM” makes good news copy, the truth is that Navigator 5 will be fully backward compatible with the “Level 0 DOM” which existed in Navigator and Explorer 3.0 and higher – the stuff we use for image rollovers, forms validation, and so on.
To compare the way released versions of Microsoft’s Internet Explorer and Opera Software’s Opera fare with another key standard – Cascading Style Sheets – visit the CSS Samurai test pages at The Web Standards Project. And for a look at a new, alternative browser, take a gander at this week’s Outside Reading column. We’ll be dissecting the DOM in future issues of A List Apart.