Mobile/Fennec/Android/Switchboard: Difference between revisions

Bug 1369685 - Add a new key "region" on Switchboard
No edit summary
(Bug 1369685 - Add a new key "region" on Switchboard)
 
(5 intermediate revisions by one other user not shown)
Line 33: Line 33:
=== Testing ===
=== Testing ===


* There's an add-on that you can use for overriding the local switchboard configuration: [[Addon Download|https://addons.mozilla.org/en-US/android/addon/switchboard-experiments/] [https://github.com/pocmo/Addon-Switchboard-Experiments Source code]. This works great for switching experiments on/off - but doesn't let you configure additional metadata if required by the experiment.
* There's an add-on that you can use for overriding the local switchboard configuration: [https://addons.mozilla.org/en-US/android/addon/switchboard-experiments/ Addon Download] [https://github.com/pocmo/Addon-Switchboard-Experiments Source code]. This works great for switching experiments on/off - but doesn't let you configure additional metadata if required by the experiment.
 
== Experiment configuration ==
 
* '''Name''': A descriptive name for the experiment. This name is used in JSON that is being sent by the server and stored by the client. Examples are:  ''bookmark-history-menu'', ''malware-download-protection'', ''promote-add-to-homescreen''
* '''Description''': A more detailed description what this experiment is about. In the best case this contains a bug number for context. Currently we send this data to the clients too (Don't make it too big).
* '''Regions''': It check the country we get in the search engine manager (e.g. US, TW). If there's no value stored we just think we are not in the experiment. In the admin interface, it should be a list (e.g {'US','TW'} ).
* '''Buckets''': Every user is in one of 100 buckets (0-99). For every experiment you can set up a min and max value (0 <= min <= max <= 100). The bounds are [min, max). An experiment set to buckets min=0, max=50 means that users in buckets 0-49 will have it enabled. There is no check for out of bounds values, so "disabled" experiments can have min/max buckets keys that are either out of bounds or have min == max. A disabled experiment is usually set to min=0, max=0.
* '''Filters''' - In addition to buckets additional filters can be used to limit the experiments to a subset of users.
** appId (regex): The Android app ID (e.g. org.mozilla.fennec, org.mozilla.firefox_beta, org.mozilla.firefox)
** version (regex): The Firefox app version number (e.g. 47.0a1', 46.0)
** lang (regex): Language, pulled from the default locale (e.g. eng)
** country (regex): Country, pulled from the default locale (e.g. USA)
** device (regex): Android device name
** manufacturer (regex): Android device manufacturer
* '''values''': Every experiment can include an optional JSON object with values that are used by the experiment. For example an experiment showing a bookmark dialog after a page has been visited multiple times, could use a value that defines how many visits are needed to display the dialog. With that the experiment can change without needing to update the app.
11

edits