IM App消息列表誤觸及解決方案:如果等你兩秒鐘呢?

6 評論 12176 瀏覽 28 收藏 7 分鐘

2秒這個時間值參數可以進一步優化。同時,某些IM App現有的固定到列表頂部功能是不會受到這個優化方案的影響,因為被固定到列表頂部的會話是現實生活中的VIP。

QQ首頁,會話列表會因為某個來新消息的會話而造成列表順序突然變動。如果會話列表同時有2個以上的會話有未讀消息,那么用戶在這一秒準備點擊其中一個進行回復時,就會因為某個突然來新消息的會話造成誤進入其他會話。不少誤發的消息就是這么造成的。

這個問題目前在IM App(注:IM為即時通訊簡寫)特別是帶群功能的會話列表里應該是普遍存在的。

它的矛盾點在于:IM App設備屏幕尺寸不夠富余(Pad版不在此討論范疇),導致會話窗不能和消息列表同級獨立呈現。

現實生活中,我們處理事務一般是先來先處理;但在虛擬的社交環境里貌似是倒過來了,半路殺出來的某個人總能順利插上隊,被賦予最高的優先級,如下圖1:

2(默認)

圖1 ?IM 消息列表現狀模擬

人的肉眼具有視覺停留的生物特點,所以我們能看到黑夜里轉動燭火形成的“圓圈”。這種生物進化的本能不好說對我們到底是好還是壞,但在本文的上圖案例里,它應該是幫了倒忙,導致:

心里預期想點的≈視覺焦點≈實際觸摸

最終,觸摸響應到的那個會話就在一定概率上和最初心里預期想點的會話不對等,簡稱“誤觸”。

還原了用戶在消息列表界面誤觸的完整活動過程后,我開始反思并分析現實生活中的排隊場景。

現實生活中,總體講究“先來后到”,一般用戶排隊取號,VIP可以優先辦理或單獨柜臺辦理。同時,如果用戶A需要中途打印再回來接著辦理時,出于人性化考慮,會享有“插隊”優先權,A辦理完了,后面等待的用戶才接著辦理。當然,A打印期間,隊列中其他用戶是可以辦理業務的。舉這個栗子想說的是,現實生活中存在優先處理和等待機制。

這個是否可以借鑒到我們的IM App里來呢?

其實,IM的本質是為了人與人之間更便捷的溝通,我們圍繞這個核心需求去接著往下分析。

未讀消息為何要排在已讀消息前面?為了用戶能立即看到并回復。

新的未讀消息為何要賦予更高的優先級?因為最新的是最有效的。

這些初衷都沒錯。

錯在我們一味的執行新未讀優先處理策略,忽視了用戶是人不是機器,沒有那么快的反應速度。單純的新未讀優先置頂,會使消息列表相對位置變動更頻繁。消息列表一屏至少能露出6行會話消息,未讀消息會被紅底數字(或紅點)突出。所以,當用戶的消息列表里短時間內有多個會話活躍時,我們在保證新消息會話能及時在首屏露出,也就達到了初衷。把新未讀消息所在的會話放在列表頂部其實沒有那么重要。

同時,映射到現實生活中,當列表里已有未讀消息時,如同柜臺上已有人排隊著,給工作人員一點處理時間是不是更妥當?再來新未讀消息如同隊伍里后面來的人,TA的事情也許比較重要,但遵循先來后到,延遲一點點時間去處理,也不至于誤事。

而且,消息列表里一屏可至少露出6行會話消息,相當于現實生活中開了6個柜臺(比喻不是很嚴謹,但我在用QQ時確實是這樣,掃一下消息列表當前這一屏,也就是帶未讀消息紅底數字的都過目了)。把列表嚴格的按時間由近及遠排序其實沒有那么重要。

所以,綜上所述,在保證新消息會話能及時在首屏露出的基礎上,補充等待機制應該是更優的解決方案。

解決方案

兩秒優先策略

它是為了解決用戶在活躍的消息列表界面時,所見(心里原本預期點擊的)和實際響應的會話不一致的矛盾,給用戶反應時間。某會話有新消息時,它會享有2秒的置頂優先權,當其他會話產生了下一個新消息時,它會繼續保持置頂直到2秒倒計時結束。

以當前列表里有A、B、C 3個會話為例,當前順序從上往下為A,B,C。

設備亮屏環境下(因為熄滅環境下不存在這個問題),當A有未讀消息時,如果B來新消息需要2秒后才能置于A前面。這樣的好處是,給用戶處理A的反應時間,又沒影響到整個會話列表的整體時序關系。當然,如果恰巧在B會話等完2秒后準備往前排那一瞬間,A也來新消息了,我覺得這個時候應該B優先。模擬效果動畫如下圖2:

2(開啟策略)

圖2 ?IM 啟用兩秒優先策略后的效果動畫

當然,2秒這個時間值參數可以進一步優化。同時,某些IM App現有的固定到列表頂部功能是不會受到這個優化方案的影響,因為被固定到列表頂部的會話是現實生活中的VIP。

 

作者:高翔,專注UE交互6年,移動互聯網,智能硬件都有涉獵。

本文由 @高翔 原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 直接固定新消息的位置好了,第一個未讀的新消息優先級最高在頂部,后面消息往下排

    來自上海 回復
  2. 依然沒有解決誤觸問題啊

    來自北京 回復
    1. 你好,這個策略有運用到實際產品中嗎?

      來自廣東 回復
  3. 那么,來了新消息,我正想點開,卻跑到頂部去了,又發生誤觸

    回復
    1. 給停留兩秒就是給處理新消息留時間。也存在用戶想點某個無新消息的會話去聊,因為其他新消息導致列表相對位置變動。此處是方寸功夫,有所取舍。如果你有好的想法,歡迎互動!

      回復
  4. 這個2秒,不錯,用qq的確會出現類似情況,作者說到的這個問題,看似小眾,其實出現的比例還不低。

    來自湖北 回復