[go: up one dir, main page]

Page MenuHomePhabricator

Bug 1920375 - [DEMO] Exploration with screen showing set to default when no profile refresh prompt
AbandonedPublic

Authored by nalexander on Sep 22 2024, 3:34 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sep 9 2026, 10:17 PM
Unknown Object (File)
Sep 9 2026, 10:11 PM
Unknown Object (File)
Sep 9 2026, 9:44 PM
Unknown Object (File)
Sep 9 2026, 8:29 PM
Unknown Object (File)
Sep 9 2026, 8:29 PM
Unknown Object (File)
Sep 9 2026, 8:14 PM
Unknown Object (File)
Sep 9 2026, 8:08 PM
Unknown Object (File)
Aug 11 2026, 2:07 PM

Details

Reviewers
mviar
Group Reviewers
browser-installer-reviewers
Bugzilla Bug ID
1920375
Summary

Prototype / proof of concept for adding set to default as an option in the stub installer.

Default screen added with this patch (with example copy and styling) - shows when profile refresh isn't offered

Screenshot 2024-09-22 142710.png (1×1 px, 76 KB)

Profile refresh screen (offered under certain conditions in current experience)

Screenshot 2024-09-22 120549.png (1×1 px, 85 KB)

Test Plan

Stub installer must be built on windows.

  • Apply patch, ./mach build (artifact builds are ok)
    • Run ./mach package, search for setup-stub.exe in the output of the last command
    • Find the file, and run it
    • Click install with set to default option checked

Expected outcome: Firefox should download and either already be the default, or your system will prompt you to complete setting it as default. If you see the refresh profile checkbox instead, repeat the steps about a second time.

Known bugs: The set to default prompt appears when the browser loads and about:welcome may not acknowledge that set to default has already been triggered. These could be addressed in a follow-up which will likely include adding logic (pref update?) here.

Diff Detail

Repository
rMOZILLACENTRAL mozilla-central
Branch
default

Event Timeline

mviar created this revision.
phab-bot changed the visibility from "Custom Policy" to "Public (No Login Required)".Sep 22 2024, 3:34 PM
phab-bot changed the edit policy from "Custom Policy" to "Restricted Project (Project)".
phab-bot removed a project: secure-revision.
mviar updated this revision to Diff 918160.
mviar retitled this revision from WIP: Bug 1920375 - Exploration with second screen showing set to default OR profile refresh to WIP: Bug 1920375 - Exploration with screen showing set to default when no profile refresh prompt.
mviar edited the test plan for this revision. (Show Details)
browser/installer/windows/Makefile.in
20

I kept these as separate files for clarity in the demo, but set_to_default and profile_cleanup pages could be combined into a more generic checkboxes_page or something similar. Then, we could explore adding additional key actions like pin to taskbar where applicable.

browser/installer/windows/nsis/stub.nsi
281

nit: fix comment

559–560

nit: remove commented out line

mviar updated this revision to Diff 918669.
mviar edited the summary of this revision. (Show Details)
mviar retitled this revision from WIP: Bug 1920375 - Exploration with screen showing set to default when no profile refresh prompt to Bug 1920375 - [DEMO] Exploration with screen showing set to default when no profile refresh prompt.Sep 23 2024, 7:24 PM
mviar requested review of this revision.Sep 23 2024, 7:25 PM
mviar updated this revision to Diff 918671.

@nalexander does something like this seem feasible?

I'd like to explore experimenting with different variants of the stub installer than include known growth levers like set to default and pin to taskbar. I know we've done at least one traffic cop experiment sending folks to different download pages in the past. Have we experimented with moving set to default into the installer flow before? @pdahiya mentioned pin to taskbar was included in the past, and I'm curious why it was removed.

@nalexander does something like this seem feasible?

I'd like to explore experimenting with different variants of the stub installer than include known growth levers like set to default and pin to taskbar. I know we've done at least one traffic cop experiment sending folks to different download pages in the past. Have we experimented with moving set to default into the installer flow before? @pdahiya mentioned pin to taskbar was included in the past, and I'm curious why it was removed.

Sure, stuff like this is definitely possible. However, the stub installer is 0-click by design: you launch it and you get Firefox, with no blocking user input. We'd definitely want product input on changing that.

In terms of what component actually applies the default -- the more that stays with Firefox, the better things are. Set-as-default is quite complicated and running the code in the installer is not attractive; we want all of Gecko available to us. And, in some cases, the APIs in question need the running process to _be_ Firefox, the process we want to act on. This is mostly why we removed pin to taskbar from the installer: we got a really awkward screen talking about setup.exe and not Firefox; and the resulting pin sometimes wouldn't work for firefox.exe anyway.

@nrishel, I'd like to get this onto your radar so that DI team is aware of work on the stub installer. Thanks, @mviar!

@nalexander does something like this seem feasible?

I'd like to explore experimenting with different variants of the stub installer than include known growth levers like set to default and pin to taskbar. I know we've done at least one traffic cop experiment sending folks to different download pages in the past. Have we experimented with moving set to default into the installer flow before? @pdahiya mentioned pin to taskbar was included in the past, and I'm curious why it was removed.

Sure, stuff like this is definitely possible. However, the stub installer is 0-click by design: you launch it and you get Firefox, with no blocking user input. We'd definitely want product input on changing that.

In terms of what component actually applies the default -- the more that stays with Firefox, the better things are. Set-as-default is quite complicated and running the code in the installer is not attractive; we want all of Gecko available to us. And, in some cases, the APIs in question need the running process to _be_ Firefox, the process we want to act on. This is mostly why we removed pin to taskbar from the installer: we got a really awkward screen talking about setup.exe and not Firefox; and the resulting pin sometimes wouldn't work for firefox.exe anyway.

@nrishel, I'd like to get this onto your radar so that DI team is aware of work on the stub installer. Thanks, @mviar!

Thanks @nalexander! I've started discussion with product as it does venture from the current pattern. My idea was to make use of the existing set to default logic in BrowserContentHandler by just passing the -setDefaultBrowser flag if the box is checked (see last couple changed lines in stub.nsi below).

I should also note the idea wouldn't be to land this code in production, but to experiment with offering the resulting executable (or some variation(s)) to a percentage of users via an experiment using traffic cop.

nalexander edited reviewers, added: mviar; removed: nalexander.