With an overwhelming share of the browser market, Microsoft's Internet Explorer (IE) cannot be ignored. While the final version of IE7 is due later this year, IE7 Release Candidate 1 is publicly available now. This release gives you the opportunity to be proactive and identify any problems that may arise with your applications as viewed in the new browser.
Here's a brief look at IE7. I spotlight areas and features that may pose problems to developers, as well as tools available to help with application development.
Keeping up with the competition
There is no doubt that Mozilla's Firefox turned up the heat on Microsoft to produce an improved browser. A quick look at the IE7 interface provides ample evidence of this, especially when you see these features: the new tabbed interface, RSS support, an expanded viewing area, and enhanced anti-spyware tools. These are great additions to the browser, especially from a user's standpoint, but there are many more enhancements that may have a direct impact on your everyday Web development duties.
The Web development community has been clamoring for more extensive standards support in IE for quite some time. IE7 does not provide full CSS 2.1 compatibility, but it does include fixes for bugs in IE6. This is evident by its failure to pass the Acid2 browser-compliance test developed by the Web Standards Project.
Microsoft blames backward-compatibility problems for the failure to provide true Web standards compatibility. Yes, developers using older, out-dated Web development techniques are to blame for the lack of true standards support in IE7. Yes, Microsoft disagrees with the Web development community about the fact that CSS is the way to go when developing Web-based interfaces.
There are too many CSS enhancements and bug fixes in IE7 to list in this article, but a good introduction is available on MSDN. It provides details of CSS improvements and any CSS problems that may arise with IE7.
Standards support is one area where IE7 seems to fall short, but the tools available to aid development are, at first glance, impressive. Here is a quick overview of the development tools available with IE7:
- Application Compatibility Toolkit: Helps developers view an application compatibility log for IE7. It also provides a wealth of information related to IE7, lists known issues, and details how to handle issues that may arise.
- ExpressionFinder: Locates specific strings across Web pages and referenced files. Microsoft promotes it as a great tool for locating CSS hacks no longer supported in IE7.
- Developer Toolbar: Includes tools for manipulating and troubleshooting Web pages.
- Fiddler: HTTP Debugging Proxy allows you to log all HTTP traffic between a computer and the Internet. It installs as a separate application available via an IE7 toolbar selection.
- User Agent String Utility: Allows you to manipulate the user agent string that identifies the browser used when viewing sites. The tool allows you to change the setting and identify any sites blocking IE7 (and report these sites to Microsoft).
The biggest addition is definitely the Developer Toolbar. The following is a list of what you can do via the IE7 toolbar:
- Explore/manipulate a Web page's DOM.
- Locate specific elements within a Web page.
- Selectively disable specific IE settings like the browser cache, image display, cookie support, CSS support, popup blocker, and so forth.
- View HTML object class names, ids, and other details.
- Outline tables, cells, images, and selected tags.
- Validate HTML, CSS, WAI, and RSS feeds. The selected Web page is submitted to a validation site with the results displayed in a new window.
- Display image information: dimensions, path information, and alternate text.
- Resize browser window to a new resolution.
- Selectively clear the browser cache and saved cookies.
- Get links to W3C specifications and IE-specific information.
- Display a ruler to assist with page layout/design.
- Selectively enable/disable CSS parsing.
While I am not a big fan of IE, I do like IE7's Developer Toolbar. It is an excellent addition to the browser. The ability to view the Web page's DOM provides a great view of a page's structure and elements. Another great addition is the Outline feature, which highlights the specific element (table, div, etc.) within the browser window. One last feature to note is the ability to resize the browser window to another screen resolution. It makes it easy to get feedback on your application's appearance within a specific resolution.
Many fans of other non-IE browsers will point out that such tools have been available in other browsers for some time. While this is true, it is nice to have it available within IE.
My overall opinion of IE7
I think IE7 is a major improvement over its predecessor. This is most evident from the user's standpoint because many features—such as the tabbed interface, built-in RSS reader, and increased browser window space to name a few—enhance the browsing experience. From a developer's view, I am saddened by Microsoft's inability to fully embrace standards with their latest browser. For this reason, we will be forced to continue to utilize CSS hacks and other workarounds to ensure our Web applications perform as desired in IE7.
More to come
The release of a new version of IE may be an event you would like to ignore, but its market dominance makes intimate knowledge of it necessary for all Web developers. While the current release candidate provides a review of what the final IE7 release should look like, there may still be changes incorporated into the product—albeit there will probably be bug fixes. A good way to keep up with IE7 developments is via the IEBlog hosted by Microsoft.
Miss a column?
Check out the Web Development Zone archive, and catch up on the most recent editions of Tony Patton's column.
Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.