And thus, Microsoft bites itself in its behind with Metro. As you all surely know by now, the Metro environment in Windows 8, and its accompanying applications, need to follow a relatively strict set of rules and regulations, much like, say, applications on iOS. For one type of application, Metro has already proven to be too restrictive and limited: web browsers. Microsoft has had to define a separate application class [.docx] – aside from Metro and desktop applications – just to make third party web browsers possible for Windows 8.
Web browsers and Windows have a troublesome history. Internet Explorer was supposedly tied so deep into Windows, it couldn’t be removed, according to Bill Gates. This put the competition – Firefox, especially – at a severe disadvantage. So much so, even, that the European Union forced Microsoft to implement that silly browser ballot box thing.
In trying to bring the restricted iOS-like environment from Windows Phone 7 to the desktop, Microsoft ran a risk of pissing off the European Union again. Since the Metro environment imposes numerous restrictions that would hinder the development of a decent browser, Microsoft has created a new application class, called “Metro style enabled desktop browser”.
This type of browser will work in both the traditional desktop, with a traditional interface, as well in Metro, with a fancy modern Metro interface. The user then gets to decide which variant of the browser he uses – similar to how Internet Explorer 10 currently works in Windows 8.
Aside from the new WinRT APIs, such a Metro style enabled desktop browser also has access to the full Win32 API, which it needs for things like optimal HTML5 support, as well as support for multiple background processes, JIT compiling, and other browser-specific stuff (like background downloading of files). A Metro style enabled desktop browser runs at the medium of low integrity level.
As great as this all sounds, there is one downside: such a browser will not work in Metro unless it is set as the default browser. This is an artificial limitation set by Microsoft. For what it’s worth, Internet Explorer 10 also suffers from this limitation – but there’s no word yet on if, say, an OEM could opt to ship a different browser as default.
This stuff all came out because the Firefox team has announced it’s working on implementing such a Metro style enabled desktop browser. However, Microsoft has provided very little information on this obscure third application class as of yet, making it very hard for browser developers to properly target it. Of course, Windows 8 is still in development, but considering the company’s past behaviour, it’s easy to assume they’re doing this on purpose.
“As a developer, your job gets pretty hard when you do a Google search for topics surrounding this barely supported third Metro application type and consistently get zero, one, or if you are lucky, two search results. All results being only slightly on topic,” Mozilla developer Brian R. Bondy writes.
Another uncertainty at this point is the ARM version of Windows 8. A Metro style enabled desktop browser must be distributed the old-fashioned way as opposed to through the new Windows Store, and since the traditional desktop is locked down on the ARM version (i.e., it is not possible to install applications outside of the Windows Store on ARM), this currently means Mozilla and Google will not be able to distribute Firefox or Chrome for the ARM version of Windows 8.
All this illustrates just how troublesome it is to implement a locked down iOS-like My First Operating Systemâ„¢ on a versatile, general-purpose computer. What about the HTML rendering engine inside an email client? Or do we need another application class for Thunderbird, a “Metro style enabled desktop email client”?