For some months now, Microsoft has been promoting the use of standard HTML5 that avoids targeting specific browsers—particularly WebKit-based browsers like Chrome and Safari—and instead works well in any browser, including its own. The company today launched a new site, modern.ie, to further promote this agenda and provide tools to help Web developers.
The site has three main components to it. The first is a scanner that examines sites and detects a laundry list of compatibility concerns. These cover a range of issues, from using out-of-date versions of popular JavaScript libraries such as jQuery to using browser-specific CSS without also including standard cross-browser fallbacks.
One slight peculiarity of this system is that if the scanner detects certain compatibility issues, rather than reporting them directly it requests that you get in touch with Microsoft engineers after demonstrating that it's your site, apparently for "security and privacy reasons."
The second component is a tie-in with a company called BrowserStack. BrowserStack offers a service that lets you view your site in different browsers running on virtual machines hosted in the cloud. It's a commercial service, but through modern.ie developers can sign up for a three-month free trial.
If you'd rather do your cross-browser testing in-house, Microsoft is providing a bunch of virtual machines for various virtualization platforms (Hyper-V today, VMware, Parallels, and VirtualBox coming soon), each containing Windows and Internet Explorer, with VMs for Internet Explorer 6, 7, 8, 9, and 10 all available.
Third, the site is providing guidelines on coding best practices.
Underscoring all this is Microsoft's continued push to get Web developers to start thinking about Internet Explorer 10, while at the same time not giving Internet Explorer 10 special treatment. That's not a contradiction; Microsoft wants developers to stop doing things like detecting specific browsers and instead detect the presence of specific features.
Internet Explorer 10 has better standards compliance than any of its predecessors, but sites doing browser detection will ignore its new features and capabilities, because they'll implicitly assume that Internet Explorer 10 offers the same functionality as version 9 or older. With feature detection, sites will automatically take advantage of newly supported features, whatever browser is being used.
This also explains the focus on JavaScript library versions and CSS properties. Older versions of jQuery, for example, have bugs that affect Internet Explorer. Newer versions fix those bugs. The very latest version of jQuery, jQuery 2.0, in fact contains fewer workarounds for Internet Explorer issues than any other browser.
When it comes to CSS, many sites use WebKit-specific properties, prefixed with -webkit
. Many of those properties have equivalents that work in Firefox (with a -moz
prefix), Opera (with -o
), and Internet Explorer (with -ms
); many more are available as standard CSS without any prefix at all. Encouraging developers to use more than just -webkit
means that their pages will offer more features in more browsers.
As with the rest of Microsoft's HTML5 standards advocacy, modern.ie may be a little self-serving—Internet Explorer happens to be particularly hard-hit by bad browser detection, for example, and some of modern.ie's advice is tailored specifically to improving Internet Explorer compatibility—but the best practices that Microsoft is espousing are genuine. The guidance Redmond is providing is useful and its advice is legitimate. Whether developers take notice remains to be seen.
reader comments
83