diff --git a/docs/workflow/firefox-labs.mdx b/docs/workflow/firefox-labs.mdx
index bbaf9ca8b..57c19d3a1 100644
--- a/docs/workflow/firefox-labs.mdx
+++ b/docs/workflow/firefox-labs.mdx
@@ -4,6 +4,9 @@ title: Firefox Labs
slug: /workflow/firefox-labs
---
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
# Firefox Labs
:::tip
@@ -11,7 +14,7 @@ Have questions about Firefox Labs?
Reach out in [`#firefox-labs`](https://mozilla.slack.com/archives/firefox-labs) or [`#ask-experimenter`](https://mozilla.slack.com/archives/CF94YGE03) on Slack.
:::
-Firefox Labs is part of the [Nimbus platform](/) and is available on Nightly, Beta, and Release. It is a delivery mechanism that allows product development teams at Mozilla to expose feature opt-ins via a user-friendly interface in **Settings > Firefox Labs** (`about:preferences#experimental`).
+Firefox Labs is part of the [Nimbus platform](/) and is available on Nightly, Beta, and Release. It is a delivery mechanism that allows product development teams at Mozilla to expose feature opt-ins via a user-friendly interface in **Settings > Firefox Labs** (`about:preferences#experimental` on Desktop, or **Three-dot menu > Settings > Firefox Labs** on Android).
Firefox Labs gives product development teams in Firefox an opportunity to:
@@ -22,7 +25,7 @@ Firefox Labs gives product development teams in Firefox an opportunity to:
## Is Firefox Labs right for what I'm building?
-Labs is integrated into Nimbus (**Desktop-only** for now). In the product lifecycle, Labs fits into the Incubation/Early Stage phase: if a product team is developing a new feature, Labs can serve as the first stage of product development through Nimbus.
+Labs is integrated into Nimbus on **Firefox Desktop** and **Firefox for Android**. In the product lifecycle, Labs fits into the Incubation/Early Stage phase: if a product team is developing a new feature, Labs can serve as the first stage of product development through Nimbus.
However, Labs is **not built** to gather statistically significant insights like other Nimbus experiments do. Instead, Labs is built to:
@@ -94,9 +97,34 @@ Join a Labs experience kick-off meeting coordinated via **#firefox-labs**. Consi
### 6. Set things up for the Nimbus team
- **Add your feature to the Nimbus feature manifest.** You can frontload this entry with placeholders if the feature work isn't complete. See [Feature Definition](/technical-reference/feature-definition) for details.
-- **Land Fluent ID strings** for the title and description of the feature in [`features.ftl`](https://searchfox.org/mozilla-central/source/toolkit/locales/en-US/toolkit/firefoxlabs/features.ftl). ([Example bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1950407))
- - **(Optional)** If you wish to add a Connect post link placeholder such as hyperlinked "Share feedback" text in the description, include an `` with no `href` in the string.
- **Land the actual implementation** of the prototype.
+- **Land the title and description strings** for the feature (per platform, below):
+
+
+
+
+
+- Add a title and description Fluent resource to [`features.ftl`](https://searchfox.org/mozilla-central/source/toolkit/locales/en-US/toolkit/firefoxlabs/features.ftl) ([example bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1950407)).
+
+- **(Optional)** If you wish to add a Connect post link placeholder, such as a hyperlinked "Share feedback" text in the description, include an `` with no `href` in the string. ([Example](https://searchfox.org/firefox-main/rev/ef112631e252adf60d44b980d46da56718f576f8/toolkit/locales/en-US/toolkit/firefoxlabs/features.ftl#114)) (See [Description Links (JSON)](#configure-the-branches-section) below for how it is connected.)
+
+
+
+
+
+- Add a title and description Android string resource to [`strings.xml`](https://searchfox.org/mozilla-central/source/mobile/android/fenix/app/src/main/res/values/strings.xml) ([example bug](https://bugzilla.mozilla.org/show_bug.cgi?id=2059535)).
+
+- **(Optional)** If you wish to add a Connect post, the link text is fixed to "Share feedback". The Connect URL itself is set in Experimenter. (See [Feedback Link](#configure-the-branches-section) below for how it is connected.)
+
+
+
### 7. Self-test QA (strongly encouraged)
@@ -104,7 +132,7 @@ Please self-test QA your feature at the UX level. If you plan to share the Labs
### 8. Set up a Connect feedback post (optional)
-Want to add a direct link to your Connect feedback post from Labs? Draft the post and coordinate in **#firefox-labs** to keep it hidden until your planned Labs launch. Make sure the strings you land in-tree include a link, even if it's a placeholder for now.
+Want to add a direct link to your Connect feedback post from Labs? Draft the post and coordinate in **#firefox-labs** to keep it hidden until your planned Labs launch. On Desktop, make sure the strings you land in-tree include a link placeholder.
### 9. Configure the rollout on Experimenter
@@ -119,30 +147,54 @@ Want to add a direct link to your Connect feedback post from Labs? Draft the pos
6. **Check the "Is this a Firefox Labs rollout?" checkbox** on the Branches page. This will reveal several additional fields:
- - **Title (Fluent ID)** *(required)* — The Fluent ID for your feature's title in Labs (e.g., the ID you landed in `features.ftl`). Firefox resolves this to localized text in `about:preferences#experimental`.
- - **Description (Fluent ID)** *(required)* — The Fluent ID for your feature's description.
- - **Description Links (JSON)** *(optional)* — A JSON object that maps link names to URLs, enabling clickable links inside your description. For example, if your Fluent description string contains `Share feedback`, provide:
- ```json
- {
- "connect-link": "https://connect.mozilla.org/t5/your-post/..."
- }
- ```
- All values must be HTTP(S) URLs.
- - **Firefox Labs Group** *(required)* — Which section your feature appears under in Labs. Available groups:
+
+
+
+ - **Title (Fluent ID)** *(required)* — The Fluent ID for your feature's title in Labs e.g., the ID you landed in [`features.ftl`](https://searchfox.org/firefox-main/source/toolkit/locales/en-US/toolkit/firefoxlabs/features.ftl) ([example](https://searchfox.org/firefox-main/rev/ef112631e252adf60d44b980d46da56718f576f8/toolkit/locales/en-US/toolkit/firefoxlabs/features.ftl#97)). This text will be resolved to localized text in `about:preferences#experimental` on Desktop.
+ - **Description (Fluent ID)** *(required)* — The Fluent ID for your feature's description.
+ - **Description Links (JSON)** *(optional)* — A JSON object that maps link names to URLs, enabling clickable links inside your description. For example, if your Fluent description string contains `Share feedback`, provide:
+ ```json
+ {
+ "connect-link": "https://connect.mozilla.org/t5/your-post/..."
+ }
+ ```
+ All values must be HTTP(S) URLs.
+ - **Firefox Labs Group** *(required)* — Which section your feature appears under in Labs. Available groups on Desktop:
+
+ | Group | Minimum Firefox Version |
+ | :--- | :--- |
+ | Customize Browsing | 137 |
+ | Webpage Display | 137 |
+ | Developer Tools | 137 |
+ | Productivity | 143 |
+
+ New groups can be added, but they must ride the release trains — a new group won't be available on Release until the version it was added in reaches Release.
+
+- **Requires restart** *(optional)* — Check this if the feature requires a Firefox restart to take effect after the user opts in.
+
+
+
+
- | Group | Minimum Firefox Version |
- | :--- | :--- |
- | Customize Browsing | 137 |
- | Webpage Display | 137 |
- | Developer Tools | 137 |
- | Productivity | 143 |
- New groups can be added, but they must ride the release trains — a new group won't be available on Release until the version it was added in reaches Release.
+ - **Title (Resource ID)** *(required)* — The slug resource ID for your feature's title in Labs. e.g., the ID you landed in [`strings.xml`](https://searchfox.org/mozilla-central/source/mobile/android/fenix/app/src/main/res/values/strings.xml) ([example bug](https://bugzilla.mozilla.org/show_bug.cgi?id=2059535)). This text will be resolved to localized text in **Firefox Labs** on Android.
+ - **Description (Resource ID)** *(required)* — The resource ID for your feature's description.
+ - **Feedback Link** *(optional)* — The link to Mozilla Connect for feedback. e.g., `https://connect.mozilla.org/t5/your-post/`. Will render "Share Feedback" on Android. All values must be HTTP(S) URLs.
+ - **Firefox Labs Group** *(not available)* — Not available on Android.
+ - **Requires restart** *(optional)* — Check this if the feature requires a Firefox restart to take effect after the user opts in.
- - **Requires restart** *(optional)* — Check this if the feature requires a Firefox restart to take effect after the user opts in.
+
+
:::note
-When you add your feature to the Nimbus feature manifest, you can pull in the latest changes immediately from `FeatureManifest.yaml`. However, automated Experimenter syncs with the latest Nightly updates [require approval](https://github.com/mozilla/experimenter/pull/12274) before features show up in the Experimenter feature config. Once approved, the change should be available within an hour.
+When you add your feature to the Nimbus feature manifest, you can pull in the latest changes immediately from [`FeatureManifest.yaml`](https://searchfox.org/mozilla-central/source/toolkit/components/nimbus/FeatureManifest.yaml) (Firefox Desktop) or [`nimbus.fml.yaml`](https://searchfox.org/mozilla-central/source/mobile/android/fenix/app/nimbus.fml.yaml) (Firefox for Android). However, automated Experimenter syncs with the latest Nightly updates [require approval](https://github.com/mozilla/experimenter/pull/12274) before features show up in the Experimenter feature config. Once approved, the change should be available within an hour.
:::
### 10. Launch