Default Browsers and Windows 10

18 July, 2015 § 20 Comments

Microsoft is set to release Windows 10 pretty soon and with it comes a new way to set the default browser for your system.

Previous versions of Windows had an API that allowed applications to set themselves as the default application. This worked well and allowed web browsers like Firefox and Chrome to have a single click within their interface to set themselves as the default browser. No extra work was needed by the user after clicking the button within the respective app.

Starting in Windows 10, references to this API now generate the following error dialog on the machine:


Obviously, this message isn’t that helpful. First, users who click on a button to “Make Firefox my Default Browser” now get a dialog telling them what to do instead of doing it for them. Secondly, the message is given in a prompt that blocks interaction with the rest of the computer until the OK button is clicked. Combining this second issue with the lengthy list of steps that the dialog provides makes the situation even worse, as the user will have to memorize this 3-step process before clicking OK.

This experience isn’t something that we want to ship to Firefox users. When I first saw this experience, I sent an email to some people working on Chrome to ask them what their plans were to solve this. They said that they had looked in to this and decided they would instead just open the Settings app to the Default Applications view.

Settings app

I brought this approach back to some of my coworkers and we decided we would match the behavior that Chrome was using. After all, it didn’t seem like a better solution existed and we certainly didn’t want our users to be seeing the ugly dialog described above.

After I landed the changes in Firefox to open the Settings app, Masayuki Nakano provided an alternative implementation that would open a friendlier looking dialog to set the default application.

Alternative approach

This dialog looks a lot better, but it only sets the choice as the default browser if the small “Always use this app” checkbox at the bottom is checked before the OK button is clicked.

Once we had two implementations, we ran an A/B test of them for a week with our Nightly audience.

Key Count Percentage set as Default
Alternative Approach/OpenAs (users who did not set the browser as default) 2.35k 53%
Alternative Approach/OpenAs (users who did set the browser as default) 2.65k
Settings (users who did not set the browser as default) 2.76k 50%
Settings (users who did set the browser as default) 2.86k

The table above shows the data that was collected through the A/B test from June 22 to June 29 with Firefox Nightly 41. This data showed that 53% of alternative-approach users set Firefox as default, whereas 50% of the Settings-app users set Firefox as default.

With only a week of data, we didn’t see a statistical difference between the two approaches and decided we would stick with the Settings app due to it’s wider adoption. We also had issues with the OpenAs approach where we weren’t able to register all protocols and file extensions.

Next Steps

The default browser situation on Windows 10 is pretty bad. There is more work that we can and should do in the Windows 10 upgrade experience to retain users (the default upgrade changes the default browser to Edge).

We also would like to improve our telemetry tracking of the default browser dialog. Ideally we could use some accessibility or automation APIs to scroll into view the Default Browser option within the settings app (it’s scrolled out of view when it is first opened).

Tagged: , , , ,

§ 20 Responses to Default Browsers and Windows 10

  • Tom says:

    Did you look at how Edge handles the ‘set as default’ process? You haven’t mentioned it so I wanted to ask.

    • msujaws says:

      It looks like Edge doesn’t have the ability built-in to the browser to set Edge as the default browser.

  • venkat says:

    You’re right Edge doesn’t offer this option in its settings, but it is already the default browser in Windows 10. User has to visit default apps in Settings to set Edge or any other browser as default.

  • tezeri says:

    Actually, forcing the user to go through the “Default Applications” pane is likely a security issue. Despite being a Firefox user, I often have several browsers installed on my system to make sure my code works properly across all of them. I can name several instances where a browser would make itself default without permission, even after telling the installer to not make it default.

    While this seems bad, it will also make sure that users do not have their default browser forcefully changed without their knowledge. Much like UAC, it may seem like an annoyance to us power users, but it does help the general user in a small way.

    • msujaws says:

      I think that’s part of their motivation, but I also think that there are better ways of doing this. One such way would be to remove silent APIs and just show an interactive single-click dialog when the old API was called.

  • emanuele says:

    Isn’t a collaboration with Microsoft possible to provide a better API for this?
    For example selected trusted applications could continue using the old behavior.

    • msujaws says:

      That could work, but I think new browsers/system-style apps would have issue with that approach as it will just solidify existing brands and make the barrier to entry higher for new brands.

  • wgianopoulos says:

    The way this should work is the the Windows 10 pop-up, instead of having just an OK button should have 2 buttons, a Cancel
    , that works like the OK does now, and a button to go to the Default Apps page.

  • arknu says:

    The intended behavior for Windows 10 is that Windows notices that you have installed a new application that handles the http:// protocol for instance. Windows will then show the dialog asking if you want to keep your current default (shown at the top), or use another app.
    Thus, it is not intended for applications to have their own “Set as default” button. This is a system-level thing and is therefore handled from the system-level Settings app. And the user is prompted when there is an opportunity to select a new default app.

    • msujaws says:

      Thanks, I’ve read that before. How does Microsoft expect applications that want to register multiple protocols and extensions?

  • Daniel says:

    Which version of Firefox will support this new method? Will it be ready at the release of Win 10?

    • msujaws says:

      The first version of Firefox to support this will be Firefox 40, which should be released two weeks or so after the release of Windows 10.

  • Maybe this is an ugly solution, but it is not possible to do it, just by using Windows registery ?

    • msujaws says:

      I briefly looked in to this and it looks like Windows signs the value with a hash. It wouldn’t be trivial and it would definitely be suspicious behavior of the Firefox application to try to reverse engineer it’s host operating system.

  • Al Hutchison says:

    What about Firefox ESR and for that matter Thunderbird?

    • msujaws says:

      The first Firefox ESR that this will be released in will be Firefox 45. Thunderbird will need to implement this itself. I haven’t been following Thunderbird so I’m not sure what their plans are.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

What’s this?

You are currently reading Default Browsers and Windows 10 at JAWS.


%d bloggers like this: