Highlight the Most Important Messages — Grouped Notifications

Takuma Kakehi
Dec 7, 2019 · 7 min read
Thanks to drawkit.io for the nice illustration

A lot of Android users might have been making fun of iOS notifications until iOS12 was released when the grouping function was introduced for notifications in WWDC 2018. With the release of iOS12, users also could easily customize the granular experience for how they would receive notifications.

Everything New with Notifications in iOS 12 on iPhone & iPad | AppleInsider

Notifications’ immense access to users’ attention has been one of the most valuable mechanics to bring users back to apps. According to Invesp, sending push notifications can boost app engagement by up to 88%, whereas 65% of users return to an app within 30 days when push notifications are enabled. Push notifications can contribute to app retention rates up to 10 times more than apps without them. (From Get Users Onboard with Your Push Notifications).

At the same time, more apps started to heavily rely on notifications for app retention, and this trend brought too many notifications for users. As too many notifications were sent, many of them began triggering users to delete apps. According to some studies, people are receiving an average of four times more notifications on their phones than what they want. In fact, the initial intent of the notification design was to keep users away from looking at their phones all the time, instead of grabbing their attention all the time.

How Smartphone Notifications Got Out Of Control | UX With Lauren Goode | WIRED

The goal of grouping notifications was to respect users’ priorities and organization of content that they would want to be alerted about. During the presentation at the WWDC 2018, there was a good recap on the evolution of notifications in iOS, which helped understand what the ideal experience could be today.

How iOS notifications evolved

The first notifications were interruptive

An interruptive modal appeared which made users make a choice regarding what action to take, one notification at a time.

The image source | Designing Notifications from WWDC 2018

Then, notifications were queued on the lock screen

With iOS4, users could see all missed notifications at a glance on their lock screens. Users could take an action to the most important notification from the queued list. Once the users took some action on a notification, other notifications would get dismissed automatically.

The image source | Designing Notifications from WWDC 2018

Notification center to keep missed messages

As more apps began sending more notifications, the Notification center became the place for all missed messages to stay until users made an action.

The image source | Designing Notifications from WWDC 2018

Rich notifications

The introduction of rich notifications was helpful for users to understand the detailed context of the notification without opening the app. However, requiring force-touch could have been too-much-to-ask for regular users.

The image source | Designing Notifications from WWDC 2018

Recaps on iOS12 notification improvements

Grouped notifications

As a default setting, multiple notifications from one app get grouped into one bundle. The top message module for a grouped notification consists of the most recent notification and summary, which briefly explains what the remaining messages might be. In addition, notifications can be bundled into multiple groups, instead of only one group each for the entire app. These subsets of groups has to make sense for the holistic organization of notifications.

The grouped notifications display the most recent message and the optional summary

Instant tuning

When users swipe one of notification messages to the left, they see “Manage” as one of the actions to take. This “Manage” option allows users to customize their notification experience. For example, they could set notifications to be sent quietly for the app — the quiet notifications would only accumulate on their lock screens, and would not vibrate their phones. However, users could also turn off notifications from this app completely.

Instant tuning gets you to customize the notification experience directly on the lock screen

Implementing grouped notifications

Custom grouping

Apple set up a pretty simple API to create threads (custom notification groups). For messages that you don’t want to categorize under a specific thread but in the default bucket, simply assign nil for threadIdentifier.

Creating a notification for a specific thread for local notifications:

let content = UNMutableNotificationContent()content.title = “Some content title”content.body = “Some content body”content.threadIdentifier = “some-notification-group-name” // Putting this notification into a specifc thread// orcontent.threadIdentifier = nil // Keeping this notification default

Creating a notification for a specific thread for push notifications:

// Creating Groups with Thread Identifiers for Push Notifications{   “aps” : {      “alert” : {         “title” : “Some content title”,         “body”: “Some content body”      }      “thread-id” : “some-notification-group-name”   }}

Dynamic summary

The API supports counts for unread notifications and arguments, for example, %u more messages or %u more messages from %@.

  1. Notifications count — %u more messages
  2. Notifications count and arguments — %u more messages from %@

Notification group summary with a count and argument:

let summaryFormat = “%u more messages from %@”return UNNotificationCategory(

identifier: “…”,
actions: [], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: nil, categorySummaryFormat: summeryFormat, options: [])

Creating a local notification for a thread with a summary argument:

let content = UNMutableNotificationContent()content.title = “…”content.body = “…”content.threadIdentifier = “…”content.summaryArgument = “For example a person’s name” // Send argument to the summary

Creating a push notification for a thread with a summary argument:

{   “aps” : {      “alert” : {         “title” : “…”,         “body”: “…”,         “summary-arg”: “For example a person’s name” // Send argument to the summary      }      “thread-id” : “…”   }}

The summaryArgument supports a string, and summaryArgumentCount supports an integer. The latter is useful when a group summary needs to calculate the sum of multiple counts for different messages in this group.

Custom group notification case study

Calendar app

Calendar app separated time-sensitive and actionable notifications from informative updates. For example, a notification about a meeting starting in 20min would be much more important and time-sensitive than a message about an invitation for another meeting happening next week. In this example, the Calendar app used threadIdentifier = “alerts for those that would require attention, and threadIdentifier = nil for another generic grouping.

The image source | Using Grouped Notifications from WWDC 2018

Message app

The message app creates groups based on a person or group. Each message in the Message app is expected to be short but responded to immediately. Each response from others in a particular group contributes to a linear dialogue. The notification groups were organized similarly- according to a person they were talking to, or a group.

The image source | Using Grouped Notifications from WWDC 2018

Mail app

Mail app shared a similar characteristic to the Message app. However, unlike messages, mail communications were slower and creating a unique notification group for each could have cluttered the Notification center. Instead, the Mail app respected its built-in organization system to create notification groups as well, such as VIP contacts or content filters in the inbox.

The image source | Using Grouped Notifications from WWDC 2018

Getting users to opt-in

However, exciting and rich notifications won’t matter if users do not allow notifications. Apps have only one chance to get users to opt-in with a single tap. I listed some interesting case studies in “Get Users Onboard with Your Push Notifications”, so please take a look at it when you have a chance. I wanted to add a few great experiences I found into the list.

Show notification types at the onboarding

For news organizations, notifications are crucial to delivering stories in the most timely manner. Some time-sensitive subjects may matter a lot to users. However, users won’t care about every single story. The New York Times app shows the settings with a list of notification types, and users can toggle on/off in the opt-in process. In this way, not only can users turn off topics they don’t care about, they can also learn what types of notifications can be expected from the app. Grouping notifications may also be organized in these taxonomies that users see and opt-in for.

The New York Times asks users topics to opt-in for before asking for their permissions

Customize schedules

Notifications can be annoying when the wrong message arrives at a bad time. iOS settings enable users to block notifications from dinging during their sleep times. Similarly, some apps ask users when or how many notifications they want to receive, before showing a single-chance notification opt-in dialogue.

CNN app on the left asks users for their preferences on the frequency of notification deliveries. Headspace, the meditation app asks users what time they want to receive notifications at. | Designing Notifications from WWDC 2018

Send notifications directly to the Notification center

Instead of asking users their preferences for receiving notifications, iOS12 started to allow apps to send directly to the Notification center without appearing on users’ lock screens. This feature requires users’ permissions. Users can see a sample of notifications before making any decisions. However, users still can turn off these notifications completely, or users may not discover them at all. These passive notifications may be suitable for an app type that wouldn’t have notifications usually.

The image source | Designing Notifications from WWDC 2018

Original post: http://www.ta-kuma.com/programming/highlight-the-most-important-messages-grouped-notifications/


Flawless iOS

🍏 Community around iOS development, mobile design, and marketing

Takuma Kakehi

Written by

Flawless iOS

🍏 Community around iOS development, mobile design, and marketing

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade