當應用程序不處於前台運行中時,消息通知能將某些信息及時告知用戶。比如收到新消息、收到新郵件、程序下載已完成或者待辦事項即將開始等。目前各移動平台上對消息通知的設計均有所差別,各有利弊。這裡整理了iOS、Android、Palm Web OS、Windows Phone和未揭開面紗的Meego這五個系統對消息通知的處理方式,並分析了它們各自的優缺點。希望能對研發過程中的設計選擇有所幫助。另外這裡主要分析的是通知的提示形式,不涉及Local和Push兩種通知邏輯。
iOS Notification
iOS的消息通知有兩種形式,Badge Notification和Alert Notification。
Badge Notification是指出現在應用程序圖標右上角的紅色圓形數字提醒,用於提醒一些無需即時處理的消息,比如程序更新數、未讀郵件數等。Badge Notification只有在Home Screen的對應屏上才能看到,因此不適合用於提醒一些重要性高或需要及時處理的通知。而且Badge Notification的形狀顏色大小等都是默認且無法改變的。
Alert Notification則非常直接地以對話窗口的形式出現在屏幕上,用於重要或需要及時處理的通知。不過Alert Notification常常粗暴地打斷正在進行中的任務,強迫用戶馬上做出選擇,且無法匯總查看所有通知,當有多條通知時,無法選擇性處理,只能按提供提供的順序一個個處理。
Android Notification
Android的消息通知有三種形式,Toast Notification、Status Bar Notification和Dialog Notification。
Toast Notification是指出現在屏幕上的暫時性通知,這種通知用於傳達一些告知類型的消息,短暫停留後會自動消失,無需用戶交互。比如告知下載已完成等。(Toast Noification這個說法最早是源於一個前MSN員工的提法,因為MSN的消息提醒是從底部向上輕彈,形式上很像一個面包從烤面包機中彈起的樣子,所以稱之為Toast Noification。)
Status Bar Notification是指以一個圖標或者滾動條文本的形式出現在系統頂部狀態欄上的通知。當應用程序處於後台運行狀態時,這種方式比較合適。這種通知形式的好處是既能即使被關注到,又無需打斷當前任務,可以從頂部下拉查看通知摘並做選擇性處理。
Dialog Notification類似於iOS的Alert Notification,以對話窗口的形式出現在屏幕上,用於重要或需及時處理的通知。
Palm Web OS Notification
Palm Web OS的消息通知有兩種形式,Banner Notification和Pop-Up Notification。
當有通知時,Palm會在界面底部會出現一條通知欄,用於承載通知。出現在這條通知欄上的便叫做Banner Notification。個人覺得Palm的Banner Notification是對消息通知的一個較完美的處理方式。首先它不論在Home還是App程序界面均可以關注到,不會打攪和中斷正在進行的任務;其次這個通知欄可在點擊後擴展,以摘要(Dashboard Summary)的方式展示通知;另外和Android相比將通知欄獨立於狀態欄可以讓通知更加清晰醒目(Android狀態欄上密布的狀態信息和通知信息有時會讓人較麻木,畢竟要從一堆狀態圖標中辨認出其中的通知圖標,也是需要耗費認知成本的)。
Pop-Up Notification和Alert Notification(iOS)、Dialog Notification(Android)類似,不同點是其出現的方式是從屏幕底部向上擠出,而不是出現在屏幕中央。
Windows Phone Notification
Windows Phone的消息通知有三種形式,Tile Notification、Toast Notification和Raw Notification。
WP7的主屏上鋪滿的應用程序比較比較像一塊塊方形的瓷磚,顧名思義Tile Notification正是出現在這些“瓷磚”上的通知,比如主屏上天氣app上顯示的溫度發生變化時出現的通知。可以通過改變瓷磚上的三個元素(title、backgroud和提示數)來達到提醒的目的,與iOS的Badge Notification相比,除了數字提醒外,還多了改變tile背景和title兩種方式。
Toast Notification上文已經做過說明,只是WP7中Toast Notification出現的位置是在屏幕頂部,與屏幕等寬,停留約10秒後自動消失。
Raw Notification是系統的原生通知,可將消息直接傳遞給應用程序,允許行應用程序運行時實時更新用戶界面。
Meego Notification
Meego還沒有完全揭開面紗,不過從Meego的“Design Guidelines”中可以看到如下描述:“The main use of the status bar is to show signal strength, time, and battery life (operator optional). In addition, it supports notifications. This bar may be removed in specific cases.” 可以猜測Meego的消息通知可能也會在狀態欄上於狀態信息並存,類似Android.
總結一下上面的整理,iOS的通知常打斷任務,騷擾比較嚴重;Android的頂部狀態通知欄有效解決了騷擾和選擇性處理的問題,不過整個狀態欄經常密布圖標,分辨起來稍有不便;Palm的Banner Notification相對來說是較完美的一個方案;WP7的Tile Notification較直觀,和自身Home Screen結合的比較好。