IE8 Beta 1 - A Review

Product Review: Internet Explorer 8 Beta 1

Microsoft released the first Beta for Internet Explorer 8 the other day, so I downloaded it and installed it on a virtual machine so I could test it out. This post records my first impressions, even if it took me two weeks to actually finish it off and publish it :)

First stage was the install, which looks much the same as the installer for IE7, I selected 'Choose my settings' to make sure I didn't miss anything.

The first option is also familiar from IE7, nice of it not to change my default search provider to Live anyway.

Next was 'Select activity providers' - this is a new feature in IE8, more on this below.

The 'Safety filter' - much the same as in IE7.

Finally, because I'd selected 'Go online and select more activity providers,' I got to the activity providers page.

Although all the options come from Microsoft, there were a few examples which weren't driven from Microsoft's data. I selected Yahoo! as my mapping provider as well as a few other non-standard ones.

So the first test, how does IE8 render my website? Answer, quite well actually!

The home page looks a lot more like it does in Firefox than it does in IE7 (below). Though a visual test of one web page is hardly thorough, it does seem likely that this will be MS's most standards compliant browser yet.

The blog itself also looks OK, no major issues for me so far!

However, on the JS front, things were not quite so rosy, mostly thanks to some of the many 'blog decorators' I've got going on in the sidebar. But this gives me an opportunity to show off one of the first things I really liked about IE8 - the new 'done with errors' dialogue.

You can expand to see all the errors in a list (in IE7, only one error shows at a time) and it also has that very convenient 'Copy details to clipboard' button.

That's not all on the error handling front, I got to see the other neat new feature, which seemed mostly to get caused by The initial error message is much like before:

But what it does after that is a bit more clever. Each tab in IE8 runs in a separate process, a feature known as LCIE, so a crash is not fatal to the browser. As you can see in the image below, when a tab crashes it is simply restarted and the rest of the tabs are unaffected.

There's also a whole collection of (very Firebug like) developer tools built in to the browser, allowing JScript debugging without installing one of MS's Visual Studio variants. The tools menu as also had a bit of an update, to emphasise the privacy features.

Activities are a major new feature of IE8, it's basically a way of taking advantage of other resources on the internet to enhance the information you can see on your current page, similar to the way the Firefox Operator Add-on is supposed to work with Microformats. For example, below I have selected the post code on my 'About Us' page and then right clicked - I get a choice of 'activities' for my selection.

I select 'Map with Yahoo!' and a map appears in a floating frame.

There is apparently a more direct interface than right clicking, but I couldn't get it to appear reliably. Selecting some text sometimes causes a little button with an arrow on it to appear:

So enough praise, there are several things I didn't like so much. First up, WebSlices - basically a sort of single item RSS feed embedded in a web page. This is quite exiting for the Microformats community because the format for embedding the item is based on hAtom. Unfortunately it isn't actually valid hAtom, and also seems to be solving the exact same problem as Microsummaries which has been in Firefox for over a year. So with two existing (though admittedly de-facto) standards to choose from, Microsoft chose to implement neither of them and go their own way. There may be very good reasons for this, of course, but it's the sort of thing that makes you wonder how serious they really are about following web standards.

The next point of complaint is the IE7 mode. Generally a good idea - switch the browser back to an older rendering engine so that any pages which are seriously broken by IE8's new standards compliance have a chance of working, users have a simple 'make this site work' button to press. The implementation, however, is just plain bad. They've gone to all the trouble of making their browser crash proof with the LCIE stuff, but then have a feature as important as 'Emulate IE7' force you to restart the whole browser before it has any effect. So if you have eight tabs open, and only one website which doesn't work, you still have to close all seven other tabs to get that one page to work.

As a web developer you can trigger the IE7 rendering mode from your web page by either sending an HTTP header, or using an http-equiv meta element in your HTML:

<meta http-equiv="X-UA-Compatible" content="IE=7" />

Be warned however, the browser, even in 'IE7 mode', still believes it's IE8 in my (limited) testing. So if you're using conditional comments like these, they won't be picked up:

<!--[if IE 7]>
<link rel="stylesheet" href="/styles/ie7.css" type="text/css"/>

Overall then, I'm quite impressed. The activities stuff is quite smoothly implemented, the improvements for web developers are excellent and the move towards standards compliance is commendable - 4 out of 5. I hope they continue to make improvements before the final release.
Technorati tags for this review: