Closed Bug 1579974 Opened 4 months ago Closed 3 months ago

Add celebrating milestone toast when certain numbers of trackers are blocked

Categories

(Firefox :: Protections UI, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
Firefox 71
Tracking Status
firefox70 --- wontfix
firefox71 --- fixed

People

(Reporter: chsiang, Assigned: ewright)

References

(Depends on 1 open bug, Blocks 1 open bug, )

Details

(Whiteboard: [protection-report])

Attachments

(1 file)

Add a milestone toast that pops up when the number of trackers blocked reached certain numbers. These numbers are 1K, 5K, 10K, 20K, 50K, 100K. Call to action is to open about:protections.
UX specs is attached.

Type: task → enhancement
Priority: -- → P1
Assignee: nobody → ewright
Status: NEW → ASSIGNED

Problem: When a user first upgrades they will have 2 releases of data collected. The user will have already passed some milestones and might be close to the next one.
Solution: Show the most recent milestone as long as the user is more than (roughly) 1 week away from the next milestone (est 3k trackers). Change the copy to say "Firefox has blocked more than XXX trackers"

Problem: The 1k milestone is very close to the 5k milestone, heavy users might see this too soon.
Solution: Only show the 5k milestone if the 1k milestone was passed more than 1 week ago.
Other solutions:

  • remove the 5k milestone.
  • We might miss the 1k milestone by the time we are able to show a notification so we could condense this to a single milestone at either 1k, 2k, 3k, 4k or 5k. Whichever the user is closest to when we are able to show it.

milestone time estimations:
1k -> 0.5 - 4 days
5k -> 2.5 - 20 days
10k -> 0.5 - 2 months
25k -> 1.5 - 5 months
50k -> 2.5 - 10 months
100k -> 5 - 20 months

Estimations from informal poles hint at an average of 300 - 500 trackers per day, with the caveat that we are all heavy users.

Could you post the mock here once it's ready?

Flags: needinfo?(epang)
Flags: needinfo?(epang)
Blocks: 1584312
Blocks: 1584313

WIP patch
Posted to get an opinion on the general way the message is being sent/triggered.

TODO:

  • Add milestones and check to ensure one has been reached before triggering popup
  • Fix some UI issues with popup

Is this aimed at 71? It is likely too late for 70 at this point.

Flags: needinfo?(ewright)

(In reply to Liz Henry (:lizzard) from comment #5)

Is this aimed at 71? It is likely too late for 70 at this point.

Yes, this is aimed at 71, should land in the next couple of days.

Flags: needinfo?(ewright)
Pushed by ewright@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/adbcc583862c
Add celebrating milestone toast when certain numbers of trackers are blocked. r=k88hudson,johannh,fluent-reviewers,flod

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=adbcc583862cb6831a8821672474f27163fffda5&searchStr=chrome&selectedJob=271198876

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=271198876&repo=autoland&lineNumber=10330

Backout link: https://hg.mozilla.org/integration/autoland/rev/e6d052dfb017cbe2f1bfff27e9af8a34bffbf42e

[task 2019-10-14T20:44:49.039Z] 20:44:49 INFO - TEST-PASS | browser/components/newtab/test/browser/browser_asrouter_trigger_listeners.js | shouldn't receive unrelated observer notification -
[task 2019-10-14T20:44:49.039Z] 20:44:49 INFO - Buffered messages finished
[task 2019-10-14T20:44:49.040Z] 20:44:49 INFO - TEST-UNEXPECTED-FAIL | browser/components/newtab/test/browser/browser_asrouter_trigger_listeners.js | Uncaught exception - Wait for the observer notification to run - timed out after 50 tries.
[task 2019-10-14T20:44:49.040Z] 20:44:49 INFO - Leaving test bound check_trackingProtectionMilestone_listener
[task 2019-10-14T20:44:49.040Z] 20:44:49 INFO - GECKO(1755) | MEMORY STAT | vsize 7768MB | residentFast 452MB | heapAllocated 150MB
[task 2019-10-14T20:44:49.040Z] 20:44:49 INFO - TEST-OK | browser/components/newtab/test/browser/browser_asrouter_trigger_listeners.js | took 20395ms
[task 2019-10-14T20:44:49.040Z] 20:44:49 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-14T20:44:49.040Z] 20:44:49 INFO - TEST-UNEXPECTED-FAIL | browser/components/newtab/test/browser/browser_asrouter_trigger_listeners.js | Found an unexpected tab at the end of test run: https://example.com/browser/browser/components/newtab/test/browser/red_page.html -
[task 2019-10-14T20:44:49.101Z] 20:44:49 INFO - GECKO(1755) | ++DOCSHELL 0x10e644800 == 1 [pid = 1760] [id = {d6afa049-6936-ad4b-96e3-ff6c138cbb1d}]
[task 2019-10-14T20:44:49.101Z] 20:44:49 INFO - GECKO(1755) | ++DOMWINDOW == 1 (0x126c48020) [pid = 1760] [serial = 29] [outer = 0x0]
[task 2019-10-14T20:44:49.101Z] 20:44:49 INFO - GECKO(1755) | ++DOMWINDOW == 2 (0x10e716800) [pid = 1760] [serial = 30] [outer = 0x126c48020]
[task 2019-10-14T20:44:49.129Z] 20:44:49 INFO - GECKO(1755) | ++DOMWINDOW == 3 (0x1151b6400) [pid = 1760] [serial = 31] [outer = 0x126c48020]
[task 2019-10-14T20:44:49.129Z] 20:44:49 INFO - checking window state
[task 2019-10-14T20:44:49.177Z] 20:44:49 INFO - TEST-START | browser/components/newtab/test/browser/browser_asrouter_whatsnewpanel.js

Flags: needinfo?(ewright)
Pushed by ewright@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1096a169912f
Add celebrating milestone toast when certain numbers of trackers are blocked. r=k88hudson,johannh,fluent-reviewers,flod
Flags: needinfo?(ewright)
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 71
Regressions: 1588645
Depends on: 1594340
Depends on: 1594410
Depends on: 1600152
You need to log in before you can comment on or make changes to this bug.