Open Bug 1972647 Opened 4 months ago Updated 1 day ago

Enable Firefox Labs when Telemetry or Studies are Disabled

Categories

(Firefox :: Nimbus Desktop Client, enhancement, P3)

enhancement

Tracking

()

ASSIGNED

People

(Reporter: beth, Assigned: beth, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(5 files)

In bug 1937147 we ported Firefox Labs to be powered by Nimbus, our A/B testing and feature delivery platform, which (as its configured) requires both telemetry and studies to be enabled in order to function. Nimbus was originally designed to be an A/B test platform and so it made sense at the time that if telemetry was disabled that Nimbus should be disabled because there if you need to collect data in order to do quantatative experimentation. However, as Nimbus has grown into more of a feature delivery platform, it no longer makes sense to gate everything behind having telemetry or even studies enabled. We should add a new preference toggle that enables/disables Firefox Labs and update the Nimbus logic as follows:

  1. Telemetry disabled -> Experiments and rollouts are disabled except for Firefox Labs opt-ins(i.e., when recipe.isFirefoxLabsOptIn = true)
  2. Studies disabled -> Experiments and rollouts are disabled EXCEPT for Firefox Labs opt-ins (i.e., when recipe.isFirefoxLabsOptIn = true)
  3. Firefox Labs disabled -> Firefox Labs is disabled and experiments and rollouts work as normal

To implement this, we need to:

  • Add a new pref to enable/disable Firefox Labs;
  • Expose said pref on the Firefox Labs page;
  • Update the Firefox labs page to not be hidden if there are no studies. Instead, it should say there are no available opt-ins / Firefox Labs is disabled;
  • Update ExperimentManager._handleStudiesOptOut to exclude Firefox Labs opt-ins (unless they are also disabled);
  • Update RemoteSettingsExperimentLoader.onEnabledPrefChanged to disable the itself if both Firefox Labs and either studies or telemetry is disabled;
  • Add new MatchStatus entries for studies being disabled and Firefox Labs being disabled;
  • Update EnrollmentsContext.checkRecipe to add additional checks for:
    • Firefox Labs being disabled if the recipe is a Firefox Labs Opt-In
    • Studies/telemetry being disabled if the recipe is a traditional experiment/rollout

We do not want users to confuse these opt-ins with regular studies,
especially when studies are disabled, as that may lead them to believe
that we are running studies without their consent.

Assignee: nobody → brennie
Status: NEW → ASSIGNED

We have been accruing internal state inside ExperimentAPI.sys.mjs that
we do not want to expose as mutable to outside of the module. That state
is now bundled into the ExperimentAPI object itself as private
elements.

Both Firefox Labs and one of either studies or telemetry must now be
disabled to fully disable Nimbus.

Blocks: 1951312
Attachment #9522191 - Attachment description: WIP: Bug 1972647 - Don't hide Firefox Labs when studies or telemetry are disabled r?#settings-reviewers! → Bug 1972647 - Don't hide Firefox Labs when studies or telemetry are disabled r?#settings-reviewers!,mkaply!
Pushed by brennie@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/b1f97661fdcf https://hg.mozilla.org/integration/autoland/rev/fb50c9cf745e Hide Firefox Labs opt-ins from about:studies r=nimbus-reviewers,relud https://github.com/mozilla-firefox/firefox/commit/39384659753b https://hg.mozilla.org/integration/autoland/rev/be407b666f7b Make ExperimentAPI a singleton instance of a class r=nimbus-reviewers,relud https://github.com/mozilla-firefox/firefox/commit/7addb3e10953 https://hg.mozilla.org/integration/autoland/rev/fbf6a8f79f54 Allow Firefox Labs to be enabled even if studies or telemetry are disabled r=mkaply,nimbus-reviewers,relud https://github.com/mozilla-firefox/firefox/commit/b8c619fb2ad8 https://hg.mozilla.org/integration/autoland/rev/9d251c1e5552 Unenroll from Firefox labs opt-ins during Nimbus initialization if Labs is disabled by policy r=nimbus-reviewers,relud https://github.com/mozilla-firefox/firefox/commit/e47c8a978817 https://hg.mozilla.org/integration/autoland/rev/db42513c804c Don't hide Firefox Labs when studies or telemetry are disabled r=mkaply,akulyk
Pushed by agoloman@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/b944a731f26e https://hg.mozilla.org/integration/autoland/rev/f4619d5b7b93 Revert "Bug 1972647 - Don't hide Firefox Labs when studies or telemetry are disabled r=mkaply,akulyk" for causing bc failures.

Backed out for causing bc failures.

Flags: needinfo?(brennie)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: