COMMENTARY--It’s been several months since my last article for ZDNet, though that wasn’t because I’ve been lying on a Corsican beach drinking gin and tonics (though if you’re looking for a place to do that, Calvi’s beach feels like you’re lying on a big pile of fine-milled flour). I edited a movie the filming of which I
wrote about last summer, which though enjoyable, took about three months because I’m a perfectionist SOB. I’ve been working on an SMS/Text Messaging product for my software company, something that seems to be attracting the attention of investors (I’d tell you the name of that company, but then I’d have to eat you, and geeks are stringy). Last, I’m planning my move back to the United States, a momentous occasion after wandering Europe like a traveling minstrel for four and a half years. So, to put it mildly, I’ve been keeping busy.
Sometimes you get the urge to write, though, and this is one of those occasions. The “trigger” in this case was a recent ZDNet article about a new site managed by the Web Standards Project that promotes use of alternative browsers. Most justifications centered on security issues in IE or missing features, such as the lack of pop-up blocking. These are cogent points. Avoiding a browser used by 95 percent of Web surfers will make you less likely to get hit by viruses which target it. To many, Mozilla and Opera have done some interesting things with browser technology.
But as should be obvious from the group’s name, the real motivator is the tendency of sites which target IE to use non-standard features (they can’t really complain about IE’s failure to implement HTML standards, as standards-compliant HTML/CSS sites DO render well in IE). Unfortunately, the “standards” religion has created a self-imposed barrier to doing the sorts of things which might make a real dent in IE’s market share, namely, guarantee compatibility with sites which target IE by implementing fully IE’s non-standard features.
Some history: Internet Explorer vs.
Netscape
I remember Internet Explorer’s first feeble attempts to dislodge Netscape from its position of dominance.
The year was 1996, and I was a Web developer at Nortel in Dallas, Texas. Out team was one of the first within the company to try to build internal business applications using Web technology.
Back then, IE was a pale reflection of Netscape. Lots of sites didn’t render properly in Internet Explorer. JavaScript either didn’t exist or didn’t work properly in IE, and I really didn’t feel like making a bunch of parallel VBScript routines for a browser that accounted for a tiny fraction of the marketplace.
Though our team was composed of a lot of ex-Microsoft folks, save for our choice of server platform (Windows NT 4.0), we targeted mostly non-Microsoft products. We used Cold Fusion as our scripting engine, Oracle as our database, and there was never ANY discussion of moving our applications to Internet Explorer. Why bother, when a browser with more features that worked with 90 percent of the Web-browsing world (and 100 percent of Nortel) was the de facto standard?
That started to change with the advent of IE 3.0. IE did an amazing job of running sites designed for Netscape. It even supported Netscape plug-ins, allowing developers who targeted the dominant browser to include Internet Explorer for free. Though we didn’t explicitly target it, much less test for it, we found that in most cases our site worked with IE 3.0.
History shows that IE 3.0 was the browser that started to chip away at Netscape’s dominance. If IE 3.0 was a chisel, IE 4.0 was a wrecking ball in terms of its effect on Netscape’s market share. Not only did IE 4.0 support all the features of Netscape, but it offered BETTER support for “official” standards and introduced a whole range of new features which simply did not exist in Netscape.
IE 4.0 was the point that I, and most others, ditched Netscape.
Lessons to be learned
There was such a thing as “standard HTML” back in the day when Netscape bestrode the industry like the giant lizard that was its mascot. It didn’t matter very much, as Netscape paid scant attention to what the standardization people were doing. Frames appeared on Netscape first, a technology that was included belatedly in sanctioned HTML. Most people who have written a bit of JavaScript have heard of the navigator object, something which originally appeared in Netscape Navigator (hence the name) and which still exists in most JavaScript implementations (including
IE’s) even though no official standard exists for it.
Imagine what might have happened had Microsoft opted for the position taken by today’s proponents of “alternative” browsers. Microsoft could have marketed IE as THE standards-compliant browser, and chastised Netscape for their failure to adhere to them. If they had, Netscape by now would have 95 percent or more of the market, as customers would long since have grown tired of a browser that didn’t render popular sites and offered little more to developers than lowest common denominator functionality.
If makers of alternative browsers are truly serious about challenging IE’s dominance, then they need to ditch the standards religion and make their challenge credible. They need to support EVERY feature of Internet Explorer, at least as it pertains to the rendering of HTML pages. They need to support showModalDialog, a great way to create custom prompts that require user feedback before continuing. They need to support dynamic styles (using equations for style sheet attributes instead of constant values), enabling Web pages to respond dynamically to changes. Heck, they need to support something as simple as the “overflow-y” style sheet attribute, a logical extension to the “overflow” attribute that controls the appearance of scrollbars on HTML elements in JUST the y-direction (my apologies if that was all bafflegab to anyone, but Web programmers will know what I am talking about).
Too often, it appears that advocates of standards-constrained browsers rely on general recognition of the ideological purity of such a stance. The reality is that most outside the computer industry find the issues which crease the brow of many a programmer as unfathomable, if not a little bizarre. They want to be able to access every page on the Web, and frankly, could care less if that site was standards-compliant. Software developers with a hope of attracting such people need to give them what they want.
Conclusion
Standards are necessary. They enable multiple implementations of a specific technology to work well with common formats such as HTML. Standards are the glue that make cross-platform, and even intra-platform, computing a reality in a domain that lacks inherent standards (software, as noted in the past, isn’t oil, a product which is mostly the same whether it comes from Saudi Arabia or off the coast of Norway).
Standards OF NECESSITY cannot be cutting edge. The standardization process is slow as it takes time to coordinate the input of groups of experts around the world. Even if standardization committees could be replaced by brains floating in jars of coffee linked by super-fast fiber optic connections (okay, very weird analogy), experts are no substitute for the real world experimentation which takes place when developers try to apply technology to the satisfaction of their customer’s needs. Standardization follows on such experimentation, which means there will be plenty of technology in common usage which is NOT standardized so long as there is still more to be discovered in the realm of computer science.
The presence of non-standard features is not a bad thing, but is a reflection of the fact that standards cannot hope to encompass all that is possible in software. Standards are designed as a means to ensure interoperability when such interoperability is necessary, not a limiter on progress.
Lastly, recognize that developers will favor a technology that serves 95 percent of their target market, particularly when that technology offers more features which boost the functionality of their applications and make programming easier. Implementing a competitor’s non-standard features makes transitioning easier for developers targeting that product. Microsoft learned that lesson years ago. Fans of open standards would do well to learn it, too.
biographyJohn Carroll is a software engineer and screenwriter now living in Ireland. He specializes in the design and development of distributed systems using Java and .Net. He is also the founder of Turtleneck Software.



