March 14, 2008
Turns out that later-model Flash Player 9 ActiveX installers "fix" the registry to prevent IE users from downgrading.
So if you are running the latest and greatest but need to test an earlier version, say the first release of Flash 9, it will install but won't run. Starting with r45 the installer will helpfully complain and then refuse to complete.
Preventing users from downgrading protects same from security vulnerabilities, but makes the life of a tester difficult. The fix is to run the official Flash Uninstaller from the command line while passing a special argument that tells it to delete the relevant registry settings. Simply open a command line prompt, cd to the Flash Uninstaller's directory and run the following:
Now you can confirm that your baseline r28 detection works and your interactive does what it's supposed to. Angst lifted.
March 6, 2008
IE8b1 released, Literally Breaks With The Past
This week Microsoft released a public beta of Internet Explorer 8 for developers, which promises to fix long-endured standards compliance issues while breaking all of your sites.
Don't panic -- this is actually a Good Thing™!
Why? Because better standards support means easier/faster development and maintenance. And breaking all your sites? A stop-gap solution is trivial to implement (see below) and provides an opportunity to renew old client contacts and relationships which could lead to more work. Perhaps now is a good time to consider/pitch that redesign?
Some of IE's rendering implementation was based on early or contested interpretations of standards, and many sites rely on or at least accommodate those interpretations. A new version of IE that correctly interprets modern standards will break such sites to varying degrees.
Recognizing the cost that true compliance incurs for site owners, Microsoft provides multiple render modes triggered by special meta tags added to pages that need them.
<meta http-equiv="X-UA-Compatible" content="IE=7" />
The example above tells IE8 to render the page that contains it in IE7 mode. Other available modes are "5 (a.k.a. Quirks mode)", "8", and "Edge", which allows the latest renderer, which at this time will be the same as choosing "8". If your entire site breaks on IE8, you can alternately choose to configure your server to send a custom header to accomplish the same thing. Full info can be found in the Defining Document Compatibility tech note.
Besides standards support, there are tons of new features I won't cover now, but developers will appreciate the new built-in and expanded Developer Tools, one feature of which allows easy preview of a page in IE5, IE7, and IE8 modes. Assuming each mode presents a true representation of each render engine, this may save platform testing time as well. You can use this to easily determine whether your site breaks in IE8 since it's simple to switch back and forth between IE7 and IE8 renders.
In closing, how long do we have until IE8 is actually released and we absolutely have to address the coming impact? If we assume IE8 will experience the same life cycle as did IE7, we can expect an end of year release for IE8.
For more information:
The IE Blog is an excellent source of info direct from the developers on the Internet Explorer team.