Skip to content
This repository was archived by the owner on Jan 29, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions data/experiment-recipe-samples/android-96-multifeature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"appId": "org.mozilla.firefox",
"appName": "fenix",
"application": "org.mozilla.fenix",
"arguments": {},
"branches": [
{
"features": [
{
"enabled": false,
"featureId": "fenix-default-browser",
"value": {}
},
{
"enabled": true,
"featureId": "homescreen",
"value": {
"sections-enabled": {
"jumpBackIn": false,
"pocket": false,
"recentExplorations": false,
"recentlySaved": false,
"topSites": true
}
}
}
],
"ratio": 1,
"slug": "control"
},
{
"features": [
{
"enabled": true,
"featureId": "fenix-default-browser",
"value": {}
},
{
"enabled": true,
"featureId": "homescreen",
"value": {
"sections-enabled": {
"jumpBackIn": true,
"pocket": true,
"recentExplorations": true,
"recentlySaved": true,
"topSites": true
}
}
}
],
"ratio": 1,
"slug": "default_browser_newtab_banner"
}
],
"bucketConfig": {
"count": 10000,
"namespace": "firefox-android-multifeature-test",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember the namespace for multifeature experiments being different, a concatenation of the features used being part of it. Has that changed and if not, will this affect testing?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No that only matters for trying to enroll in multiple multi-feature experiments, I wouldn't worry about it here.

"randomizationUnit": "nimbus_id",
"start": 0,
"total": 10000
},
"channel": "nightly",
"endDate": null,
"featureIds": ["fenix-default-browser", "homescreen"],
"id": "firefox-android-multifeature-test",
"isEnrollmentPaused": false,
"outcomes": [
{
"priority": "secondary",
"slug": "default-browser"
}
],
"probeSets": [],
"proposedDuration": 28,
"proposedEnrollment": 7,
"referenceBranch": "control",
"schemaVersion": "1.6.2",
"slug": "firefox-android-multifeature-test",
"startDate": "2021-11-01",
"targeting": "true",
"userFacingDescription": "firefox-android-multifeature-test",
"userFacingName": "firefox-android-multifeature-test"
}
80 changes: 80 additions & 0 deletions data/experiment-recipe-samples/desktop-95-multifeature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{
"appId": "firefox-desktop",
"appName": "firefox_desktop",
"application": "firefox-desktop",
"arguments": {},
"branches": [

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do desktop experiments not use the feature key anymore? If they will not, can older single feature experiments be affected by this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, should definitely have the feature key in there 👍

{
"feature": {
"featureId": "unused-feature-id-for-legacy-support",
"enabled": false,
"value": {}
},
"features": [
{
"enabled": true,
"featureId": "pocketNewtab",
"value": {}
},
{
"featureId": "upgradeDialog",
"value": {
"enabled": false
}
}
],
"ratio": 1,
"slug": "control"
},
{
"feature": {
"featureId": "unused-feature-id-for-legacy-support",
"enabled": false,
"value": {}
},
"features": [

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This second branch doesn't have a feature property.

{
"enabled": true,
"featureId": "pocketNewtab",
"value": {
"compactLayout": true,
"lastCardMessageEnabled": true,
"loadMore": true,
"newFooterSection": true
}
},
{
"featureId": "upgradeDialog",
"value": {
"enabled": true
}
}
],
"ratio": 1,
"slug": "treatment"
}
],
"bucketConfig": {
"count": 10000,
"namespace": "firefox-desktop-multifeature-test",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same question as for the Android recipe. Is this form of the namespace the latest and if not, would this affect testing?

"randomizationUnit": "normandy_id",
"start": 0,
"total": 10000
},
"channel": "nightly",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 95 Firefox version for desktop is currently the Release type.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you able to pull down previous builds of nightly at the specific version?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We ended up using the Release build with the channel changed to Nightly.

"endDate": null,
"featureIds": ["upgradeDialog", "pocketNewtab"],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The feature (the deprecated one) featureId is "unused-feature-id-for-legacy-support", I would expect it to match one of the Ids from the features array (or be listed here in featureIds as well).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, "unused-feature-id-for-legacy-support" is placeholder we always use to prevent errors not a real-world value 👍 nevermind the parent comment then.

"id": "mr2-upgrade-spotlight-holdback",
"isEnrollmentPaused": false,
"outcomes": [],
"probeSets": [],
"proposedDuration": 63,
"proposedEnrollment": 7,
"referenceBranch": "control",
"schemaVersion": "1.6.2",
"slug": "firefox-desktop-multifeature-test",
"startDate": "2021-10-26",
"targeting": "true",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should targeting be different for desktop? I remember experiments having at least 'app.shield.optoutstudies.enabled'|preferenceValue. I am not sure if this is significant.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No it shouldn't be significant here, I tried to set the recipe up so it would definitely enroll. Testing the targeting expressions is handled elsewhere, nothing changes for that here.

"userFacingDescription": "Experimenting on onboarding content when you upgrade Firefox.",
"userFacingName": "MR2 Upgrade Spotlight Holdback"
}
80 changes: 0 additions & 80 deletions data/experiment-recipe-samples/desktop-95.json

This file was deleted.

84 changes: 84 additions & 0 deletions data/experiment-recipe-samples/ios-39-multifeature.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"appId": "org.mozilla.ios.Firefox",
"appName": "firefox_ios",
"application": "org.mozilla.ios.Firefox",
"arguments": {},
"branches": [
{
"features": [
{
"enabled": true,
"featureId": "onboarding-default-browser",
"value": {
"should-hide-title-image": false
}
},
{
"enabled": true,
"featureId": "homescreen",
"value": {
"sections-enabled": {
"jumpBackIn": false,
"libraryShortcuts": true,
"recentlySaved": false
}
}
}
],
"ratio": 1,
"slug": "control"
},
{
"features": [
{
"enabled": true,
"featureId": "onboarding-default-browser",
"value": {
"should-hide-title-image": true
}
},
{
"enabled": true,
"featureId": "homescreen",
"value": {
"sections-enabled": {
"jumpBackIn": true,
"libraryShortcuts": false,
"recentlySaved": true
}
}
}
],
"ratio": 1,
"slug": "treatment"
}
],
"bucketConfig": {
"count": 10000,
"namespace": "firefox-ios-multifeature-test",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same question as for Android and Desktop, has the namespace format changed?

"randomizationUnit": "nimbus_id",
"start": 0,
"total": 10000
},
"channel": "release",
"endDate": null,
"featureIds": ["onboarding-default-browser", "homescreen"],
"id": "firefox-ios-multifeature-test",
"isEnrollmentPaused": false,
"outcomes": [
{
"priority": "secondary",
"slug": "default_browser"
}
],
"probeSets": [],
"proposedDuration": 28,
"proposedEnrollment": 7,
"referenceBranch": "control",
"schemaVersion": "1.6.2",
"slug": "firefox-ios-multifeature-test",
"startDate": "2021-11-01",
"targeting": "true",
"userFacingDescription": "firefox-ios-multifeature-test",
"userFacingName": "firefox-ios-multifeature-test"
}
Loading