Beta Features/Echo notifications

From mediawiki.org
Note: In a recent meeting with WMF team members, we explored an alternative to this Echo notification proposal: New Feature Popup Guider. This popup solution seems more practical to the team, because it doesn't require integration with a more complex code base, and doesn't start a big community discussion about who can use Echo send announcements like these (which could require a long time to resolve).

Overview[edit]

Beta Features will trigger Echo notifications at different times. The goal is to increase visibility and get additional feedback, so the product teams can invite feedback and improve features before they are release, as well as let users know when a feature has been released.

Here are the notifications we propose to implement first: We have five desired notification types for Beta Features:

  1. New Feature Available: Sent to all logged-in Echo users when a new feature is available for testing. — bug 65182
  2. New Feature Update - New user: This feature you aren't using has been vastly updated just now.
  3. New Feature Update - Current user: This feature you are using has been vastly updated just now
  4. New Feature Release - New user: This feature you aren't using is about to be released to everyone. — bug 65185
  5. New Feature Release - Current user: This feature you are using is about to be released to everyone. — bug 65183

At this time, we are prioritizing Type 1 above (already in development), as well as Types 4 and 5, which Media Viewer would like to use.

To make these notifications work, these tasks will be needed:

Each task above is specified below. Corresponding design tickets are posted here on Trello. Corresponding multimedia tickets on Mingle include:

(this wiki page will be the primary specification for development purposes)

Update: Developer Kunal Mehta [legoktm] has started development on a first version of the "new feature available" notification, which is being reviewed on this Gerrit patch. It is roughly based on this original proposal for Echo notifications on BetaFeatures. However, more work is needed to test and debug this first version, as well as to create the second notification "New Feature Release", and the Echo and Beta Features extension updates. James Forrester is product manager for BetaFeatures and will lead this effort with the design team, with the multimedia team contributing as a customer and reviewer. James, Fabrice and Mark recommend that we work to get type 1 out the door ASAP and then work on other types, prioritizing 4 and 5 (as there are issues that impact a type 1 notification a week before switching it on by default).


New Feature Available[edit]

As a user, I want to know if a new feature is ready for testing, so I can try it out before it is released.


Acceptance Criteria

For this Type 1 Notification, we want to notify users when a new feature is ready for testing, so more of them get a chance to see it before it is released.

  • Show this notification content:
'Check out this new feature: < Media Viewer >. Try it in beta and share your feedback!'
  • Check to see if the user has enabled the feature already as a BetaFeature
  • If they haven't enabled it yet, link to that feature section in Beta Features preferences (with anchor link and highlight)
  • If they have enabled it, link to the feature overview page where they can discuss it. (e.g. 'About Media Viewer')
  • This notification is triggered manually with a maintenance script, on a per-wiki basis (so product teams can control the timing and reach of each notification)


Attributes

Here are proposed attributes for this notification:

  • Trigger: Manual (triggered by product team for each wiki, using maintenance script)
  • Main Link: Beta Features preference page (if user has not yet enabled this feature)
  • Secondary Link: Feature overview page (if user has already enabled this feature)
  • Payload: Feature name (e.g. Media Viewer)
  • Frequency: Medium
  • Priority: High
  • Category: New Feature


  • Flyout Summary: [icon] 'Check out this new feature: < Media Viewer >. Try it in beta and share your feedback!'
  • All-notifications Summary: [icon] 'Check out this new feature: < Media Viewer >. Try it in beta and <share your feedback>!' (2nd link to feature discussion)
  • Email Subject: 'Try out this new feature on Wikipedia: Media Viewer'
  • Email Summary: 'Check out this new feature on Wikipedia: Try it in beta and share your feedback! <Try now>.' (or 'Leave feedback' if already enabled)


  • Web preference default: Enabled for all users
  • Email preference default: Disabled for all users
  • Web bundling: Disabled
  • Email bundling: Disabled
  • Metrics type: "new-feature"


Notes
  • This will also require changes to the Echo extension (e.g.: new category label and icons, default enabling, FAQ, docs, metrics), as specified below
  • This will also require changes to the Beta Features extension (e.g.: anchors and highlights for direct link to the BetaFeature), as specified below


New Feature Release[edit]

As a user, I want to know if know if a new feature has been released, so I am not surprised by this new change and can learn more about it.


Acceptance Criteria

For this Type 4 and 5 Notification, we want to notify users when a new feature is released, to reduce stress and provide more information.

  • Show this notification content to new users that did not enable this as a beta feature:
'This new feature has just launched: < Media Viewer >. Learn more.'
  • Show this notification content to current beta users that already enabled this feature:
'This new feature has just launched: < Media Viewer >. Thanks for helping test it. Learn more.'
  • If they click on the feature name, link to the feature overview page where they can discuss it. (e.g. 'About Media Viewer')
  • This notification is triggered manually with a maintenance script, on a per-wiki basis (so product teams can control the timing and reach of each notification)


Attributes

Here are proposed attributes for this notification:

  • Trigger: Manual (triggered by product team for each wiki, using maintenance script)
  • Main Link: Feature overview page
  • Secondary Link: N/A
  • Payload: Feature name (e.g. Media Viewer)
  • Frequency: Medium
  • Priority: High
  • Category: New Feature


  • Flyout Summary: [icon] 'This new feature has just launched: < Media Viewer >. Learn more.'
  • All-notifications Summary: [icon] 'This new feature has just launched: < Media Viewer >. Learn more.'
  • Email Subject: 'This new feature has launched on [ sitename ]: Media Viewer'
  • Email Summary: 'This new feature has just launched on [ sitename ]: < Media Viewer >. <Learn more>.'


  • Web preference default: Enabled for all users
  • Email preference default: Disabled for all users
  • Web bundling: Disabled
  • Email bundling: Disabled
  • Metrics type: "new-feature"


Echo Extension Update[edit]


BetaFeatures Extension Update[edit]

  • Add anchor links to BetaFeatures preferences page
  • Show yellow highlights to indicate which BetaFeature is selected
  • Upgrade framework for supporting notifications, as needed
  • Upgrade maintenance script for sending notifications, as needed

More changes may be needed, once we have a final design. For more information, see this BetaFeatures extension (card #432).