Lamentations for Microsoft Internet Explorer
Browser compatibility is the bane of any web developer's work. Just ask us! My web design work is relatively simple, yet I am still plagued by hours of testing, tweaking, kludging my code, just to get it to look correct in every browser.
Naturally, the most popular browser (by far) would perform the poorest. 'Makes sense, right? Right??? Fortunately for Microsoft, they needn't concern themselves with web standards any longer, since in a sense, they define the standard. Whatever shortcomings persist in MSIE, web developers everywhere are forced to create MSIE-compatible pages or be out of work. Don't kid yourself about Microsoft's intentions; they are well aware that they don't have to make life easier for their users. Their marketshare creates a guaranteed sale.
This BoxModelHack is an illustrious example of the strain Microsoft places on web developers.
Known problems include:
- Improper rendering of PNG files that use transparency (view the red icon at the top of the page in MSIE)
- Incorrect spacing of multiple div elements placed inside an absolute-positioned div element
- Incorrect calculation of element sizes when using borders of width greater than zero
- Ignorance of CSS overflow rules (view the code blocks below in MSIE)
I'm no doubt forgetting several hundred others at the moment of writing, but I will continue to add to the list (feel free to email me with any further suggestions). On the other hand, all apologies to Microsoft if any of the above problems become out of date.
Some five or ten years ago, I was a pretty big fan of MSIE. Page rendering was quick, location history was cached better, and I got tired of all the krunk that came along with Netscape; mail clients, etc. Microsoft had to produce a quality browser in order to gain near-universal acceptance as the default browser on our computers. They have not continued to improve MSIE simply because there is no competitive advantage in doing so. However, with some of the newer browsers that are available, like Opera and Firefox, there are some valid alternatives to the MSIE monopoly.
One of the largest hurdles, however, will be mainstream adoption of these alternative browsers. Many web users aren't truly aware of the differences in browsers, mostly because web developers are hard at work hiding these differences. Thus, it is the web developers that are in a position to truly influence the spectrum of browsers used by the common web surfer. The web browser should be a means of presenting information to the user, NOT a restriction upon what information can be presented!
My suggestion, and personal plan of attack, is as follows:
- Stop dedicating hours of time toward compatibility with specific browsers. Instead, stick to the strictest web standards, and let the browsers perform as they may. However, I personally make it a point to avoid specific problems with any of the browsers. For example, I could routinely use transparent PNG graphics on all my pages, but for the moment I am content to use a more standard format like JPG or GIF.
The second piece is to have this all activated as the page is loaded. Just add the "onload" attribute to your <body> element:
Many might consider that they would be shooting themselves in the foot if they were to make their site less popular among MSIE users. This may be true for some, but it is likely that development will get easier as more users turn away from MSIE. I hope that web developers everywhere will join me in taking a jab at Microsoft; let their users know that the most popular browser in the world is unacceptable in the 21st century!