Skip to content

Commit 248f7de

Browse files
authored
Create onboarding-feature-desktop.md (#600)
trying to add desktop onboarding documentation
1 parent c4393b2 commit 248f7de

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Introduction #
2+
3+
The onboarding feature enables experimentation with the 'new user onboarding flow'. The onboarding flow is presented to the user on each new install and is made up of a series of full screen 'views', referred to as 'cards'. The purpose of the onboarding flow is to enable the user to configure a small number of app enhancing settings. Each card provides context for each setting and the ability to enable/skip.
4+
5+
The onboarding feature enables staff — most likely experiment owners, product owners, user research and marketing teams to customize each card's:
6+
7+
title copy
8+
body copy
9+
imagery
10+
button copy
11+
sequencing
12+
13+
At the time of writing, Desktop first run experiments are only supported on Windows. This note describes what first run experiments are, sketches how first run experiments work on Windows, and suggests approaches for supporting first run experiments on macOS.
14+
15+
First run experiments are those that make changes to onboarding, that need data from brand-new clients, or that otherwise relate to clients who are using Firefox on their device for the first time, [reference](https://experimenter.info/mobile-first-run-experiments/#how-do-i-know-if-an-experiment-should-be-first-run).
16+
17+
## How do first run experiments work on Windows? ##
18+
19+
Firefox experiments are defined by recipes. Recipes that might apply to a particular Firefox user are delivered to Firefox via a “pull” -- an HTTP GET request -- from [Remote Settings](https://firefox.settings.services.mozilla.com). The [Experimenter](https://experimenter.services.mozilla.com/nimbus/) system manages the recipes themselves and pushes them to Remote Settings for wider distribution; you can safely think of Remote Settings as a CDN (Content Distribution Network) for efficiently distributing recipes.
20+
21+
The initial pull of the experiment recipes is both time consuming and relatively late in Firefox startup. To avoid the perception of slow Firefox startup, the Windows installer and Firefox coordinate to start Firefox while the installer UI is still present and to only display the Firefox UI (and hide the installer UI) after the initial pull of current experiment recipes is complete. See the [First Startup documentation](https://firefox-source-docs.mozilla.org/toolkit/modules/toolkit_modules/FirstStartup.html).
22+
23+
## How do first run experiments work on Mac? ##
24+
25+
First run experiments are not supported on Mac. Nick Alexander [explores some of the challenges and possible approaches here](https://docs.google.com/document/d/1RYoekrHwd5NRqE7mgMSIvkl1l9fhwOpfc2J2S92CwS0/edit). There is considerable engineering and QA work needed.
26+
27+
### Background ###
28+
29+
The onboarding feature is built on top of Nimbus, Mozilla's experimentation platform. Nimbus allows you to send bits of configuration to application features from Experimenter, the web-application staff use to launch and manage experiments and rollouts.
30+
31+
Using Experimenter in the general case is documented elsewhere, so this document is specifically concerned with configuring the onboarding feature.
32+
References
33+
34+
For the most up-to-date configurations, the main code base will always be the best place to check.
35+
36+
Nimbus manifest
37+
onboarding feature manifest
38+
39+
Creating an experiment
40+
41+
Only values that differ from the default card(s) needs providing by the Experimenter. E.g:
42+
Existing default card
43+
44+
(add example)
45+
46+
Experimenter card config
47+
48+
(see sample experiments on the [about-welcome feature](https://experimenter.services.mozilla.com/nimbus?applications=DESKTOP&allFeatureConfigs=DESKTOP%3Aaboutwelcome&tab=completed))
49+

0 commit comments

Comments
 (0)