Why are we doing this?
As we begin to support contribution notifications through the iOS app, we need a place for contributors to opt into and out of specific notification types.
Feature job story
As an existing editor I need a way to opt into and out of notifications on my iOS device.
Findings from Diary study
2 of 5 participants requested different ways to triage their push notifications or have granular control over their push notifications by type (eg. to only receive pushes for urgent or important types).
Quotes from Diary study
- It would be nice to have push notifications for important things: cancelled edits, for new message, for mentioning my username in talk pages, and to have usual notifications for page links, as an editor with more than 10,000 created articles, these notifications for me are very often.
- It would be great to have an extra tag in the push notifications, like a symbol or a word, for example [thanked]. So that we don't need to unblock the phone if the push is not very relevant, even if we keep it activated to act as a push.
Designs
Figma: https://www.figma.com/file/cedgOU5CyOR0UVqtjDOvzE/iOS-Notifications?node-id=2225%3A17654
| Logged out | Logged in - Settings | Logged in - Settings > Push Notifications (off) | Logged in - Settings > Push Notifications (on) |
|---|---|---|---|
Information architecture
- No settings related to notifications are shown when a user is logged out
- On log in there are two notifications related settings
- Type subscription (shared with web) is available under Settings > Account > Notification subscriptions
- Push notifications subscriptions are available under Settings > Push notifications
Error states
For error states please see https://phabricator.wikimedia.org/T288773
API Notes
To read notification preferences: https://www.mediawiki.org/wiki/API:Userinfo
To update notification preferences: https://www.mediawiki.org/wiki/API:Options
Notification Type > API associated value for reading and updating
Talk page message > echo-subscriptions-push-edit-user-talk
Thanks > echo-subscriptions-push-edit-thank
Talk page subscription > echo-subscriptions-push-dt-subscription
Translations > echo-subscriptions-push-cx
Mention > echo-subscriptions-push-mention
Failed mention > echo-subscriptions-push-mention-failure
Successful mention > echo-subscriptions-push-mention-success
Page link > echo-subscriptions-push-article-linked
Connection with Wikidata > echo-subscriptions-push-wikibase-action
Failed login attempts > echo-subscriptions-push-login-fail
Login from an unfamiliar device > echo-subscriptions-push-login-success
Page review > echo-subscriptions-push-page-review
User rights change > echo-subscriptions-push-user-rights
Edit revert > echo-subscriptions-push-reverted
Email from other user > echo-subscriptions-push-emailuser
Edit milestone > echo-subscriptions-push-thank-you-edit
Cross wiki summary preferences > echo-cross-wiki-notifications



