Day-1 - Product Awareness & Engagement

User Story

As ABP I would like to increase the awareness & engagement of users who used the product for 1 day so they understand how ABP improve their web experience and avoid uninstalling it

Design

https://eyeogmbh.invisionapp.com/share/VCSAJMYWFMB#/screens

Spec

eyeo/specs/spec!277

Further information

Redirects have been requested in hub#25015 (internal).

Hints for testers

  • There's a slight chance that the bubble UI screenshot in the landing page is not being resized correctly in older versions of Chrome (up to 50), and Firefox (up to 54) because we can't reliably determine when it's done loading.
  • The tab title of the landing page is the same one as the message in its content (i.e. "Adblock Plus blocked ads ads [...]") and shouldn't contain any HTML tags.
  • The number of blocked ads in the message should be localized (e.g. displaying 12000 as "12.000" in German and "12,000" in English)
  • The notification should not be shown to users that are upgrading from an older extension version.
  • UI Nightlies don't yet include

Hints for translators

This change adds the day1.json file which contains the following new strings:

  • day1_blockelement_description
  • day1_blockelement_more
  • day1_blockelement_title
  • day1_community_contact
  • day1_community_contact_subject
  • day1_community_description_1
  • day1_community_description_2
  • day1_community_title
  • day1_header_more
  • day1_header_title
  • notification_day1_message
  • notification_day1_title

We're also reusing the string "firstRun_footer_copyright" so its description has been updated accordingly to reflect that.

Integration notes

  • In metadata.chrome:
    • Import the following files:
      • day1.html
      • day1.js
      • popup-dummy.html
      • popup-dummy.js
      • skin/day1.css
      • skin/popup-dummy.css
      • skin/backgrounds/toolbar.svg
      • skin/icons/day1/bug.svg
      • skin/icons/day1/tower.svg
      • skin/icons/day1/wave.svg
    • Import new translations from locale/*/day1.json.
  • Import initDay1Notification() function from adblockplusui/lib/day1Init.js but call it only for new users.
  • This change introduces a notification which is not shown if the "suppress_first_run_page" preference is set. Therefore we may want to indicate that in the description of the preference (e.g. by replacing "Whether to suppress the first run and updates page" with "Whether to suppress UIs that are shown on first run").
  • Allow notifications to open day1.html (see eyeo/adblockplus/adblockpluschrome#34 (closed)). The current implementation includes the link abp:day1 to indicate that.
  • Show notification as soon as it matches blocked count (see https://gitlab.com/eyeo/adblockplus/adblockpluscore/issues/42).
Edited by Thomas Greiner
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information