Page MenuHomePhabricator

Updates to Notification settings
Closed, ResolvedPublic

Assigned To
Authored By
scblr
Jul 27 2021, 2:10 PM
Referenced Files
F34634313: Screenshot_20210906-144247.png
Sep 6 2021, 12:56 PM
F34634321: Screenshot_20210906-145237.png
Sep 6 2021, 12:56 PM
F34626754: Screen Shot 2021-08-31 at 10.26.50 AM.png
Aug 31 2021, 2:27 PM
F34622235: Screenshot_20210827-112600_Wikipedia Dev.jpg
Aug 27 2021, 6:29 PM
F34622234: Screenshot_20210827-112042_Wikipedia Dev.jpg
Aug 27 2021, 6:29 PM
F34620566: milestone.svg
Aug 26 2021, 10:35 AM
F34620567: alert.svg
Aug 26 2021, 10:35 AM
F34620571: page-link.svg
Aug 26 2021, 10:35 AM

Description

Designs
1)2)3)
Settings 1.png (1×720 px, 85 KB)
Settings 2.png (1×720 px, 29 KB)
Settings 3.png (2×720 px, 117 KB)

👉 Link to designs on Figma

Notes
  1. Notification settings are accessed via overflow menu on Notifications home. The overflow menu contains a 'Mark all as read' option if the user has unread notifications.
  1. Setting screen consists of a link to the system’s push notification channels (Customize push notifications) and 'a Hide read notifications' option. The latter hides notifications that the user has marked as read. The setting is disabled by default.
  1. The 'Customize push notification' links leads users to the device’s general notification settings, where they can fine tune Wikipedia notification channels
List of notifications (copy, priority level, icon)

Talk page
Channel importance level: High
Description: Messages from talk pages
edit-user-talk

Mention
Channel importance level: High
Description: Someone mentions you in a page
mention
mention-failure
mention-success

Email received
Channel importance level: High
Description: Someone sent you an email through the wiki.
emailuser

Revert
Channel importance level: High
Description: One of your contributions was reverted
reverted

User rights changes
Channel importance level: High
Description: Received when your user rights change
user-rights

Thanks
Channel importance level: Default
Description: Someone thanks you for an edit
edit-thank

Milestone
Channel importance level: Default
Description: Certain edit counts are reached
thank-you-edit

Login
Channel importance level: Default
Description: Your log in activities
login-fail

System
Channel importance level: Default
Description: Messages from system
system
system-noemail
system-emailonly
article-reminder

Links to articles you created
Channel importance level: Default
Description: Received when a new link is made to a page you created
article-linked

Event Timeline

Hi @schoenbaechler

For the 3) that shows the list of notification channels with icons and descriptions, here is the exact implementation:

Screenshot_20210818-180851_Settings.jpg (2×1 px, 217 KB)

Looks like there's no way to add and show the icon in the list and also the description is device dependant, which cannot see the descriptions on my Samsung S9 and Samsung S21.

Thanks @cooltey — I think that’s fine for now! One question though → what does the “Show notifications” toggle below ”Show notifications” do? Can we remove it?

In T287477#7295216, @schoenbaechler wrote:

Thanks @cooltey — I think that’s fine for now! One question though → what does the “Show notifications” toggle below ”Show notifications” do? Can we remove it?

@schoenbaechler
That's an auto-generated toggle option and it can toggle all notifications in the "Wikipedia notifications" group at once. I can check if it is possible to remove it.

Yeah I think the global “Show notifications” toggle (blue background color) will suffice @cooltey

Hi @schoenbaechler,

Here are the screenshots from Pixel 3 XL emulator:

Screenshot_1629485364.png (2×1 px, 205 KB)

The icons in the screenshot represent the IMPORTANCE level of the notifications and cannot be replaced with a custom icon.

Also, the descriptions below the notification item are system generated.

Screenshot_1629485323.png (2×1 px, 183 KB)

This screenshot presents the detail of each notification, you can see the description is on the bottom of this page, and if you set this notification to "Silent", this "ring" icon will disappear from the list item.

thanks @cooltey for all the specs. quickly checked the list in T288064:

  • Thanks
  • Talk page
  • Mention
  • Milestone
  • Revert
  • Successful mention?
  • Unsuccesful mention?
  • Email received
  • Failed login
  • Log in from an unfamiliar device
  • User rights change
  • Page patrolled
  • Links to articles you created

A few notes and questions:

  • Does Mention include 'Succesful' and 'Unsuccesful' mention notification types as well?
  • What about the 'Email received' notification type, it’s not listed?
  • What notifications does 'System' include?
  • What about the other, not checked notification types in the list above? (is it included in System?)

Thanks!

A few questions:

  • What happens to the notifications that are marked as read in secondary languages?
  • If I mark something as read and decide to hide them in a secondary language, will I get it back? What about in a primary language?
In T287477#7302316, @schoenbaechler wrote:

thanks @cooltey for all the specs. quickly checked the list in T288064:

  • Thanks
  • Talk page
  • Mention
  • Milestone
  • Revert
  • Successful mention?
  • Unsuccesful mention?
  • Email received
  • Failed login
  • Log in from an unfamiliar device
  • User rights change
  • Page patrolled
  • Links to articles you created

A few notes and questions:

  • Does Mention include 'Succesful' and 'Unsuccesful' mention notification types as well?
  • What about the 'Email received' notification type, it’s not listed?
  • What notifications does 'System' include?
  • What about the other, not checked notification types in the list above? (is it included in System?)

Thanks!

After digging into the source code of the MediaWiki extension below, I found something different between the API and the app.

https://github.com/wikimedia/mediawiki-extensions-Echo/blob/5cfc33d546512b1a3a55bfb820f106fee2999e18/extension.json#L618-L696

and these are the API provided notification categories:

system
system-noemail
system-emailonly
user-rights
other
edit-user-talk
reverted
article-linked
mention
mention-failure
mention-success
emailuser
article-reminder
thank-you-edit
watchlist
minor-watchlist

and here are what we currently have in the app:

system
system-noemail
thank-you-edit
edit-user-talk
edit-thank             => this might be a custom category.
reverted
login-fail             => this might be a custom category.
mention

Does Mention include 'Succesful' and 'Unsuccesful' mention notification types as well?

There are three different categories of mention (mention, mention-failure, mention-success), so we can separate them out. Please provide the descriptions of the categories.

What about the 'Email received' notification type, it’s not listed?

Not sure which category will show "Email received" because it has two email related categories: system-emailonly and emailuser, might be emailuser.

What notifications does 'System' include?
What about the other, not checked notification types in the list above? (is it included in System?)

If we are not explicitly set up categories in the app, all the custom categories will be considered as a system notification.

These should be matched to the list you provided:
Email received => emailuser
Failed login => login-fail
Log in from an unfamiliar device => not sure now, but I can look into this.
User rights change => user-rights
Page patrolled => watchlist or minor-watchlist
Links to articles you created => article-reminder

A few questions:

  • What happens to the notifications that are marked as read in secondary languages?
  • If I mark something as read and decide to hide them in a secondary language, will I get it back? What about in a primary language?

Hi @JTannerWMF

I didn't do this in the ticket, and I believe these questions can be a separated ticket that actually implements the "Mark all as read" function.

Suggestions for channels

Thanks a lot for the investigations @cooltey. Based on that, I suggest the following channels, per specs on Help:Notifications. Also added the levels for channel importance, per Material Design spec.

Talk page
Channel importance level: High
Description: Messages from talk pages
edit-user-talk

Mention
Channel importance level: High
Description: Someone mentions you in a page
mention
mention-failure
mention-success

Email received
Channel importance level: High
Description: Someone sent you an email through the wiki.
emailuser

Revert
Channel importance level: High
Description: One of your contributions was reverted
reverted

User rights changes
Channel importance level: High
Description: Received when your user rights change
user-rights

Thanks
Channel importance level: Default
Description: Someone thanks you for an edit
edit-thank

Milestone
Channel importance level: Default
Description: Certain edit counts are reached
thank-you-edit

Login
Channel importance level: Default
Description: Your log in activities
login-fail

System
Channel importance level: Default
Description: Messages from system
system
system-noemail
system-emailonly
article-reminder`

Links to articles you created
Channel importance level: Default
Description: Received when a new link is made to a page you created
article-linked

More questions 🤔
  • Is article-reminder the Milestone notification? My understanding is that article-linked is the Links to articles you created notification. If it’s not the Milestone notification, what is it, then?
  • I’m not quite sure what you mean by edit-thank and login-fail being a custom category?
    • Isn’t the edit-thank category the same as thank-you-edit (see spec)? If not, what’s the difference?
    • Is login-fail the default Failed login attempts notification?
  • What are the Watchlist related notification types doing? My understanding is/was that the Watchlist currently doesn’t have notification capabilities?

Hi @schoenbaechler

  • Is article-reminder the Milestone notification? My understanding is that article-linked is the Links to articles you created notification. If it’s not the Milestone notification, what is it, then?

As we discussed in the meeting, the thank-you-edit represents Milestone. If we are not sure what article-reminder is, we can consider it as a System notification.

  • I’m not quite sure what you mean by edit-thank and login-fail being a custom category?
    • Isn’t the edit-thank category the same as thank-you-edit (see spec)? If not, what’s the difference?

edit-thank = Thanks
thank-you-edit = Milestone

That's true that login-fail is the default failed login attempts, and it is also true that the login-fail might be a custom notification category.

  • What are the Watchlist related notification types doing? My understanding is/was that the Watchlist currently doesn’t have notification capabilities?

I have done some tests for triggering the watchlist notifications but didn't see any of them. I guess we can ignore it by now.

Here is the current implementation of the notification channels:

Screenshot_1629937440.png (2×1 px, 203 KB)

The order of the list is alphabetical ascending-order by its channel id, so article-liked will be the first item.

since we are adding three notification categories to the channel, would it be possible to provide icons for them? Thanks!
emailuser
user-rights
article-linked

Per @Pginer-WMF’s feedback → Set Links to articles you created priority to maybe low as there’s feedback from experienced users that it’s rather annoying.

scblr updated the task description. (Show Details)

This all sounds good to me @cooltey. I updated the the task’s description with the specs you provided and the new icons.

👉Please make sure to replace all icons since they have been newly designed on 24*24dp canvas for more visual harmony.

❓Also, what icon are we currently using for System notifications ?

@schoenbaechler

👉Please make sure to replace all icons since they have been newly designed on 24*24dp canvas for more visual harmony.

Done

❓Also, what icon are we currently using for System notifications ?

Screenshot_20210827-112042_Wikipedia Dev.jpg (2×1 px, 296 KB)
The current one (the last item)
Screenshot_20210827-112600_Wikipedia Dev.jpg (2×1 px, 349 KB)
I can update it to the "settings" icon, not sure if it is fine to you.

Also, what icon are we currently using for System notifications ?

Screenshot_20210827-112600_Wikipedia Dev.jpg (2×1 px, 349 KB)
I can update it to the "settings" icon, not sure if it is fine to you.

Sounds like a good suggestion to use the 'Settings' icon for system notifications @cooltey.

Pinging @cmadeo here — what type of icon are you using for system notifications (e.g. system, system-noemail, system-emailonly) on iOS?

Thanks all!

Screen Shot 2021-08-31 at 10.26.50 AM.png (304×280 px, 16 KB)

@schoenbaechler this is our fall back icon, which I believe that we will be using for these lesser used notifications as well.

Thanks @cooltey, some feedback 👇

01) Change this label to 'All “Wikipedia” notifications` (it currently uses the word notifications twice.

Screenshot_20210906-144247.png (2×1 px, 202 KB)

02) Question — why do “Other” notifications don’t have a bell icon? Is it because of channel importance? If yes, what is the current importance level of these notifications? I think they should be set to low — do you agree with that?

Screenshot_20210906-145237.png (2×1 px, 211 KB)

Dbrant subscribed.

Knocked this out, too, while testing other stuff. NOTE: you will need to uninstall/reinstall to see this change.

02) Question — why do “Other” notifications don’t have a bell icon? Is it because of channel importance? If yes, what is the current importance level of these notifications? I think they should be set to low — do you agree with that?

That's exactly right: the channels that have a "bell" icon are High importance, meaning that the user might hear a tone or vibration with these notifications. The ones that don't have a bell icon are low importance, and I agree that they should be.

Great work @Dbrant! 👏

In addition to the 'Low' channel importance for 'Other' notifications, we differentiate between 'High' and 'Default' (or 'Medium') channel importance levels for Wikipedia notifications, per the task’s description:

Talk page
Channel importance level: High

Mention
Channel importance level: High

Email received
Channel importance level: High

Revert
Channel importance level: High

User rights changes
Channel importance level: High

Thanks
Channel importance level: Default

Milestone
Channel importance level: Default

Login
Channel importance level: Default

System
Channel importance level: Default

Links to articles you created
Channel importance level: Default

This is a direct representation of the triage made in T288064 ('All' and 'Mentions'). 'Default' maps to 'Medium' per Notification importance spec, which does not trigger sound. Do you see any disadvantages in doing this @Dbrant?

(Maybe this discussion is of interest to @JTanner as well...)

@schoenbaechler All the channel importance settings are already as laid out.

ABorbaWMF subscribed.

Settings are present on 2.7.50376-r-2021-09-27, I am still working on the functionality testing

Looks good on 2.7.50380-r-2021-10-18

edit - corrected build number used to test