On Playing the Internet Explorer Game

Jeff Croft writes about John Carroll’s article on using Internet Explorer as ‘the standard’ for web browsers. A brief summary of John’s article is that if Mozilla, Opera and Apple want a larger share of the market they will need to copy Internet Explorer’s functionality. One issue that I’ve seen brought up several times is that Microsoft pays dues, sends representatives to the W3C and yet they still don’t adhere to the standards they help create. So if standards don’t mean a lot to Microsoft, why should we let them set the standard for browsers?

Some of the things that Microsoft has created are good innovations (the creation of the innerHTML property in JavaScript changed my DHTML world), but I don’t see them as critical for the development of the web. I’m wondering which ‘whiz-bang’ features of IE John is referring to. I’ve written some pretty nasty Internet Explorer only code in my time. I have a client that said, "Other browsers be d*mn*d, I want this to do X,Y, and Z and IE can do it."[0] I’m now in the process of converting all of that work over to work in Mozilla and Opera because customers are starting to demand support for these legitimage browsers (use of the term alternative makes me ill, a browser should be just that, no matter who makes it).

What does this conversion mean? It means that I get to innovate with solutions that are friendly to all of the browsers and are standards compliant. Instead of IE’s popup object (or the Mozilla XUL equivelent) I have created all of the content in an iframe and floated the popup div out with JavaScript whenever the right click is captured. This means that I get the right functionality with all three browsers. Another issue is that Internet Explorer’s popup object added some complication with the new Windows XP Service Pack 2. Microsoft made developing for Microsoft’s Internet Explorer hard. My new solution should avoid those problems all together since a new window is not created in IE‘s mind.

One simple rebuttal to John comes when he makes the statement that Standards Compliant sites render correctly in Internet Explorer. This is not the case by default. By using code that renders well in the latest releases of Opera or Mozilla I get funky side-effects or poor rendering with Internet Explorer because of its bugs in implementing CSS. However, folks like Tantek have worked out plenty of hacks that allow me to fool "Internet Explorer into emulating a browser."[1].

Finally, calling advocates for standards a religion is probably a dangerous thing because when you’re dealing with end users, the standards advocate is merely trying to let the end user choose which browser they want, no matter what browser it is, and view the content. This site delivers readable text for Lynx, and other sites are equally able to do the same. Internet Explorer 3.0 users can view this site’s content as well. I would love to have a discussion with John, and if he reads this, please consider emailing me to further explain yourself.

Via Dave Shea

Footnotes
[0] This was for a web based application and not for a standard website, usability is a critical issue that is addressed with another interface that doesn’t use DHTML.
[1] Dave O’Hara said this, but I can’t find the reference.

2 thoughts on “On Playing the Internet Explorer Game

  1. “(the creation of the innerHTML property in JavaScript changed my DHTML world)”

    The problem with innerHTML is that it requires the UA to reparse the new HTML, rather than just adding elements directly to the DOM. This is a slow process, and thus why innerHTML is evil! There is no-longer any reason to use innerHTMl, since even IE has acceptable support for the standardized DOM interface. Infact, innerHTML won’t work (or at least, shouldn’t work) for real XHTML (ie. served as application/xhtml+xml and not text/html tag soup) because XML documents must remain well-formed at all times, which innerHTML could potentionally. It’s the same reason why document.write() does not work in XHTML.

Comments are closed.