Web網(wǎng)站通知系統(tǒng)設(shè)計
寫在前面: 通知系統(tǒng)是網(wǎng)站信息傳播機制的重要的一部分,足夠?qū)懸淮笳聛碚f明。本文只梳理設(shè)計原則,后續(xù)相關(guān)內(nèi)容會持續(xù)更新。 這里的通知包括但不限于公告、提醒或消息(不同使用場景下的功能定義不同)。 關(guān)于各客戶端平臺(ios、android、wp等)的通知機制,在其交互設(shè)計指南中有更詳細的說明,大家可自行參考。
一、通知系統(tǒng)定義
通知系統(tǒng),顧名思義即通知信息的傳達處理系統(tǒng)。目的是為了讓用戶獲得需要得到的消息及提醒并進行處理。
這里的“需要得到”有兩層意思: 1、用戶彼此互動觸發(fā)的信息流(留言、評論或者回復(fù)、私信等) 2、網(wǎng)站希望用戶了解關(guān)注的信息(系統(tǒng)公告等)
通知系統(tǒng)設(shè)計的原則可簡單的歸納為: 1、消息傳播效率最高(獲取、處理、信息傳達、用戶反饋等效率) 2、避免產(chǎn)生騷擾(噪音、頻繁提示)
二、通知分類
不用的平臺和產(chǎn)品本身由于對業(yè)務(wù)的需求不一樣,種類也是有區(qū)別的。
大致可分為以下幾種:
三、通知邏輯實現(xiàn)機制
通知的邏輯精簡后如下:
?
現(xiàn)對這幾個環(huán)節(jié)分開說明:
(一)通知合并
通知在推送之前需要進行匯總合并,目的在于提高消息傳播處理效率;減少騷擾,降低噪音;平衡服務(wù)器壓力。
1)合并周期:
固定時間內(nèi)的消息全部匯總(24小時內(nèi)/30天等);
無固定時間(只要未處理/未讀即匯總)
當然一般都組合著用:合并24小時內(nèi)未處理消息
2)分類合并
同種類進行合并(如n條留言合并為1條)
同一發(fā)起人合并(如張三給你發(fā)來的n條私信)
同一時間周期合并(如24小時共收到n條評論)
(二)通知分發(fā)
通知按照規(guī)則匯總完成后,系統(tǒng)將其通過通知管道推送到用戶,以便用戶處理。
1)分發(fā)方式
分發(fā)方式與Feed系統(tǒng)類似,多采用Push方式,即在指定時間內(nèi)主動推送給用戶。部分特定類型需要用戶請求(Pull)拉取未讀消息。
目前大部分通知優(yōu)先推送未處理通知合并后的總數(shù),已提醒用戶已有新消息需要處理。用戶點擊數(shù)字后再去服務(wù)端請求具體的消息內(nèi)容。此種方式綜合考慮了成本、壓力和體驗。當然,某些極端情況下需要進行優(yōu)化處理:如未讀消息超過1000,用戶請求時先推送前50條或者放入cache中等。技術(shù)童鞋會有各種手段,這里不做詳述。
2)分發(fā)頻率(時間)
分發(fā)時間主要根據(jù)消息的優(yōu)先級來做區(qū)隔:
3)分發(fā)管道
分發(fā)管道即消息通知的具體推送渠道,根據(jù)業(yè)務(wù)類型可以分為:Web、App、短信、郵件等。
(三)用戶處理
根據(jù)前文提到的分發(fā)方式,對于通知的處理在邏輯上可以分為兩層:通知狀態(tài)的處理和通知內(nèi)容的處理。
1)狀態(tài)的處理狹義的理解即為是否已讀(已處理)。
通常初始數(shù)字即為系統(tǒng)推送過來的未讀總量,用戶點擊數(shù)字進入相關(guān)功能列表查閱后,讀取的動作完成,未讀數(shù)字相應(yīng)減少。
有幾種情況需要變通處理:
若用戶未讀信息較多(m=100),但第一頁列表只能顯示(n=10)條的話,那未讀數(shù)字即為m-n=90;
某些產(chǎn)品會將點擊等同于已讀。即用戶只要點擊無論是否打開列表查看均認為已讀。
這樣的處理一般用于重要級別較低的消息。點擊即已讀可有效降低騷擾。
某些重要級別較高的消息已處理狀態(tài)可以定義為用戶進行相關(guān)操作后才為已處理,而非查閱。
如用戶進行評論、回復(fù)、點擊忽略或點擊刪除等動作時才認為已處理。
2)內(nèi)容的處理狹義的理解即為用戶是否操作。
根據(jù)不同消息的種類和業(yè)務(wù)的需要,操作可分為:
處理:用戶必須點擊功能鏈接進行處理。如:你的密碼過于簡單,點此進行修改;
回復(fù):如回復(fù)私信,對評論進行回復(fù);
確認:對消息做出確認的反饋,如某些系統(tǒng)提示可設(shè)置”我已知道,不再提示”的選項;
忽略:用戶進行忽略操作或不進行任何操作;
刪除:用戶刪除本消息。
3)消息處理后的狀態(tài)需要統(tǒng)一。
消息需要標記是否已處理的狀態(tài),且狀態(tài)在不同的終端是打通的。
如:用戶在客戶端對消息進行了查看,在web站點本消息應(yīng)自動標記為已讀狀態(tài)。
(四)通知回收
回收主要針對用戶已處理消息的操作。
用戶之間觸發(fā)的消息一般需要留檔保存。
如評論/回復(fù)/留言/私信等。產(chǎn)品可提供選項詢問用戶是否超過一定周期自動清理。
在部分產(chǎn)品中,還需要考慮功能的優(yōu)先級。
如解除好友關(guān)系或加入黑名單后自動將刪除雙方的私信記錄。
系統(tǒng)觸發(fā)的消息一般設(shè)置一定的回收刪除時間。
如系統(tǒng)提醒、通知、公告等。過期后自動在產(chǎn)品里刪除。物理上可以設(shè)置是否備份。
過期但用戶未處理消息(用戶長時間未登錄但收到他人的回復(fù))可以根據(jù)業(yè)務(wù)需求來處理。
如未讀的私信/評論/回復(fù)永久保留等。重要未讀消息可嘗試二次推送或使用其他途徑(郵箱、APP、短信等)通知。
四、通知的交互方式(已讀未讀)
注:具體的交互需要考慮本身業(yè)務(wù)特點和目標需求。特定業(yè)務(wù)可能需要強調(diào),某些業(yè)務(wù)又需要考慮騷擾,故拋開具體情境本身談交互是無恥的。
這里只針對一般的社區(qū)網(wǎng)站,描述一下個人所喜歡的交互方式。
1、新消息到達時提醒交互
當新消息到達時,可以使用以下提醒方式
標題閃動
聲音提醒 新消息到達后自動觸發(fā)聲音
氣泡+數(shù)字
新消息浮層
標示提示
彈窗 ?
2、消息處理
目前消息多采用當前觸發(fā)、即時處理類似“所見即所得”的交互方式。 ? 采用此方式的原有主要有: 1、消息通知位于全局導(dǎo)航,訪問任何頻道時都可保證及時收到新消息; 2、消息在浮層中處理完畢后,用戶可繼續(xù)進行之前的操作,不至于造成打擾; 3、因?qū)Ш矫娣e有限,需對消息種類進行統(tǒng)一整理和規(guī)劃;(Facebook的分類為好友請求、私信、通知。) 4、提供歷史記錄(更多、全部消息)的入口(二級頁面) 5、標記已讀未讀狀態(tài),處理好消息提醒數(shù)字的關(guān)系 ? 五、防騷擾(打擾) 因消息本身業(yè)務(wù)性質(zhì),過多無用通知勢必會造成噪音,打擾到用戶。因此合理設(shè)置消息的通知頻率和渠道,以防早上體驗和效率上的損失。 1、提供通知頻率和渠道的管理功能 如常見的郵件退訂管理,消息通知類型管理。 ?
Facebook通知設(shè)置 編號 通知渠道 通知類型 1 在facebook(web) 你參與的動態(tài) 2 電子郵件(email) 摯友的動態(tài) 3 推送通知(app) 標簽 4 短信通知(message) 群組動態(tài) 5 應(yīng)用請求和動態(tài) 備注:通知渠道和通知類型可以結(jié)合在一起綜合使用。 2、增加屏蔽功能 消息屏蔽功能在業(yè)務(wù)上應(yīng)該屬于第一條中通知類型管理,當業(yè)務(wù)模塊較多且之前關(guān)聯(lián)分散時,或者開放平臺功能接入的第三方應(yīng)用通知時,可使用屏蔽功能。 ? ?
3、結(jié)合權(quán)限體系 1、功能隱私設(shè)置 使用隱私設(shè)置界定具體的接收權(quán)限、范圍等 ? 2、結(jié)合黑名單功能 使用黑名單可屏蔽指定用戶或關(guān)鍵詞的具體消息通知。 ?
六、其他
1、消息拉回: 當用戶長時間不登陸或?qū)ο⒉惶幚頃r,可使用其他渠道推送通知,已達到拉回的目的。 標號 1 觸發(fā)條件 1)用戶長時間不登陸 2 2)長時間不處理消息 3 3)主要通知方式失效(被屏蔽或堵塞) 3 4)存在次要的通知方式 4 通知渠道 1)web 5 2)Email 6 3)短信 7 4)APP 8 備注 1)同步已讀未讀狀態(tài) 9 2)拉回進行相關(guān)引導(dǎo) 10 3)控制頻率和方式,防止造成騷擾
2、私信與webim
本文地址:http://m.likemindfilms.com/tutorial/di1627.html