Page MenuHomePhabricator

BetaFeatures: Add a Notification for "A new Beta Feature is available to try"
Open, MediumPublic

Description

Migrated from: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/425

Narrative

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

Acceptance Criteria

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.

Be sure to check this wiki specification for Echo notifications of Beta Features , which will replace this Mingle card for development purposes.

To that end, we propose the following tasks:

  • Use the proposal and development update below)
  • Show this notification content for the ''New Feature Available' message: Check out this new feature: [ Media Viewer ]. Try it in beta and share your feedback!
  • We need a new notification category label for 'New Feature'
  • We also need a new category icon for that notification
  • 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
  • If they have enabled it, link to the feature overview page where they can discuss it. (e.g. 'About Media Viewer')
  • This feature can be triggered manually , on a per-wiki basis (so product teams can control the timing and scope of each local notification)

Notes:

  • More design input is needed before we can properly estimate this task.
  • This will also require changes to the Beta Features extension (e.g.: anchors for direct link to the BetaFeature), to be specified in T77352: BetaFeatures Extension Update for Notifications
  • "New Feature Release": We also want to notify users when the feature has released (with a separate notification, to be specified in a different task).
  • More detailed specs for this new Echo notification will be needed, as shown on this Echo Feature Requirements page.

Development Update

Developer Kunal Mehta [legoktm] has started development on a first version of the "new feature available" notification, which is being reviewed on this original proposal for BetaFeatures notifications.

However, more work is needed to test and debug this first version, as well as to create the second notification "New feature has launched", and the Beta Features extension update.


See also: (Alternative idea) T77366: Popup Guider for Beta Features


Whiteboard: https://trello.com/c/e3aV4ilw/107-new-beta-feature-is-available
URL: https://www.mediawiki.org/wiki/Beta_Features/Echo_notifications#New_Feature_Available
See Also:
T67183: BetaFeatures: Add a Notification for "A Beta Feature you are using is about to graduate"
T67185: BetaFeatures: Add a Notification for "A Beta Feature you aren't using is about to graduate"
T61954: BetaFeatures: Add a Notification for "A Beta Feature has been auto-enabled for you"
T67191: BetaFeatures: Add a Notification for "A Beta Feature you have enabled has been updated"

Details

Reference
bz65182

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:18 AM
bzimport added a project: BetaFeatures.
bzimport set Reference to bz65182.
bzimport added a subscriber: Unknown Object (MLST).

Removing 'easy'; new Echo notifications are apparently very hard.

@James, talked to Quim/Yuvi/TheDJ and there has been a bunch of community members wanting to build echo notifications, Quim asked me to create all the ones we needed so that he could help pair community developers up with them

(In reply to Jared Zimmerman (WMF) from comment #2)

@James, talked to Quim/Yuvi/TheDJ and there has been a bunch of community
members wanting to build echo notifications, Quim asked me to create all the
ones we needed so that he could help pair community developers up with them

Sounds good!

These bugs should probably note somewhere that there's still on-going discussion about whether we want to do these at all. Lots of people are worried about over-whelming the Notifications drawer into something filled with notes about software, especially for inactive/semi-active users who come back after two months to find five mysterious notes.

(In reply to James Forrester from comment #1)

Removing 'easy'; new Echo notifications are apparently very hard.

I wouldn't say "very hard", but it's definitely not easy ;)

(Copying from merged task)

Additional thoughts on this, from https://meta.wikimedia.org/wiki/Community_Engagement_%28Product%29/Process_ideas#Notifications_for_Beta_Features_.2F_More_deliberate_notifications (with minor cleanup)

  • All users get notified each time a new Beta Feature is available, so they can try them out, make suggestions, highlight issues, and give other feedback
  • All users get notified in advance each time an existing Beta Feature "graduates" to be on for all users, so they can give last-minute feedback and for awareness
  • Users can opt out of these notifications if they aren't interested, but by default they're available to all for maximum feedback opportunities and awareness
  • Perhaps we don't want to nag people about new beta features. They'd disable notifications with a "wth is this? I'm not tech-savvy" and never see them again.
  • Instead of notifications, it could simply say the dates (when was it added to beta?) in the beta tab (and a "new!" red note perhaps).
  • Or perhaps mention very very short summary of such recent news in the sidebar.
  • This (and the beta tab itself) should be available to unregistered contributors too.
  • Information about changes would be served to users, rather than needing to be found by users.
  • Centralizing communications allows the WMF or volunteer development projects to inform users of changes whether at once or on a project per project basis

Advantages of Notifications for Beta Features

  • Notify users of up-and-coming features, clarifying that the feature is incomplete and testing/feedback is requested
  • Even if a user does not want to test or give feedback, they are made aware that there is such a feature/system/product in the works
  • Users can opt out of these notifications if they really don't care about such things
  • Proactively reaching users about changes helps communities to feel prepared for change or invited to participate in collaborate when notified of a beta feature launch or a "last chance to give feedback before deployment."
  • Reduces need for users to go find information; brings information to communities

Disadvantages of Notifications for Beta Features

  • Could be very spammy for low-stickiness users unless the notifications time out even if unread at some point (so you don't come back after 2 months away to find 12 notifications about software changes)
  • Would be very spammy unless implemented as a proper cross-wiki notification type (so you don't get the notification on French Wikiversity, then on French Wikiquote, then on Dutch Wikipedia, then…)
  • We currently can't do notifications for logged-out users (readers or editors), as the Notifications system doesn't support that
  • Only works for code we can split off into Beta Features; not really possible for wider-reaching features like Flow (pages can opt in, users can't) or
  • If implemented with nagging/popups/noise, people would close this off and get rid of this, and remain unaware of future changes.
  • Could become noisy if the same systems that notify users of other events are used
  • Could become annoying as in "one more notification system"

This comment from T76573#1841928 seems relevant to the discussion:

Probably pertinent to this discussion is the fact that a user who has opted in to the "Automatically enable all new beta features" mode will not know when a new Beta feature has been added to their interface. Equally, if a feature's behaviour has changed since it was enabled the user might not know either.

Even if we aim to notify everyone of new features being available in the future. An initial approach could be to notify those users that enabled the "Automatically enable all new beta features" that a new beta feature was enabled for them. This makes the changes the user my encounter less of a surprise and may encourage to try and provide feedback about the new features.

Note that we don't currently have any programmatic way inside BetaFeatures to know if features are "new", let alone which versions have gone out since when, so doing this would require building that. (We'd not want a returning user, away for six months, to get ten different notifications about new features all at once, even if they were bundled.)