From 3aa311a3c1e6ccc95ea427b79d640e05894d29df Mon Sep 17 00:00:00 2001 From: Jonathan Kingston Date: Fri, 1 Sep 2017 15:16:56 -0700 Subject: [PATCH] Name change. Fixes #763 --- README.md | 2 +- docs/metrics.md | 285 --------------------------------- install.rdf | 2 +- package.json | 2 +- webextension/confirm-page.html | 2 +- webextension/manifest.json | 6 +- webextension/popup.html | 2 +- 7 files changed, 8 insertions(+), 293 deletions(-) delete mode 100644 docs/metrics.md diff --git a/README.md b/README.md index 39ce59a..150dfd9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Containers Add-on +# Firefox Multi-Account Containers [![Available on Test Pilot](https://img.shields.io/badge/available_on-Test_Pilot-0996F8.svg)](https://testpilot.firefox.com/experiments/containers) diff --git a/docs/metrics.md b/docs/metrics.md deleted file mode 100644 index 317ff4e..0000000 --- a/docs/metrics.md +++ /dev/null @@ -1,285 +0,0 @@ -# METRICS - -## Data Analysis -The collected data will primarily be used to answer the following questions. -Images are used for visualization and are not composed of actual data. - -### Do users install and run this? - -What is the overall engagement of the Containers experiment? -**This is the standard Daily Active User (DAU) and Monthly Active User (MAU) analysis.** - -This captures data from the users who have the add-on installed, regardless of -whether they are actively interacting with it. - -![](kpi-1.png) - -### Immediate Questions - -* Do people use the containers feature & how do people create new container tabs? - * Click to create new container tab - * \+ `entry-point` value: "tab-bar" or "pop-up" -* Do people who use the containers feature continue to use it? - * Retention: opening a second container tab (second tab in the same container, or a tab in a second container?) -* What containers do people use? - * userContextId - * \+ Number of tabs in the container (when should we measure this? on every tab open?) -* Do people edit their containers? - * Click on "Edit Containers" - * Click to edit a single container - * Click "OK" - * Click to delete a single container - * Click "OK" - * Click to add a container - * Click "OK" -* Do people sort the tabs? - * Click sort - * \+ Number of tabs when clicked - * Average number of container tabs when sort was clicked -* Do users show and hide container tabs? - * Click hide - * \+ Number of tabs when clicked - * \+ Number of hidden containers when clicked - * Click show - * \+ Number of tabs when clicked - * \+ Number of shown containers when clicked -* Do users move container tabs to new windows? - * Click move - * \+ Number of tabs when clicked - * Average number of container tabs when new window was clicked -* How many containers do users have hidden at the same time? (when should we measure this? each time a container is hidden?) -* Do users pin container tabs? (do we have existing Telemetry for pinning?) -* Do users visit more pages in container tabs than non-container tabs? - -### Follow-up Questions - -What are some follow-up questions we anticipate we will ask based on any of the -above answers/data? - -* What is the average lifespan of a container tab? Is that longer or shorter than a regular tab? (if we don't have data on the latter, the former probably isn't worth gathering data on since we will have nothing to compare it to). - -## Data Collection - -### Server Side -There is currently no server side component to Containers. - -### Client Side -Containers will use Test Pilot Telemetry with no batching of data. Details -of when pings are sent are below, along with examples of the `payload` portion -of a `testpilottest` telemetry ping for each scenario. - -* The user shows the new tab menu - -```js - { - "uuid": , - "event": "show-plus-button-menu", - "eventSource": ["plus-button"] - } -``` - -* The user clicks on a container name to open a tab in that container - -```js - { - "uuid": , - "userContextId": , - "clickedContainerTabCount": , - "event": "open-tab", - "eventSource": ["tab-bar"|"pop-up"|"file-menu"|"alltabs-menu"|"plus-button"] - } -``` - -* The user clicks "Edit Containers" in the pop-up - -```js - { - "uuid": , - "event": "edit-containers" - } -``` - -* The user clicks OK after clicking on a container edit icon in the pop-up - -```js - { - "uuid": , - "userContextId": , - "event": "edit-container" - } -``` - -* The user clicks OK after clicking on a container delete icon in the pop-up - -```js - { - "uuid": , - "userContextId": , - "event": "delete-container" - } -``` - -* The user clicks OK after clicking to add a container in the pop-up - -```js - { - "uuid": , - "event": "add-container" - } -``` - -* The user clicks the sort button/icon in the pop-up - -```js - { - "uuid": , - "event": "sort-tabs", - "shownContainersCount": , - "totalContainerTabsCount": , - "totalNonContainerTabsCount": - } -``` - -* The user clicks "Hide these container tabs" in the popup - -```js - { - "uuid": , - "userContextId": , - "clickedContainerTabCount": , - "event": "hide-tabs", - "hiddenContainersCount": , - "shownContainersCount": , - "totalContainersCount": - } -``` - -* The user clicks "Show these container tabs" in the popup - -```js - { - "uuid": , - "userContextId": , - "clickedContainerTabCount": , - "event": "show-tabs", - "hiddenContainersCount": , - "shownContainersCount": , - "totalContainersCount": - } -``` - -* The user clicks "Move tabs to a new window" in the popup - -```js - { - "uuid": , - "userContextId": , - "clickedContainerTabCount": , - "event": "move-tabs-to-window" - } -``` - -* When a user encounters the disabled "move" feature because of incompatible add-ons - -```js - { - "uuid": , - "event": "incompatible-addons-detected" - } -``` - -* The user closes a tab - -```js - { - "uuid": , - "userContextId": , - "event": "page-requests-completed-per-tab", - "pageRequestCount": - } -``` - -* The user goes idle - -```js - { - "uuid": , - "userContextId": , - "event": "page-requests-completed-per-activity", - "pageRequestCount": - } -``` - -* The user chooses "Always Open in this Container" context menu option. (Note: We send two separate event names: one for assigning a site to a container, one for removing a site from a container.) - -```js - { - "uuid": , - "userContextId": , - "event": "[added|removed]-container-assignment" - } -``` - -* Firefox prompts the user to reload a site into a container after the user picked "Always Open in this Container". - -```js - { - "uuid": , - "userContextId": , - "event": "prompt-reload-page-in-container" - } -``` - -* The user clicks "Open in *assigned* container" to reload a site into a container after the user picked "Always Open in this Container". - -```js - { - "uuid": , - "event": "click-to-reload-page-in-container" - } -``` - -* The user clicks "Open in *Current* container" to reload a site into a container after the user picked "Always Open in this Container". - -```js - { - "uuid": , - "event": "click-to-reload-page-in-same-container" - } -``` - -* Firefox automatically reloads a site into a container after the user picked "Always Open in this Container". - -```js - { - "uuid": , - "userContextId": , - "event": "auto-reload-page-in-container" - } -``` - -### A Redshift schema for the payload: - -```lua -local schema = { --- column name field type length attributes field name - {"uuid", "VARCHAR", 255, nil, "Fields[payload.uuid]"}, - {"userContextId", "INTEGER", 255, nil, "Fields[payload.userContextId]"}, - {"clickedContainerTabCount", "INTEGER", 255, nil, "Fields[payload.clickedContainerTabCount]"}, - {"eventSource", "VARCHAR", 255, nil, "Fields[payload.eventSource]"}, - {"event", "VARCHAR", 255, nil, "Fields[payload.event]"}, - {"pageRequestCount", "INTEGER", 255, nil, "Fields[payload.pageRequestCount]"} - {"hiddenContainersCount", "INTEGER", 255, nil, "Fields[payload.hiddenContainersCount]"}, - {"shownContainersCount", "INTEGER", 255, nil, "Fields[payload.shownContainersCount]"}, - {"totalContainersCount", "INTEGER", 255, nil, "Fields[payload.totalContainersCount]"}, - {"totalContainerTabsCount", "INTEGER", 255, nil, "Fields[payload.totalContainerTabsCount]"}, - {"totalNonContainerTabsCount", "INTEGER", 255, nil, "Fields[payload.totalNonContainerTabsCount]"} -} -``` - -### Valid data should be enforced on the server side: - -* `eventSource` should be one of `tab-bar`, `pop-up`, `file-menu`, "alltabs-nmenu" or "plus-button". - -All Mozilla data is kept by default for 180 days and in accordance with our -privacy policies. diff --git a/install.rdf b/install.rdf index f340ede..cd4516c 100644 --- a/install.rdf +++ b/install.rdf @@ -7,7 +7,7 @@ true true true - Mozilla Containers + Firefox Multi-Account Containers Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate. diff --git a/package.json b/package.json index 8fc84ad..a87e30c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "testpilot-containers", - "title": "Mozilla Containers", + "title": "Firefox Multi-Account Containers", "description": "Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.", "version": "3.1.1", "author": "Andrea Marchesini, Luke Crouch and Jonathan Kingston", diff --git a/webextension/confirm-page.html b/webextension/confirm-page.html index da213f7..27aa01b 100644 --- a/webextension/confirm-page.html +++ b/webextension/confirm-page.html @@ -1,7 +1,7 @@ - Containers confirm navigation + Firefox Multi-Account Containers Confirm Navigation diff --git a/webextension/manifest.json b/webextension/manifest.json index 36b9574..0d601f7 100644 --- a/webextension/manifest.json +++ b/webextension/manifest.json @@ -1,9 +1,9 @@ { "manifest_version": 2, - "name": "Mozilla Containers", + "name": "Firefox Multi-Account Containers", "version": "3.1.1", - "description": "Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.", + "description": "Firefox Multi-Account Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.", "icons": { "48": "img/container-site-d-48.png", "96": "img/container-site-d-96.png" @@ -45,7 +45,7 @@ "browser_action": { "browser_style": true, "default_icon": "img/container-site.svg", - "default_title": "Containers", + "default_title": "Firefox Multi-Account Containers", "default_popup": "popup.html" }, diff --git a/webextension/popup.html b/webextension/popup.html index 8123f97..fd30419 100644 --- a/webextension/popup.html +++ b/webextension/popup.html @@ -1,7 +1,7 @@ - Containers browserAction Popup + Firefox Multi-Account Containers