Mozilla is already working on a version of Firefox for Windows 8 Metro that will be focused on touch interaction. It hopes to have a proof-of-concept version available in the second quarter of this year. The big question is "will Microsoft level the playing field and allow Firefox the same privileges that IE has"?
Microsoft has built itself a nice little monopoly that could act as a big boost for its own browser.
WinRT/Metro is the new and exciting part of Windows 8 and. while in theory you can write either a Metro or a Desktop application for Windows 8. you don't get that choice if the target platform is an ARM machine. In the case of Windows 8 On ARM - WOA - we can all write a Metro app, but only Microsoft can write a desktop style app.
One of apps that Microsoft plans to include as a Metro/Desktop or "MetroTop" application is Internet Explorer. What this means is that other browser makers are at a serious disadvantage. They can choose to continue to develop their desktop browsers or create a Metro version but they can't create a MetroTop app.
This is the problem that Mozilla is now confronting and it seems to be lacking a lot of information. One thing that is apparent is that Microsoft isn't helping much.
Mozilla has published its Firefox 2012 Strategy & Roadmap outlining plans for delivering a proof-of concept version of Firefox for Windows 8 Metro desktop in Quarter 2 with Alpha and Beta version in the second half of the year.
Windows 8 contains two application environments, "Classic" and "Metro". Classic is very similar to the Windows 7 environment at this time, it requires a simple evolution of the current Firefox Windows product. Metro is an entirely new environment and requires a new Firefox front end and system integration points.
The feature goal here is a new Gecko based browser built for and integrated with the Metro environment.
Firefox on Metro, like all other Metro apps will be full screen, focused on touch interactions, and connected to the rest of the Metro environment through Windows 8 contracts.
At this stage of the project there are a lot of questions, including whether the Firefox front end on Metro should be built in XUL, C/C++ or HTML/CSS/JS. Given that XUL is essentially HTML you might well think that this would make it easier to move to Metro but the new environment is far from a standard HTML5 container.
Many other programmers will be faced with the sort of design decisions that confront Mozilla in contemplating Windows 8. Staying with a desktop app has the advantage of simplicity, as virtually no change is required, but moving to Metro means that you can no longer support overlapping windows and you don't have access to the Win32 API. This is like starting from scratch. However, if you want your app to be on all Windows 8 platforms you need to support Metro. Currently only Microsoft will be able to offer a browser in a desktop mode on ARM hardware. Firefox has no choice but to move to Metro if it wants to be available on WOA.
However, even as a Metro app, the new version of Firefox would be fighting with one hand tied behind its back against the MetroTop version of IE.
"On Windows 8, IE10 is both a metro app and a regular desktop application. When run as a metro app it does things that are known to be off-limits for metro applications."
So Mozilla is looking to Microsoft to provide it with the same privileges as Internet Explorer has. Put another way, Firefox needs to run as a Medium level integrity process with full use of the Win32 API.
"In general, browser vendors would prefer access to the system similar to that of Internet Explorer 10. From all outward appearances IE is currently able to bypass security restrictions of the Metro sandbox by running as a medium integrity process, effectively running as a standard Windows desktop application with additional extensions which allow it to latch into the Metro interface.
Vendors feel changes should be made to the current restrictions which will facilitate the ability of 3rd parties to compete with Microsoft's products in this new environment."
Of course this is not just a problem for Mozilla - both Google and Opera are going to want equal treatment, as are the makers of any other type of app that Microsoft decided to include as a MetroTop app.
You can run, but you can't hide. It is amazing how innocent technological features turn out to have a hidden dark side. So it is with the battery API. Designed to help out with running out of juice, i [ ... ]