Windows Start tile should launch Firefox in the user's most recently used mode

VERIFIED FIXED in Firefox 28

Status

defect
P2
normal
VERIFIED FIXED
6 years ago
6 years ago

People

(Reporter: mbrubeck, Assigned: mbrubeck)

Tracking

({user-doc-complete, ux-mode-error})

Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [block28] p=1)

Attachments

(1 attachment)

Steps to reproduce:
1. In Metro Firefox, choose "Relaunch in desktop."
2. After desktop Firefox opens, exit Firefox.
3. Press the Firefox tile on the Windows Start screen.

Expected results: Desktop Firefox opens.
Actual results: Metro Firefox opens.

In general, I believe the tile should launch whichever Firefox UI the user last chose.  (This is also how Chrome works on Windows 8, with its similar shared profile and "relaunch" model.)

This gives users a way to control which UI appears at launch time.  It also means that people who habitually launch desktop Firefox using the Start screen can continue doing so if they choose.  And it gives us more control over when and how users discover the new "Metro" UI, rather than having it be something that happens "by accident" when they go to launch Firefox after updating.
Summary: Windws Start tile should launch Firefox in the user's most recently used mode → Windows Start tile should launch Firefox in the user's most recently used mode
This was by design and I think it's the correct way now.  If no browser is currently open we currently choose the environment they are currently in. This is in contrast to chrome but chrome isn't our spec :)

I guess UX should weigh in, but this is currently what I had planned for v1.

I had planned to add some controls about how to launch in options post v1, or if time allowed pre-v1.
I don't think we should consider Start to be part of the "Metro environment."  It's accessible through the "Start" button on the desktop (in 8.1), and it's the primary UI offered by Windows to launch both Metro *and* desktop applications.

My concern is that we have tens of millions of users using desktop Firefox on Windows 8 today, and I expect that many (possibly most) of them are launching Firefox from the Start screen.  As it stands today, Firefox 28 will dramatically change that behavior, in a way that many of them will perceive as breaking Firefox.  There's also no obvious way to restore the previous behavior.  And it means that many people will first encounter Metro Firefox without expecting or requesting it.

Using the Chrome approach not only preserves the current behavior for users who prefer the desktop environment.  It also lets us "soft launch" Metro Firefox by choosing how much it is exposed.  For example, we can choose to promote it at a certain time by showing a promo page in desktop Firefox and letting users choose whether to launch Metro mode.  Users would be unlikely to relaunch in Metro mode by accident before we have a chance to educate and promote.

I consider this behavior a critical part of the "single app with a switchable UI" mental model, enough that I explicitly mentioned it when I proposed switching to this model in the first place:
https://mail.mozilla.org/pipermail/metro/2013-October/000286.html
Flags: needinfo?(ywang)
Whiteboard: [triage]
Another way of looking at this bug is:  There's no way to start desktop Firefox from the Start screen.  I think this is a serious regression.

If we focus on just this symptom, then my proposal of remembering the user's selected mode is one way to solve it but not the only way.  Another option would be to install two Start tiles, one for desktop and one for Metro.  (This is similar to the Skype approach, where there is a "Skype" app that runs in Metro mode and a "Skype for desktop" app that runs on the desktop.)
(In reply to Matt Brubeck (:mbrubeck) from comment #2)
> I don't think we should consider Start to be part of the "Metro
> environment."  It's accessible through the "Start" button on the desktop (in
> 8.1), and it's the primary UI offered by Windows to launch both Metro *and*
> desktop applications.

I think it is, the primary UI for desktop is the taskbar which we pin to and the Desktop itself.


> 
> My concern is that we have tens of millions of users using desktop Firefox
> on Windows 8 today, and I expect that many (possibly most) of them are
> launching Firefox from the Start screen.  As it stands today, Firefox 28
> will dramatically change that behavior, in a way that many of them will
> perceive as breaking Firefox.  There's also no obvious way to restore the
> previous behavior.  And it means that many people will first encounter Metro
> Firefox without expecting or requesting it.
> 
> Using the Chrome approach not only preserves the current behavior for users
> who prefer the desktop environment.  It also lets us "soft launch" Metro
> Firefox by choosing how much it is exposed.  For example, we can choose to
> promote it at a certain time by showing a promo page in desktop Firefox and
> letting users choose whether to launch Metro mode.  Users would be unlikely
> to relaunch in Metro mode by accident before we have a chance to educate and
> promote.
> 
> I consider this behavior a critical part of the "single app with a
> switchable UI" mental model, enough that I explicitly mentioned it when I
> proposed switching to this model in the first place:
> https://mail.mozilla.org/pipermail/metro/2013-October/000286.html

You convinced me, I don't think we should change the behavior and possibly scare people, at least not initially until we have telemetry data to support such a change.

Just a thought, we did propose before to have 2 start menu tiles, one for Desktop Firefox and one for touch Firefox. I think if we properly label each of them then that is potentially the best solution here.
(In reply to Brian R. Bondy [:bbondy] from comment #4)
> Just a thought, we did propose before to have 2 start menu tiles, one for
> Desktop Firefox and one for touch Firefox. I think if we properly label each
> of them then that is potentially the best solution here.

Two tiles definitely has some nice advantages.  The big one is that it's easy to explain what each tile does, and easy for users to learn what to expect when they press one.

There's at least one disadvantage:  Since we can run only one UI at a time, we'd have to either show an error or restart the app (and potentially lose data from open tabs) if the user tries to launch one UI while the other is already running.  Neither is what they probably expect.  It's certainly not what happens with other two-tile apps like Skype.  In this sense, a single tile is a better representation of the "one app with a switchable UI" model that we are using.

There's also the big bikeshed question of what to name each tile, especially since we have not managed to adopt any more specific name than "Firefox for Windows 8 Touch."  Perhaps "Firefox" and "Firefox for desktop" would work for us as it does for Skype.
Yep for v1 before we have options (It's too late to add it for a v1 release since it'll have strings) let's just do what you proposed unless Yuan has any objections. Thanks for the detailed reasoning, it makes sense to me.
Note that opening in the current environment, and Start being considered the Metro environment, was the behavior before shared profile as well.  The Start screen tile always launched the Metro browser as long as we are the default. 

Desktop launching into Metro if Metro is already open is new, but this behavior is not.
(In reply to Brian R. Bondy [:bbondy] from comment #7)
> Note that opening in the current environment, and Start being considered the
> Metro environment, was the behavior before shared profile as well.

Good point -- this is really orthogonal to the shared profile change, at least from a technical point of view.
Unblocking shared profile, but I agree with your reasoning and I think we should do it for v1.
No longer blocks: metroprofilesharing
To do this we should just store/read a value in:
http://dxr.mozilla.org/mozilla-central/source/browser/metro/shell/commandexecutehandler/CommandExecuteHandler.cpp?from=CommandExecuteHandler.cpp


We can use this registry helper function in the CEH to do it:
http://dxr.mozilla.org/mozilla-central/source/browser/metro/shell/commandexecutehandler/CEHHelper.cpp#187


The code that currently determines which environment to pick, and determines it based on which environment you are currently in, can be found here:
http://dxr.mozilla.org/mozilla-central/source/browser/metro/shell/commandexecutehandler/CommandExecuteHandler.cpp#306

p=1
Posted patch patchSplinter Review
This stores the most recent "host enviroment" (Metro or desktop) in the registry, and uses it by default on the next launch.
Assignee: nobody → mbrubeck
Status: NEW → ASSIGNED
Attachment #8343840 - Flags: review?(netzen)
Flags: needinfo?(ywang)
I think the last used host environment makes sense, especially for people who stay on desktop most of the time. We can use the first-run page on mozilla.org to introduce them the Windows 8 Touch and guide them through it if they are interested.

Having said that, I would also like to point out that this change is based on the assumption that most of Firefox users are launching Firefox from the Start screen. We should keep watching any data on their launch point and switching behaviors from telemetry.

The approach of having two tiles can be confusing, especially when Firefox is not set as the default. It's also tricky how to differentiate their names, icons, etc.
Hey Matt, I'm adding this to IT#21.  Can you provide a point value.
Blocks: metrov1it21
No longer blocks: metrov1backlog
Flags: needinfo?(mbrubeck)
Priority: -- → P2
QA Contact: jbecerra
Whiteboard: [triage] → [beta28] p=0
Comment on attachment 8343840 [details] [diff] [review]
patch

Review of attachment 8343840 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good thanks for taking the bug.
Attachment #8343840 - Flags: review?(netzen) → review+
(In reply to Marco Mucci [:MarcoM] from comment #13)
> Hey Matt, I'm adding this to IT#21.  Can you provide a point value.

p=1

Pushed to Try: https://tbpl.mozilla.org/?tree=Try&rev=63237baab8e5
Flags: needinfo?(mbrubeck)
Whiteboard: [beta28] p=0 → [beta28] p=1
Adding bug to IT#20 as patch is landing.
Blocks: metrov1it20
No longer blocks: metrov1it21
Whiteboard: [beta28] p=1 → [block28] p=1
FYI, I'm going to ensure marketing (Laura) is aware of this bug. Although I do agree with it for the most part (change is scary, especially when people least expect it, and people feel comfortable in desktop Firefox), I'm also worried that lack of discoverability of the Touch version is just so out of reach, that they won't even realize it's there.

And, of course, we have a gorgeous product that works beautifully in the Touch enviro (and optimized for the Touch enviro, exemplified by my use-case last night when I turned my Surface into a tablet to book a yoga class and multiple tabs in classic desktop is not as easy to manipulate than it is with Touch!).

So although I agree with this decision at least for release, I'd also like Marketing to think about how to promote visibility of Firefox for Windows 8 Touch via other mechanisms (that doesn't just rely on desktop snippets..... :/ ). In addition, I'd like Yuan to also think of other things we could pop into the UX that could benefit discoverability.
https://hg.mozilla.org/mozilla-central/rev/f9e31850d15e
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 28
Duplicate of this bug: 947715
Just adding a quick note as this issue is being resolved in this ticket so I won't bother creating a new bug. Currently in the latest nightly build, every shortcut is launching Firefox Desktop even though it should be launching Firefox Metro at times. Examples:

- Install the latest nightly and tap on the Nightly tile (Firefox Desktop is being launched)
- Switch back over to Firefox Metro using the options, and close Firefox Metro by swiping it to the bottom and closing it correctly
- Tap on the nightly tile once again and Firefox Desktop will launch once again

Only way to get into Firefox Metro in the latest nightly is launching Firefox Desktop and then switching over to the Firefox Metro environment using the options.

Used the following Nightly:
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2013-12-08-03-02-04-mozilla-central/
Also wanted to add that I ran into a crash when switching back and forth between the two environments.

- Launched Firefox Desktop and selected "Switch to Firefox Metro"
- Launched Firefox Metro, stalled under the Splash screen and crashed

https://crash-stats.mozilla.com/report/index/676201f4-7a8b-4058-b7d3-660bd2131209
Sorry, but could a preference be added? I only use Desktop Firefox for inspector, and I want it to never start automatically.
I submitted an update to the SUMO documentation here:
https://support.mozilla.org/en-US/kb/how-do-i-install-windows-8-metro-style-firefox/revision/51844

(In reply to Dmitrij D. Czarkoff from comment #24)
> Sorry, but could a preference be added? I only use Desktop Firefox for
> inspector, and I want it to never start automatically.

Yes, I think a (hidden?) preference would be worth adding for use cases like this.  Please feel free to file a bug.  See also bug 945554 for some other problems related to this use case.
Oh, separate profiles seem to be a goto answer for now. Well, it is a horrible solution - keeping profiles in sync requires quite a lot of overkill; and there always is IE, which just allows to do the thing right (and its desktop UI FWIW is ways more usable). Effectively the only reason I'm still on Firefox is that I still hopes that things will be fixed soon.

Now, what is the problem with making a jumplist for taskbar icon that provides a choice over desktop/metro UI?
(In reply to Dmitrij D. Czarkoff from comment #26)
> Oh, separate profiles seem to be a goto answer for now. Well, it is a
> horrible solution - keeping profiles in sync requires quite a lot of
> overkill; and there always is IE, which just allows to do the thing right

I agree; I'm not happy either about the technical limitations that prevent us from running both apps at once with a single profile.  Unfortunately it's going to take a lot of work to fix those, and I don't expect us to have the resources available to do it any time soon. :(

> Now, what is the problem with making a jumplist for taskbar icon that
> provides a choice over desktop/metro UI?

I like this idea.  (Of course it would only be useful if the browser is not already running, because of the limitations mentioned above.)  Let's file a new bug to see if we can do this.
Depends on: 950288
(In reply to Matt Brubeck (:mbrubeck) from comment #27)
> > Now, what is the problem with making a jumplist for taskbar icon that
> > provides a choice over desktop/metro UI?
> 
> I like this idea.  (Of course it would only be useful if the browser is not
> already running, because of the limitations mentioned above.)  Let's file a
> new bug to see if we can do this.

Bug #950319.
Mozilla/5.0 (Windows NT 6.3; rv:29.0) Gecko/20100101 Firefox/29.0
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0


Tested on latest Nightly (build ID: 20131215030202) by verifying that the app launches in the last mode used. 
I have used the STR from the description and vice-versa and it opened the last used mode every single time.

Marking as verified.
Status: RESOLVED → VERIFIED
On the latest Nightly, I cannot launch Firefox in Metro mode anymore. Is there any "Open in Metro" button that I don't see?

I also think that, especially on touch devices, the disruption from having the start tile launch the desktop Firefox is very bad UX. I hate to bring IE in here, but the desktop IE and the metro IE coexist nicely just the way Firefox did before this change - start from the tile -> Metro IE runs. Start from Desktop -> Desktop IE runs. Also, there's an easy and consistent way to distinguish Desktop from Metro Apps: Metro apps are full tiles whereas Desktop applications are tiles with a background and an icon.

IMHO having a separate tile "Firefox (Desktop)" (not unlike the "Start in Safe Mode" start menu entry) would be much better than the current behaviour but I guess it's too late to make anyone here change their minds?
(In reply to Stefan Seidel from comment #30)
> On the latest Nightly, I cannot launch Firefox in Metro mode anymore. Is
> there any "Open in Metro" button that I don't see?

There is a "Relaunch in Windows 8 Touch" button in the menu panel in Nightly, and in the app menu on Aurora.  (If you customized your Australis menu panel before this button was added to Nightly, you might need to re-enter customization mode to add it.  If you still can't find it, please comment in bug 950986.)

> I also think that, especially on touch devices, the disruption from having
> the start tile launch the desktop Firefox is very bad UX.

Having the start tile launch in desktop may be a bad experience for tablet users, but for a similar reason I think having it launch in Metro is a bad experience for desktop users.  It's especially bad to have no way for desktop users to launch their browser from the Start screen.

The change in this bug lets users choose a UI, and use the tile to launch that UI.  You only need to switch to Metro Firefox once; after that Firefox will continue launching in Metro mode unless you tell it to switch back to desktop.

> Metro apps are full tiles whereas Desktop applications are tiles with a
> background and an icon.

This is no longer true for Metro-enabled browsers in Windows 8.1.  The Start screen always shows the Metro tile for IE, Chrome, and Firefox Nightly/Aurora, even when they are non-default and forced to run in the desktop.  (This is different from the behavior in Windows 8.0.)
I should mention that there are still some bugs that can cause Firefox to launch in desktop mode even when the last-used mode was Metro.  Notably, if you have any version of desktop Firefox running, even in a different profile, then the tile will always launch Firefox on the desktop (bug 945554).
You need to log in before you can comment on or make changes to this bug.