IE8 hands on: a developer’s view

Microsoft this week announced that they had reversed their decision on the whole backward rendering fiasco, and today released details of their plans for IE8.

I think Microsoft have earned themselves a hearty pat on the back, and perhaps even a nicely baked brownie and a cuppa tea. Assuming they deliver on what they’re promising.

The particular thing of interest to me was the integrated web development tools, so I’ve gone through it in some detail and reported here what I’ve found.

Debugging Tools

The biggest point of interest is the versioning combined with the development tools. This seems to imply that since we can change the rendering engine in IE8 using a meta tag, then we should be able to use the same debugging tools against the IE7 rendered version of the page.

There is, however, a snag: if you look at the versioning details you’ll see that it only supports rendering as IE8, IE7 and IE5…no IE6.

IE6 is browser most in need of these development tools. That’s a real shame.

The debugger feels like a hybrid of the Visual Studio Wed Developer Edition and the old Windows Script Editor. It’s all built in to IE which is great – no booting up extra apps, and ultimately, being able to set breakpoints and stepping through is perfect for finding that deeply set bug.

IE 8 Debugger window

The CSS treeview is very cool and gives you a good idea where an element is deriving it’s style from. You can also see in real time the effect of disabling a particular style.

However, the debugger is missing some functionality the Developer Toolbar had. In particular the ability to add styles to the DOM element. Maybe I’ve missed the functionality during my time playing with IE8 – someone please correct me if I’m wrong – but it doesn’t seem to allow me to edit styles on the fly.

Does IE8 Overwrite IE7?

Yes.

However, it does let you emulate IE7 via toolbar button. This is good.

However (again), if you’re running a stand alone IE6, is seems to be okay, but the actual application itself might be a little broken. For example, going to the about page for IE6 throws a JavaScript exception…odd. This kind of behaviour makes me suspicious.

JavaScript 1.6

Sadly, it doesn’t look like it’s there. I ran a few tests probing for forEach and map and the like but it doesn’t look like they’re in place.

There are also reports that Microsoft’s attachEvent is here to stay, so we shouldn’t go removing our currying just yet.

CSS Support

IE8 is supposed to cover all of CSS 2.1. Andrew Dupont has posted with a CSS validator that runs the query against IE8′s querySelector function.

From my own testing, it looks like all of CSS 2.1 is in place, but Andrew has pointed out that :first-child isn’t being supported. I’m not sure if I’ve tested incorrectly, if it’s a discrepancy in versions or what, but it’s definitely worth giving it a test yourself to be sure.

HTML Support

I didn’t expect the HTML to be a problem, but looking at my blog in IE8, I can see a few small errors. The first thing that stood out to me, is that it looks like the hasLayout bug is still in place. However, using zoom: 1; didn’t seem to shift it. I’m not an expert here, so I’ll leave this one to colleagues, readers and the experts alike.

Also, where a legend element has always sat on the fieldset border – in IE8 it doesn’t:

Legend in IE8

Wrap Up

Overall, I think IE8 is an exciting release. John Resig also points out IE8 will have ARIA support, which, as he suggests, shifts the focus back on to the other browsers to raise the bar.

This release from Microsoft has sparked as much interest in me as when IE4 was being touted about and we first started being able to play with DHTML.

I genuinely think that Microsoft have a chance of regaining respect in the development community again if they keep this up. I am, however, not going to hold my breath for too long. We still need to get IE6 under the carpet, and that’s still years away – particularly in the UK corporate market.

7 Responses to “IE8 hands on: a developer’s view”

  1. I think IE8 looks very exciting but unless it gains significant market share form IE6 and 7 then all this good work could be for nothing.

    IE7 had tabs which are a significant improvement for users and even then it has struggled to kill off IE6. I’m afraid Microsoft haven’t really got killer features that would mean a user will have to upgrade. And for all the praise being given to Microsoft (even though they’ve ignored developers for many years we’re quick to give them pats on the back) it could be for nothing if users don’t bother to update.

  2. @Simon – although I agree in principle, I would never claim that IE8 is the silver bullet.

    IE6 is here to stay for the the immediate future, but not for the long term future – and that’s the point.

    It’s more that it’s the right steps. IE7 was a step in the right direction: away from IE6, and IE8 is going to a massive step towards standards. This, to me, means that in the years to come, Microsoft’s browser won’t be the problematic one.

    Obviously IE7 hasn’t got the take up as IE6 because it hasn’t been around as long. Since Microsoft have said that they want a more regular release cycle and they’re obviously listening to the development community, I believe they’re really starting to turn their reputation around.

  3. “IE8 is supposed to cover all of CSS 2.1.” Ha ha, not likely. No browser supports 100% of HTML4 and CSS 2.1, and it’s doubtful that any ever will. There are obscure pieces that browser manufacturers will simply declare too irrelevant to be implemented. Try laying out a printed page using CSS print declarations, or try placing a after your section in your table.

    Just pointing out that the best we can aim for is 99%, especially because the technology changes so quickly, and we want these companies to keep implementing the latest and greatest.

  4. @Matt – fair point. I used ‘supposed to’ because MS are claiming to have it covered. I’d definitely like to see some tests – and to be honest, CSS print declarations is a great place to test coverage.

  5. Remy, re the hasLayout issue I read that IE8 is using an all new rendering engine which should mean that hasLayout should not be an issue, i.e. they are no longer using the hasLayout methodology.

    I guess this is still a beta and this may not have been sorted out yet but I will be bitterly disappointed (yet again) if they don’t sort out these issues. Try setting a width, height or position (absolute/relative) to see if it sorts out the hasLayout issue.

    Pretty sure zoom is only recognised by IE anyway so they “may” have dropped support for this in IE8.

  6. @Chris – I suspected so. However, there’s definitely something amiss. This web site has a few hasLayout fixes (as you well know – cheers!) – and there were problems around those elements that were fixed with zoom: 1 in older versions of IE.

    Would be interesting to mock up a few tests and compare screenshots.

  7. [...] bastard child needs your love, but surely not forever? Simon raises a point that even though IE8 is on it’s way – due to IE6’s market share, IE8 is almost good for [...]

Leave a Reply
Not required

CODE: Please escape code and wrap in <pre><code>, doing so will automatically syntax highlight