Why are we doing this?
We want to ensure that we have proper messaging and user education for the Notifications feature on iOS. We believe that creating list of instances where we will need to communicate with users (alerts, empty states, user education models, etc) will help us to ensure that we utilize a consistent voice and tone and that we are able to intercept the user with helpful information when needed, without overwhelming the experience. Copy docs can help with organizing and clarifying copy
Examples of previous copy audits
https://phabricator.wikimedia.org/T187403
https://phabricator.wikimedia.org/T177559
https://phabricator.wikimedia.org/T187404
Copy doc
In-App Notification Center
| Description | Mock | Messaging | Type | Notes |
|---|---|---|---|---|
| Notifications Center - logged out state | None | None | None | It is not possible to load the notifications center when logged out |
| Notifications Center - empty state (truly no notifications) | You have no unread messages | Empty state | It's unlikely that a user will see this empty state as they should receive a welcome message when they create an account | |
| Notifications Center - empty state (no web subscriptions) | You are not currently subscribed to any Wikipedia Notifications / Go to Settings on Wikipedia.org to edit your alert subscriptions | Empty state | Shown when all subscriptions are off on web | |
| Notifications Center - empty state (caused by filters like read/unread) | You have no unread messages / Remove [x] filters to see more messages | Empty state | ||
| Notifications Center - no connection | No internet connection | Toast | If the new design cannot be adopted, please use the current toast design | |
| Notifications Center - bulk importing notifications in progress (triggered on first load, after changing languages, after changing types) | Checking for notifications... | Bottom toolbar message | ||
| Notifications Center - push permissions not enabled (maybe not needed if we don't intend to mention their push settings in the center) | Turn on push notifications? / Wikipedia is a collaborative project and turning on push notifications can make it easier to keep up-to-date with messages, alerts and ‘thanks’ from fellow editors. / Turn on push notifications / No thanks | Modal | ONLY to be shown on FIRST load of in-app notifications center. Tapping on the 'Allow' option should show the standard push notifications system request | |
| Notifications Center - push permissions denied (maybe not needed if we don't intend to mention their push settings in the center) | None | None | None | |
| Notifications Center - push permissions enabled, but device subscription failed (maybe not needed if we don't intend to mention their push settings in the center) | Device subscription for push failed | Toast | Tapping on toast should bring the user to the settings screen related to push subscriptions. Toast should only appear upon load of the In-app Notifications Center and should dismiss after the same interval of time as other toasts. | |
| Notifications Center Bell Icon - explore feed is turned off and user is logged out | None | Presentation state | ||
| Notifications Center Bell Icon - explore feed is turned on and user is logged out | None | Presentation state | ||
Settings
| Description | Mock | Messaging | Type | Notes |
|---|---|---|---|---|
| App Settings Root Screen - logged out state. anything different? still show cell to go to notifications type screen? | None | Presentation state | Do not show Notifications settings when the user is logged out. We will need to add this setting back in if we bring back non-communications focused notifications. | |
| Notification Settings Types Screen - logged out state | None | None | None | Do not show Notifications settings when the user is logged out. We will need to add this setting back in if we bring back non-communications focused notifications. |
| Notification Settings Types Screen - logged in state, but user hasn't granted push permissions yet | Be alerted to activity related to your account, such as messages from fellow contributors, alerts and notices. All provided with respect to privacy and up to the minute data. | Presentation state | ||
| Notification Settings Types Screen - logged in state, but user is in a DENIED permissions state, need a callout to push to iOS settings to enable in order for them to receive push. | Be alerted to activity related to your account, such as messages from fellow contributors, alerts and notices. All provided with respect to privacy and up to the minute data. | Presentation state | Similar to the screen above, but the toggle is replaced with a chevron, tapping will push the user to system settings | |
| Notification Settings Types Screen - logged in, has enabled push permissions, but something has failed with device token generation or echo subscription. need an error state something went wrong with setup for push notifications, and to try again later. | Unable to Check for Echo Notification subscriptions / An error occurred while checking for notification subscriptions related to your account / Cancel or Try again | Alert | ||
| Notification Settings Types Screen - connection error when trying to update toggle preference states to server | Unable to Check for Echo Notification subscriptions / An error occurred while checking for notification subscriptions related to your account / Cancel or Try again | Alert | ||
Push Notification Content
- Push Notification Content (service extension) - user receives a push notification, but we determine there is no new unread notification to display (perhaps user already saw it on desktop and marked as read during the push delay, or maybe they changed their notification types preferences to filter it out before the push went out)
- Push Notification Content (service extension) - user receives a push notification, but there was an API fetch failure to populate its content (service is down) or it timed out due to poor or no connection
- Push Notification Content (service extension) - user receives a push notification, but there was an API fetch failure to populate its content because user is logged out (not sure if this is possible)
- Push Notification Content (service extension) - user receives a push notification, but it's an unrecognized type, need to show default information that we are certain will be available from the notification object
- Push Notification Content (service extension) - user receives a push notification, but we detect there are multiple new notifications to coalesce. Also these notifications are the same type. (all thanks, for example)
- Push Notification Content (service extension) - user receives a push notification, but we detect there are multiple new notifications to coalesce. Also these notifications are different types. (one thanks, two talk page messages, one milestone, for example)
- Push Notification Content (service extension) - user receives a push notification, but instead of "checkEchoV1" in the payload it sends us "checkEchoV2". How do we react? (suggestion: don't try to fetch content from API, show default "New activity on Wikipedia" text).
For all of the above (in this section) I propose that we utilize the general 'New activity on Wikipedia' push notification.
Related
https://phabricator.wikimedia.org/T288668
https://phabricator.wikimedia.org/T288870
https://phabricator.wikimedia.org/T288873
https://phabricator.wikimedia.org/T287766
https://phabricator.wikimedia.org/T288874
https://phabricator.wikimedia.org/T287768
https://phabricator.wikimedia.org/T288652
https://phabricator.wikimedia.org/T288688
https://phabricator.wikimedia.org/T287310


















