Sunday, September 4, 2016

iOS 10 Development for Executives: Notifications

Imagine those big, old fashioned movie theater marquees. The kind with those plastic letters that you snap in to spell the name of a film? Today in iOS 9, notifications are like that. Fixed, boring text. It’s like apps are sending you text messages. Some overachieving apps have actions you can tap. Most are just words inviting you in to the app.
iOS 10 Push Notification Banner
In iOS 10, notifications work more like a modern theater kiosk. The contents are now updatable, can include media, and can be expanded into a customizable view that acts like a simplified version of an app. 

iOS 10 has many new notification features, fight churn, improve customer on-boarding, and increase your app’s utility. Expanded notification user interfaces will increase user engagement by allowing you to build a more useful and visually exciting notification experience

Images, Video, and Audio

You can now attach images and video to your local or remote notifications. Careful use of video, audio, or animation will let you communicate more clearly with your users and create more engagement.

Stores and marketplace apps will be able to show physical goods in notifications. Media apps like Netflix are an obvious use case too: they can preview content. Productivity apps can push down brief tutorials to help new users get started. You can also use media to convey urgency in business-critical apps. 

Note that since the attachments are represented as URLs to files already downloaded, you will need to develop a UNNotificationServiceExtension to download and attach the necessary media files to support this. There are limits on the maximum file sizes and formats.

Carefully design your notifications. If your notifications seem more obnoxious that useful, your customers may deny your app’s notification privileges or wipe your app. You may wish to offer a “mute” button in your notification’s actions so that users turn down the volume of notifications rather than adding to your churn statistics.

Done right, media-rich notifications can be a great way to reduce churn, on-board your new customers, and increase engagement.

Custom Notification UI

You can now design a custom expanded view for your notifications. Your push notifications initially appear as they did in iOS 9: banners that appear at the top of the screen when the user is using the device, or a stack of batters on the lock screen. If your app offers an expanded view for a particular category of notifications, the user will be able to pull down, 3-d touch, or select the view action of the banner to show your custom view. This is called a UNNotificationContentExtension.

You create a this user interface using a subset of the the same UI frameworks your app already uses. This lets you visually represent much more nuanced data. Instead of some text and a photo thumbnail, you could show part of a map, the remaining steps in a checklist, shopping cart contents, or even a snippet of video from a security camera. Developers can even use the standard UIView animation blocks to create slick animations.

The screenshot you see above show a “quote of the day” notification from my app Passages on the home screen. The little bar at the bottom of the banner indicates that the user can swipe down to reveal the expanded view, which you see below. The expanded view allows the user to read the full quote and author name using the same fonts used in the app.
iOS 10 Notification Custom Expanded View (UNNotificationContentExtension)
iOS 10 limits user interaction to a list of buttons and text input, the same actions that you could attach to notifications in iOS 9. The custom part of your expanded view doesn’t respond to touch except by launching your app. You can’t enable sophisticated interactions like panning maps, but the extension can update it’s view in response to button or text input.

In iOS 9 notifications like “Something changed” or “You have a new event” were quite common. These simple messages were useful (and you’ll still need it for the compact view), but not very compelling to users. They also weren’t very actionable. For instance, drivers for a delivery company might not want to accept a job without seeing a map or traffic conditions.

Location can still be used to trigger notifications, but expanded views give them more utility. If your coffee shops are offering a coupon, why not cue up a notification reminder that triggers a few blocks from each shop? An expanded notification can make this more useful because you can present the user with a map or directions to the location.

Simple text notifications are often painful because without enough context it can be difficult to know if you’ve already handled the task behind a notification. The additional context you can provide will give the user more confidence to take action or dismiss the notification.

Unless you intend to build a complicated expanded view, your developers may be able to build a decent extension in a day or two of work. Since you build the expanded view with Storyboards and UIView controllers, you hopefully will be able to recycle views right out of your existing app. Your customers already know how your app works, so why not keep it consistent?

Modifying Notifications 

iOS 10 lets your app modify notifications even after they are delivered. This means there is no reason for users to see out-of-date notifications in notification center.

You can update a shipping notification with the latest status. Bills notifications can be switched to show payment. Expiring coupons can be updated to show urgency, and you can remove expired coupon notifications. If you update a notification, it will be moved to the top of the notification center.

You can also modify and enhance your notifications as they arrive by creating a UNNotificationServiceExtension. This can be useful if your app might have access to data your servers don’t, or if you wish to attach media to your notifications.

For instance, a notification service extension for a taxi driver app might use location data to show how far away a fare is. Or you might use end-to-end encryption for all your notifications, using the service extension to decrypt the message before it displays to the user.

For an stock app, you might update a share price in a notification to ensure the freshest possible data. For a messaging app, you might use the service extension to download the message and any attachments for instant display when the user opens the app.


WWDC 2016 had a strong theme of letting users get more done without opening apps. These notification improvements will let you make your customers more productive without ever launching your app.  

Advertisers and ad-funded apps will worry about this outside-of-app trend. Users who spend less time in apps spend less time looking at ads. Apps that don’t follow this trend may lose users to apps that do.

App makers who get their revenue from their customers instead of advertisers shouldn’t be as concerned. These enhancements should help keep your users more engaged, even if the traditional app metrics like session length may not show it.

No comments: