Problem

A method must be provided to notify the user of arbitrary notifications, of varying priority, without unduly interfering with existing processes.

Solution

A single, consistent notification method is provided across the entire OS. This method does not interfere with any current processes the user is currently involved in, and allow it to be acted upon or dismissed very easily.

Multiple notifications must be able to all be displayed in a single view, so no notification obscures another.

Variations

Multiple variations of this pattern are available.

A dedicated notification strip or area may be used, with a portion of the viewport dedicated to notifications. This may be hidden when no notifications are present, but will fade in, slide up or otherwise appear when notifications are present. Selection of any notification item will display it in the application that hosted the notification.

Notifications may be combined with the Annunicator Row. This is in fact very common on basic and legacy devices, where the envelope icon means new voicemail or SMS messages have arrived. Additional notifications may be added to this area as well. These legacy utilizations are not Notifications as far as this pattern is concerned, as they are not generally interactive; the user must take separate action to dial into the voicemail system or open the text messaging application.

Instead... TALK ABOUT HOW ANDROID/WEBOS WORKS...

Pop-up as needed (smaller screens, older devices and scroll-and-select devices that have no good method to access additional on-screen items). Ha! I forgot iOS uses stupid-old pop-ups! DIRECT REFERENCE TO CONFIRMATION PATTERN. THAT'S WHAT THIS IS!...

Also: use it in special cases to replace annunicator... see terminology there for this. And eReader stuff I did.

Currently, incoming voice calls use a completely unique notification method, and automatically launch the phone application full screen. This is a holdover, and may not be a permanent condition. Using any of the notification methods above could provide as suitable a method of informing the user of the incoming call, and of accepting or declining it.

Interaction Details

Need to be able to deal with notifications, click on a bar and see the notifications...

When open or a popup, take various actions. See CONFIRM for ways to deal with this...

Multiple notifications, listed usually then click to get to details...

When a notification is acted up (e.g. the new text message is read) suspend any current operations or actions and save all user-entered data. When the action, application or process initiated by acting on the notification is completed, return to this previous condition.

Presentation Details

Notification areas are most commonly strips along the bottom of the viewport, to differentiate from the Title and Annunicator Row elements. The area should be at a fixed location within the viewport, and not scroll. Scrollbars will not overlap the area when it is displayed. Individual notifications will be displayed as line items, or may be grouped by category, with counters indicating the number of notifications for each category.

Antipatterns

Do not display notifications serially. If more than one is received at a time, use a multiple notifications method, instead of showing one single notification after another.

Examples