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

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

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

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

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

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

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

2(默認(rèn))

圖1 ?IM 消息列表現(xiàn)狀模擬

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

心里預(yù)期想點的≈視覺焦點≈實際觸摸

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

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

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

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

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

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

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

這些初衷都沒錯。

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

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

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

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

解決方案

兩秒優(yōu)先策略

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

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

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

2(開啟策略)

圖2 ?IM 啟用兩秒優(yōu)先策略后的效果動畫

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

 

作者:高翔,專注UE交互6年,移動互聯(lián)網(wǎng),智能硬件都有涉獵。

本文由 @高翔 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

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

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

    來自北京 回復(fù)
    1. 你好,這個策略有運用到實際產(chǎn)品中嗎?

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

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

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

    來自湖北 回復(fù)