Image representing Microsoft as depicted in Cr...
Image via CrunchBase

A lot is being said about IE8 and how it will change the history of IE and how it is seen in the eyes of developers. Anyone who has ever tried to design a website using standards defined by W3C is sure to have found that while the site looks great in FireFox for example, it looks terrible in IE.

Fixes have been around for ages now with it just being accepted that you design the site in FireFox and fix it for IE. A quick search on Google will show you just how many of these fixes exist. Most of them have become quite well known and are pretty much put in during the initial design of the layout. There is even a javascript tool that will automatically fix as many of the problems as it can allowing you to design a standards compliant site.

In comes IE8 with the promise of being standards compliant and the hope that the days of fixing perfect code for an imperfect rending engine are gone.

In the wake of a record European Commission fine for failure to comply with interoperability standards, Microsoft on Monday reversed course and announced that it will make Internet Explorer 8 (IE8) compliant with Web standards interoperability. [source]

IE8 has been said to pass the Acid2 test, a tool used to test the rendering engine of a browser.

Acid2 is a test page published and promoted by the Web Standards Project to identify web page rendering flaws in web browsers and other applications that render HTML. It was developed in the spirit of Acid1, a relatively narrow test of compliance with the Cascading Style Sheets 1.0 (CSS1) standard, and was released on April 13, 2005. Like Acid1, a web browser passes the test if the way it renders the test page matches a reference rendering. [source]

At work we do a lot of work on the GUI of the product and making sure that it works just as well in IE as it does in FireFox etc. has always been a headache. So, I went ahead and got myself the recommended update from Vista to install IE8 to see what the browser was going to change.

We were working on a new menu system that was based on an unordered list and would be styled with CSS and crafted with Javascript to bring the menu to life (pop ups etc.). The menu worked 100% in FireFox as expected and the design followed already tried and tested methods of achieving the end result in terms of CSS.

In comes IE8 and smashes it to the ground in a pile of sad little CSS dust.

We spent quite a while changing things such as display:none to visibility:hidden and have had to add an entire block of Javascript code to literally fix the style issues we had for IE8.

The funny part of this? The menu worked 100% in FireFox initially and continued to work 100% while we were making all the CSS changes. It just worked as it should have in IE8.

I understand that all browsers will have differences no matter how standard compliant they all claim to be, that’s just life for a developer but generally the differences between FireFox and Opera for example are minimal and the design is still acceptable.

Something else that crept up was to do with the Javascript engine. I will admit first that it was a bug in the code that caused the problem, but FireFox didn’t lock up, eat all the memory and literally hang my computer when I pressed the “Alt” key on my keyboard. When you press Alt in IE8 (if you use it as is out the box), it brings down the “File Edit” menu which changes the size of the window the site is shown in. The problem came in because we had an event listening for this change in window size to re-position the menu and IE8 just crapped itself on this event. As I said it was a bug in the code, but still, it could be quite easy for someone to maliciously exploit the handling of this problem and it has already been done in the past.

To sum it up, I’m disappointed with IE8. I thought it was going to change my views on developing for IE, but so far it hasn’t and I hope the final release will change all this.

Reblog this post [with Zemanta]

Popularity: 23% [?]

If you enjoyed this post, make sure you subscribe to my RSS feed!