A working Firefox Windows 8 Metro prototype, status update 3

News and other things I find interesting


RSS Feed


Apr
2
2012

A working Firefox Windows 8 Metro prototype, status update 3

Last modified: Sunday, October 21, 2012

The Firefox Roadmap lists a 2012 Q2 goal of providing a working Firefox prototype on Metro.

As of last week, we have a working browser in Metro. It currently looks and feels the same as the Android browser. You can navigate the web, create tabs, bookmark pages, build history, retain cache, adjust preferences, and more.

I don't consider that 2012 Q2 goal met yet, we still have some open design questions, and a ton of platform integration work to do.

Early tile design from Bug 735008 - design still in progress

Our prototype in its current form is based on the Fennec XUL code. We used to use Fennec XUL on Android, but changed to a Native UI on Android for startup performance reasons. We haven't seen the same types of startup performance problems we've had on Android yet, even on VMs.

Firefox Metro screenshots - UI will be changing, Metro specific UI guidelines and Mozilla UX work feedback has not begun yet.

We're currently writing up a proposal on how we should proceed with the Metro work and we will post it on dev.planning. If we are able to keep using Fennec XUL we'll be ahead of schedule, but I anticipate some serious discussions once that is posted.

Since our prototype is based on Fennec we have a multi-process capable browser for free. Currently there is only one content process, but I believe the longer term plans are to increase that.

Jim put together an installer this week as well so that UX can get hands on with Firefox on Metro and provide design feedback and guidance.


Platform integration

As of this week, we have a lot of Metro platform integration working.

We have Metro snap working, you can snap another Metro app to the right or left of Firefox and continue browsing.

We also have HTML file input controls tied up to the Metro file picker. We've implemented support for opening a file, opening multiple files, and saving files in Metro. Unlike a normal sandboxed Metro application, the user can select any file from the computer. The picker also allows you to select files shared by other applications.

We also implemented the Windows 8 search contract, you can use the Search Charm from any screen on Windows 8. If you enter a URL, it will be loaded. If you enter anything else, it will be searched in your default search engine.

We also implemented the Windows 8 share contract, you can use the Share Charm from any Firefox page to share that page to another application. Once you select the Share Charm it will list the applications you can share to, for example: Mail, Twitter, or Facebook.

Searching for the text "Firefox Windows 8" and Sharing while playing BrowserQuest

Metro file picker after clicking on an input file form control


Why Windows 8 Metro support is really important

If a browser is awesome on Metro, the only way to use this awesome browser in Metro is for it to become the default. If a browser is default on Metro, it will also be default on the Desktop.

If a browser does not support Metro, it is seriously at risk of losing the default browser status, and therefore significant market share. A browser without support for Metro, if default, would be taking away a Metro browser completely from the user's computer.

Even if a user spends most of their time in the Desktop interface, having a really good Metro browser may be enough for the user to change their default browser. A browser with great Metro support can gain significant browser market share for this reason.

It is extremely important that we deliver an awesome Firefox experience on Metro, one that is tightly integrated with the platform, fast, and feature rich. Windows is by far the platform with the most users and which has the biggest effect on market share.

Tags:

Add a new comment | 23 comment(s)

Gravatar image Rei on Monday, April 02, 2012 (08:04:29) says:

I want Metro-style FF on Mac OS X, too!

Gravatar image Rodrigo Kumpera on Monday, April 02, 2012 (08:04:19) says:

How you guys are dealing with the limited APIs that Metro expose. For example, one can't use VirtualAlloc to get executable memory to be used by JS compiler.

Gravatar image SleepyDaddy on Monday, April 02, 2012 (09:04:43) says:

In the final version, please use proper metro app design guidelines. That means, "commands" go on the bottom app bar, APP navigation elements go in the top bar (this does not include the URL box, which is a "command" to go to a particular web site).

So, the URL box, back, forward, stop, reload, add-to-favorites, and pin to start commands should go in the bottom app bar (you can group them into popup menus or organize them however you like).

Tabs should not be on the left side of the screen - instead they should be on the top app bar along with history/favorites/new-tab buttons. Having any non-content UI elements "docked" to the left or right side of the screen make it difficult to use your app on a touch-screen device, because those sides are reserved for the system (charms on the right, multi-tasking on the left).

Gravatar image Brian R. Bondy on Monday, April 02, 2012 (09:04:21) says:

> How you guys are dealing with the limited APIs that Metro expose

We are implementing a third application type called Metro style enabled desktop browsers. They are basically Metro applications that run outside of the sandbox.

> In the final version, please use proper metro app design guidelines...

We are aware of the guidelines, the screenshots are of the earliest working browser code and have none of the planned UX implemented yet. As mentioned in the article the screenshots do not reflect a final product, the UI will be changing.

Gravatar image ff ftw on Monday, April 02, 2012 (11:04:17) says:

"If a browser is default on Metro, it will also be default on the Desktop."

That sucks. They (MS) of course did this on purpose to prop up ie..

Gravatar image foggytown on Monday, April 02, 2012 (11:04:16) says:

This looks great, glad to see you folks working so hard on this.

Will there be an ARM and an x86 version? Will MS allow ARM version on the desktop?

Gravatar image Brian R. Bondy on Monday, April 02, 2012 (11:04:01) says:

> Will there be an ARM and an x86 version?

I don't know yet, I hope so. If it is possible, we will do it.

Gravatar image Camden Narzt on Tuesday, April 03, 2012 (01:04:19) says:

Shouldn't you have to wait until Windows 9 is in public beta to start this work? After all that's what you guys did with Lion. At least make this endeavor "depend on" the lion integration in bugzilla.

Gravatar image Devashish on Tuesday, April 03, 2012 (01:04:44) says:

Keep up the great work!

I have a few questions.
1) Will the add-ons work in metro-mode?
2) Will the metro style browser allow plug-ins such as flash?

Gravatar image Brian R. Bondy on Tuesday, April 03, 2012 (01:04:26) says:

> ...At least make this endeavor "depend on" the lion integration in bugzilla

Lion integration is being worked on as part of another project by different people, independent of this project.
I hear your point though and that team is working to improve support.

> 1) Will the add-ons work in metro-mode?

Yes I think many (possibly most) will.

> 2) Will the metro style browser allow plug-ins such as flash?

This is still an open question.

Gravatar image Chris on Tuesday, April 03, 2012 (01:04:17) says:

Is there a plan to offer a way for web developers to identify the Metro version of Firefox compared to the "classic" Firefox we know and love today? A new UA with some sort of "Metro" (maybe the platform) and/or some feature that can be detected in one but not the other could prove to be very useful.

Gravatar image Brian R. Bondy on Tuesday, April 03, 2012 (01:04:47) says:

Ya a new UA would probably be a good idea. Something like:

Mozilla/5.0 (Metro; Mobile; rv:11.0) Gecko/11.0 Firefox/11.0

Gravatar image Giorgos on Tuesday, April 03, 2012 (07:04:21) says:

Since Metro is involved, does this mean the browser will be subject to MS's mandatory application censorship process? If yes, how is this compatible with the idea of free software?

Gravatar image Brian R. Bondy on Tuesday, April 03, 2012 (07:04:35) says:

> Since Metro is involved, does this
> mean the browser will be subject
> to MS's mandatory application censorship process?

I think the answer is no since we run outside of the sandbox and can deliver the app via normal means, but this could change.

Gravatar image foggytown on Tuesday, April 03, 2012 (08:04:15) says:

Thank you for this post and for taking time out to answer people's questions. Mozilla really is the open source project that others should try to emulate. So thanks, Brian.

Gravatar image Alex Liebensfeld on Tuesday, April 03, 2012 (08:04:00) says:

Is there any chance that you could post nightly builds on an ftp server? I'm sure some other Windows 8 users would like to try it out as well

Gravatar image Marah Marie on Wednesday, April 04, 2012 (03:04:17) says:

"foggytown on Monday, April 02, 2012 (11:04:16) says: Will there be an ARM and an x86 version?"

I really hope there's an x86 version. From what I understand Fx for Metro will be entirely chromeless, which I'd hate to see anyone on an x86 architecture do without.

Gravatar image Eugene on Thursday, April 05, 2012 (09:04:16) says:

@Rei I would settle for a decent Mac OSX Lion interface on Mac OSX...

Gravatar image Brian R. Bondy on Thursday, April 05, 2012 (11:04:32) says:

> Is there any chance that you could post nightly builds on an ftp server?

We're working with RelEng and ops to try to make this happen.

Gravatar image Justin on Monday, April 09, 2012 (02:04:14) says:

On April 02, 2012 at 11:04 "ff ftw" said: "That sucks. They (MS) of course did this on purpose to prop up ie.."

I don't think so because at the moment when you set the desktop browser to Firefox or other browser instead of Internet Explorer you can no longer access the Metro version of Internet Explorer.
While on a tablet, you may end up using Internet Explorer with Metro first and not be able to switch to a browser without a Metro version, if you are on a desktop or laptop running Windows 7 and you upgrade to Windows 8 then make a different browser the default and it doesn't have a Metro version you can't use the IE10 Metro version either.
This is what happened to me when I installed Windows 8 CP, I installed Firefox and set it as the default browser and lost the ability to use the IE10 Metro app. When I clicked "Internet Explorer" on the Start Screen after that, it just ran the regular IE10 application.
This was really confusing at first as I wanted to use the regular Firefox and the IE10 Metro but regardless of my Internet Explorer settings, it would not work.
I finally figured out what Windows 8 CP was doing but Microsoft should have done a better job of telling you that if you have a default browser without a Metro version then you have no Metro Web Browser.
This gave me a bad impression of Metro and IE10 because I thought something was broken. Thus if the goal was to prop up IE10 then they not only did the opasite in this case but give me a bad impression of IE10 when I already didn't care for IE9.

Gravatar image Pluto on Thursday, April 19, 2012 (03:04:23) says:

You guys are awesomeeeeee!!!!!!!!!!!!!! I hart FF to death.

Gravatar image ingentingen on Saturday, April 21, 2012 (11:04:05) says:

I very much like the look of FF for Metro. However, the desktop version will still be important to me. What I find a little annoying is that I will have to customize my settings for each of the two individually. Wouldn't it be possible to automatically synchronize the preferences - that would really boost the efficiency and usability of the "combined" new FF!

Gravatar image Pluto on Monday, April 23, 2012 (03:04:27) says:

Sorry for the double comment but... I want this badly!! I can't wait til you finish it up! Will you continue posting updates here, or should I be watching somewhere else for FF Metro? For now, I'll bookmark the page :)

PS: I can't wait to see the themes based on FF Metro to come out for FF in general xD