Cloud storage Shield Study WebExtension Experiment
- Get Firefox >=60
- Install shield-utils in extension
npm install --save mozilla/shield-studies-addon-utils#develop
- Install
npm install -g web-ext # just make it global!
npm run firefox
- Desktop with cloud storage provider client such as Dropbox
tools > Web Developer > Browser Console
- Open link e.g. https://www.mozilla.org/en-US/firefox/all/
- Click on any download link. Notification shows inside Download Panel
- If Cloud Storage API has never been initialized before first download initializes API and subsequent downloads shows notification.
- Right click on the downloaded item, shows 'Move to ' option in context menu for default downloads e.g. ~/Downloads
- Click on Download link shows notification asking user to opt-in to cloud storage
- Result expected with different options selected in notification
-
Save to provider app - Save all subsequent download to provider local download folder e.g. ~/Dropbox/Downloads. This sets 'cloud.services.storage.key' pref to provider key and 'browser.download.folderList' pref to value 3. In about:prefernces under Downloads a third radio option displays indicating user opted-in setting.
-
Not Now - Closes Notification to be shown after a configurable interval
-
cloud.services.prompt.interval pref sets the interval at which user should be prompted again.
-
Downloaded item in cloud provider folder will be marked with provider icon in Download history shown in Download panel and Tools -> Downloads
-
For system default downloads in download panel, selecting context menu option 'Move to ' moves download in provider folder
In this shield study, we have two experimental branches based on notification interval times. Planning to experiment with three groups
- Control group (no cloud storage feature)
- notification-interval-longer - Cohort that’s shown notification in download panel after 2 days interval (since last notification shown and dismissed by clicking button Not Now)
- notification-interval-short - Cohort that’s shown notification after shorter interval - 1 day
To force override a variation, set preference 'cloud.services.shield.variation' with the variation name
- See Telemetry.json for more details on what pings are sent by this extension.