編輯導語: “超時”處理機制很常見。也許很多人疑惑超時機制是什麼,但其實它與我們的生活密不可分。筆者將其分為三類:邏輯類的、業務類的、和效能類的超時機制,並詳細介紹了這三大類。推薦對超時機制感興趣的使用者閱讀。
“希望遲遲不來,急死了等待的人”——《等待戈多》。
《等待戈多》是荒誕戲劇的代表作:以兩個流浪漢苦等“戈多”,而“戈多”不來的情節,喻示人生是一場無盡無望的等待。
同樣在產品體系中,也存在對
系統應答
的等待預期。因此需要
定義超時
,並提供相應的
超時機制
,避免“急死了等待的人”。
“超時”處理機制很常見。
本文筆者將其簡單歸結為三類:
邏輯類
的、
業務類
的,和
效能類
的超時機制。
一、邏輯類超時處理機制
這類超時機制,是為了完成功能閉環而設立的。舉例如下。
1. 超時無應答機制
超時無應答機制比較常見,比如微信請求語音聊天,請求發出15s,對方不應答,則自動取消。
首先,請求發出去,一定要有結束的節點,避免無休止地佔用資源。
其次,設定固定的等待時長,超時無應答,則結束。當然,也可以輔助手動取消按鈕。
2. 若干時間內不打擾
有的場景,希望使用者多次收到提醒,但是又不能過於頻繁,因此可以設定成若干時長內不再打擾的模式。
類似下圖免打擾的提示:XX分鐘內不提醒,為使用者提供更寬泛的選擇通道。
當然超過選定的時間久繼續“打擾”了。
3. 超過一定時間,則採取措施
例如,出於儲存的空間考慮,小米手機儲存的照片超過一定時間沒開啟過,則自動上傳到雲端。那麼這也是保障手機效能的一個策略。
它比“超時無應答”更激進一點,“自作主張”地將事件向前推進一步。
4. 超過一定時間,才釋放新訊息
比如發起好友請求,等待對方接受。發起方可以多次傳送請求。
但是作為接受方,若始終看不到,或不處理,是否重複推送新訊息,一條條通知摞起來呢?
通常的方案是引入超時釋放訊息的機制。即定義一個規則:
一定時間內,發起方可以連續傳送待處理的訊息,但只給接收方釋放第一條。這樣接收方就只顯示一條待處理通知。
若超過一段時間(通常一週)仍沒得到處理,則發起方再次傳送的時候,重新釋放一條新訊息給對方,並將舊訊息做更新(仍顯示一條)。
5. 超過一定時間,則內容消失
某些互動遊戲,需要雙方對稱發出的,如划拳類(石頭剪刀布)、比大小類(擲骰子)。
一方發出之後,要等待對方。二人又可以不斷地發新的,那麼上次發出的要等待多久呢?
微信的處理辦法是將發出的當作歷史訊息。這是一種省事的方案。
但是如果介面不是聊天資訊流,而是有限的空間,比如這樣:
那麼就需要考慮新的訊息頂替舊訊息,以及同一方發出的訊息最長停留時間。
比如可以約定,同一方發出的,停留最長時間5s,超時則自動消失,無需等待對方的。若有新的則直接替換舊的。
二、業務類超時處理機制
業務方面的超時機制,多由業務習慣而定,相較寬鬆靈活。
1. “門檻”類的超時機制
一些社交軟體,限時免費聊天,超時則需要付費,或其他辦法獲取延時。
比如語音聊天(未公開身份時)超過60s則自動結束。
這種就是從運營的需求考慮,人為設定一個“免費品嚐”的條件,從而引入了超時的概念。
2. 交易類的超時處理
比如,賣家操作“發貨”之時起,買家超過規定時限內確認收貨且未申請退款的,則預設買家已收到貨,且貨物質量符合交易雙方的約定,交易成功。
如果在貼近市場的話,還可以規定快遞、EMS及不需要物流的商品十天內,平郵商品三十天內。
類似還有,買家自拍下商品之時起一天內未付款的,交易自動關閉;
自買家付款之時起三百六十五天內賣家未點選“發貨”的,交易自動關閉,退款給買家;
賣家自本退款申請提交之日起五天內,不響應退款申請的,預設達成退款申請,進入到退貨程式等。如電商這類業務性極強的領域,到處都是類似的超時機制。
3. 其他行業的超時規則
業務類超時機制,實際都是對實際業務模型的線上呈現,本質是對行業契約的履約。
三、效能類超時處理機制
效能方面的超時多是客觀被動的,最主要是載入超時。包括是網路狀態不好,和客戶端配置不足導致的。
1. 網路原因的超時
網路原因的超時的原因,主要包括如下:
手機自身問題,比如停機、沒開wifi或者流量、系統卡死等。
手機所處環境網路不好,向伺服器請求超時。比如訊號不好、或者訊號接受不良。
伺服器自身故。
伺服器接收或回覆故障,比如機房網路問題或伺服器處理問題。
產品經理要做的就是如何讓這個事件融洽地落地。
(1)直接報以空白頁或者錯誤頁
(2)提供當前重新整理渠道,儲存前面的操作
比如使用者是在網購,接近下單了,結果網路中斷了一會。這時候直接反饋一個空白頁,使用者只能退回到上一步,前功盡棄。
因此最好是設計一個本地重新整理按鈕,點選即在當前重新整理,避免了使用者重複操作之前的步驟。
基於該思想,可以作如下發揮或拓展:
設計重新整理時的彩蛋,給使用者帶來一些驚喜。比如彈出來一個俏皮的圖案,或一句詼諧的話緩解使用者的不滿的情緒。
增加儲存本地,或儲存草稿的按鈕。在表單資料填寫介面,多使用類似的設計。
增加自動重新重新整理:可以設定超時載入的機制。超過一定的時間 則取消本次載入。比如王者榮耀的連線嘗試7次。
以上實現的本質就是快取。比如對於新聞類的、諮詢類的,這類APP一般都會有快取。這就是微信朋友圈,為什麼在沒有網路的情況下也是可以檢視之前載入過的內容。
有的應用之所以很大,就是因為快取了大量內容,當然也需要定期自動或手動清快取的。
2. 客戶端配置不足導致的超時
比如記憶體、解析度等硬體引數導致的。這不是話題重點。
作為產品經理,只需要注意的是,做好邊緣機型的適配。
#專欄作家#
唧唧歪歪PM,公眾號:唧唧歪歪PM(ID:jjyypm),人人都是產品經理專欄作家,2019年年度作者。《後端產品經理寶典》作者,藥學碩士轉行網際網路產品多年;熟悉跨境電商業務,醫藥領域;擅長大型後臺體系,社交APP。
本文原創釋出於人人都是產品經理,未經作者許可,禁止轉載
題圖來自Unsplash,基於CC0協議。