編輯導語: “超時”處理機制很常見。也許很多人疑惑超時機制是什麼,但其實它與我們的生活密不可分。筆者将其分為三類:邏輯類的、業務類的、和性能類的超時機制,并詳細介紹了這三大類。推薦對超時機制感興趣的用戶閱讀。
“希望遲遲不來,急死了等待的人”——《等待戈多》。
《等待戈多》是荒誕戲劇的代表作:以兩個流浪漢苦等“戈多”,而“戈多”不來的情節,喻示人生是一場無盡無望的等待。
同樣在産品體系中,也存在對系統應答的等待預期。因此需要定義超時,并提供相應的超時機制,避免“急死了等待的人”。
“超時”處理機制很常見。
本文筆者将其簡單歸結為三類:邏輯類的、業務類的,和性能類的超時機制。
一、邏輯類超時處理機制這類超時機制,是為了完成功能閉環而設立的。舉例如下。
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協議。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!