While a new, standards-friendly, version of Internet Explorer must be greeted, I can’t help feeling the usual tired anxiety that comes with any new browser release. Yes, it’s true that IE8 comes with many bug-fixes, CSS rendering improvements, and debugging tools for the developer, but this is still going to be accompanied by numerous headaches.
The first reason for this is quite simply that IE8 is now the 3rd version of IE that web programmers are currently expected to develop for. While there are occasional stories of IE6 disappearing this year, it does seem that web developers will be having to build sites for IE6, IE7, IE8, Firefox 3, and Safari 3 (and soon Safari 4) for at least the next couple of years. I’m a little skeptical that IE6 will completely go away: according to Microsoft, Windows Mobile will, and will continue to use the IE6 engine for its ‘Internet Explorer Mobile 6′ web browser. And while Windows Mobile web browsers aren’t the most important units that access our web pages, their popularity is only set to grow.
But rather than just whinge, let’s take a quick look at some of IE8′s new features that developers might find worth noting:
Developer tools

IE8′s developer tools are a vast improvement on the older developer toolbar add-on, and has a lot of the functionality that developers are used to in Firebug. While CSS and HTML developer features are always going to be useful, its JavaScript debugging interface could be a fantastic tool for dealing with JavaScript errors. As we previously blogged, if you have a JavaScript problem in IE, it’s incredibly difficult to fix as there have been no helpful error/debugging consoles. However, it may be possible to use the Javascript debugger in this tool to fix problems that occur in all versions of IE, not just IE8 (as it’s likely that the same errors will be occuring in all versions).
Accelerators and slices
Two new features that could be of use to site visitors and developers alike are worth investigating. An ‘accelerator’ is a service that can be accessed by simply selecting items on a webpage. After selecting, the user can choose from a series of services, such as emailing the selection, translating it, mapping it, etc.

Web slices are sections of a webpage that a user can subscribe to. Developers can add microformat code, which will tell the browser what information needs to be in the slice. Users can then subscribe to these page slices through their bookmarks toolbar, giving them updated text or images from the page. I could be quite wrong, but the concept seems to be similar to Safari’s ‘clips’ feature, in which you can take a section of your page and show it in the Mac OS X dashboard. The clips, however, don’t require extra coding from developers, and are also exact representations of the page that the slice has come from… which seems like a better idea. Anyway, it’ll be interesting to see how slices are going to be used by the web community.
Rendering
There’s been a lot of interest and debate over how IE8 will render pages, but the final upshot is that it’ll render web standards far better than any other previous version. Theoretically this is great news, but what about all those sites that have been developed to work in earlier, non-standards based, versions?
IE8 has provided a few ‘solutions’ to this problem. Firstly, if developers add the following code into the header of a page…
<meta http-equiv=”X-UA-Compatible” content=”IE=7″ />
… then IE8 will render the page using ‘IE7 standards mode’.
Alternatively, the browser’s default rendering mode (‘standards mode’) is used for all sites that have a valid, up to date, DOCTYPE header. This standards mode is a massive improvement on earlier versions, particularly in its rendering of CSS, and its elimination of the ‘hasLayout’ property. There are plenty of new features in CSS in all recent browsers that developers are getting excited about, and we’ll probably blog about them at a later date.
Finally, if there is no doctype header, IE will render in quirks mode (in IE5′s rendering style).
IE8 has also introduced a ‘compatibility view’ which, as far as I understand, allows users to switch between viewing a site in IE8 and IE7 standards modes. Theoretically, if a site seems to look odd, a user might be encouraged to click the compatibility view icon, and they’d be able to see it working properly, because the site had been designed for an older version of the browser.
Two initial worries…
Firstly, developers will have to re-evaluate all previously designed sites, and either edit the sites’ code to work in both versions, or to add the ‘IE7′ meta tag. Updating code for IE8 will almost certainly be time consuming, but adding an IE7 meta tag will surely cause problems for any future updates of the browser.
Secondly, the average user of Internet Explorer is unlikely to know (or care) about the concepts of the compatibility view switch. By default, its icon is prominent in the IE8 task bar, which probably means that users are quite likely to click it out of curiosity, and thus change the way the browser renders pages. So even if a developer makes a page suitable for IE8, it isn’t guaranteed to work as expected when a user views it.
Currently, we already have the problem that even within one browser, there are many ways that a user may view a page (e.g. different text viewing sizes, different accessibility settings etc.)… And now there are even more.
Overall however, IE8 is probably an improvement in browser technology, and may help push new standards of CSS and HTML programming… but we’ll just have to wait and see how use of the software does develop.