Thursday, May 17, 2007


Again, bad blogger, but for the past few weeks I've gained an increased hatred for Internet Explorer. I never wanted to talk about work, but I need to vent.

See, we needed to get a demo up and running, so the tech lead made the call to focus on one browser: Firefox. It was simply easier for us to get stuff working Firefox than IE. Stuff got done quick and the demos went well. However, the customer has standardized on IE, so we now have to make sure everything works in IE as well. Based on past experience, I didn't think this would be that hard. Unfortunately, that wasn't true.

You see, before this the most complex Javascript I worked on was an AJAX-like app with form validation and dynamic form creation that was based on a simple design. This, on the other hand, is much more complex with a significant amount of dynamic content. And with the increased complexity are increased headaches.

All I have to say is "My god what the f*** were they thinking!" Here's the first example: if you want to get/set the class name, according to the spec, you use something like "setAttribute('class', 'foo');" Guess what? That won't work in IE. Instead of 'class' you use 'className.' Huh?

Yeah, I've hit a number of bugs that have been found by others, but aren't well documented. I found a couple pretty easily however a few have caused me a couple days of hunting and searching. Needless to say, it's been a trying journey. The good news is that I have squashed or worked around most of the bugs, however it's hard to believe how inane some of them are. Luckily one of the things I've managed to do is create a some functions in libraries to work around some of the issues, like the get/set-Attribute bug.

Well, this experience has convinced me on one thing: if I ever attempt to create a highly dynamic web application, I'm not going to develop for IE. The level of frustration I've experienced is not something I want to deal with at work let alone my personal time.


Post a Comment

Links to this post:

Create a Link

<< Home