Building Firefox for Windows 8 Metro


A number of people have been asking how we intend to build Firefox for the Windows 8 "Metro" environment, and whether or not it would be a separate product from Firefox for Windows 8 "Classic" environment. Here's where we're going with this:

Windows 8 Consumer Preview introduces a new programming paradigm called Metro style. Metro style apps offer a clean, polished user experience that push app experiences to the forefront, and immerse the user in a full screen environment that's tailored to the user's hardware and context. Windows 8 Consumer Preview also continues to offer desktop app experiences as found in previous versions of Windows. In Windows 8 Consumer Preview, the browser that the user sets as the "default" for handling web pages and associated protocols may be designed to access both the Metro style experience as well as the traditional desktop experience. This type of browser is called a "Metro style enabled desktop browser". This guide describes how to create such a browser. The information in this document applies specifically to browsers that will be made available to end-users as the default viewer for the http:// protocol and associated web pages and protocols on the x86/64 architecture.

That's from Microsoft's Developing a Metro style enabled desktop browser [DOC] documentation. The document goes on to describe a "Metro style enabled desktop browser" as:

A desktop browser that chooses to participate in the new Metro style experience when the user has expressed preference for the browser to do so. Such a browser can provide HTML5 rendering for webpages and service HTTP / HTTPS requests. By definition, such a browser has full access to Win32 APIs for rendering HTML5, including the ability to use multiple background processes, JIT compiling, and other distinctly browser-related functionality (like background downloading of files).

So what else does this document say and what will we be building? First, it describes a development path that should give us system-level parity with IE 10. IE 10 is not a traditional Metro-style app. It is actually sort of a hybrid program that bridges both the Classic and Metro environments and is built using both the WinRT and win32 APIs. This is something that the browser vendors discovered last year and it's been our assumption, validated by the document above, that us third-party browsers would be afforded the same capabilities.

Second, we should be able to build a single product, that when installed into the Classic environment via traditional means -- a download from, will be able to become both the default browser in the Classic environment and in the new Metro environment. We'll, of course, have a Metro-specific front-end that fits in with the new environment, but we will not have to deploy two completely different browsers.

Third, if we do our job, Firefox on Windows 8 Metro should be every bit as capable and integrated with the system as Internet Explorer.

Microsoft had an awful big head start with IE 10 but now that we know what's possible, we hope to close that gap. There are still a lot of questions to answer (what language will we use for the Metro front end? can we integrate web apps with Windows contracts? will any of this transfer to the ARM version of Windows, etc.) and quite a bit of work ahead of us, but we've already started our proof of concept work and we're committed to bringing a kick-ass Firefox experience to Windows 8 Metro.

If you're a programmer or a designer interested in helping build the next generation of Windows Firefox, drop me a line at


only one question remains: firefox on windows on arm devices.

is microsoft allowed to block that? what does EU/DoJ has to say about that???

Good that you guys are getting onto a native metro UI faster than you did with Vista/7. The native looking UI didn't really appear until Firefox 4. (the Firefox 3.x series look awful on Aero)

Shame that metro is just awful to use on a desktop. I've been trying to use it, I really have.. it took me ten minutes to figure out how to restart/shutdown.. if that isn't a bad sign I don't know what is.

I really hope metro is optional (as in you can disable it and use a classic start menu etc) in the final release of windows 8, because using it on a desktop pc with a mouse and keyboard is an exercise in frustration.

Thanks for the update, Asa.

Thanks for the update, it would be great if you could provide a kick ass browser experience on metro, including ofcourse latest HTML5 capabilities, Flash, Java and other add-ons.
Hope this will work for you

If you want to provide a single package for both desktop & metro apps, then you have clearly misunderstood how metro apps work.

Metro apps are meant to be installed from the store and updated through the store, it solves many issues that Firefox is trying to fix such as silent update, even without admin rights.

You should consider Firefox Metro as a brand new application, not as a Firefox for Window ++ edition; hence you should separate their setup.

IE10 works the same way on ARM, so I think you should be able to put a desktop version of Firefox on there as well. It wouldn't matter if you couldn't, though; it wouldn't be able to use plug-ins.

Anthonyda, you're wrong here. There are three kinds of apps in Windows 8. There are "Classic" apps, "Metro" apps and "Metro styled desktop enabled browser" apps. Microsoft has created a third category explicitly for browsers. Please read the document attached before presuming that we don't know what we're talking about. Thanks.

From what I have seen of features and reviews of Metro I will simply not adopt this interface. If I have to I will simply never ever update from Win 7. It may be nice for a 5" screen (I don't know, like many PC users we don't do that), but for a desktop with a 24" or 27" (or anything over 5" actually, I believe the technical term for it is that it sucks. Big time. Is MS insane? Have they no contact with the millions of users that just want to get their work done? They expect, and deserve given the associated costs in software and training, a consistent interface. Why in the Hell should MS expect the millions of users to relearn everything every time MS decides to release a new version of the OS. Mouse movement alone says that Metro is deeply stupid. Before you even get to the paths to things that used to be easy and short. I do not give a damn about how some MS architect thinks about how I should be able to interface with a computer. Nor do they have the right to force me to relearn everything I have learned over many years just cause they think it is "neat".

I use the XP replacements for the Win 7 start menu. Win 7 (I skipped Vista) screwed around where everything was located; apparently just for the Hell of it and because they could. I still can't find things with the new and non-intuitive labels, and office is still 10 times slower for me to use than the old interface.

Fix the OS. Don't screw with the interface.

That said, FF needs to look the same and work with apps that make Win 8 look like Win 7 (or XP actually). Never ever abandon the XP, or (fixed for XP compatibility) Win 7.

I have seen little on the compatibility with Win 7 versions of Win 8. I have no idea at this point how bad it will be if you turn off all options related to Metro. That is a good name actually. It firmly brings to mind standing on the Metro tracks and seeing the express bearing down on you.

I'm really looking forward to getting my hands on this, Asa.

Just to provide a counter perspective to Mark, I happen to really like Metro on the desktop.

Frankly, once you learn the keyboard shortcuts, you can whip around the system extremely efficiently.

Tom Jones, the only thing that I can see interfering with Firefox (or other browsers) for Windows on ARM is the lack of Win32.

Firefox's Metro app (like all other Metro-style Windows 8 apps) will run just fine on WOA.

Monthly Archives