“超時”機(jī)制有哪些?“加載超時”只排第三
“超時”處理機(jī)制很常見。筆者將其分為三類:邏輯類的、業(yè)務(wù)類的,和性能類的超時機(jī)制。
一、邏輯類超時處理機(jī)制
這類超時機(jī)制,是為了完成功能閉環(huán)而設(shè)立的,舉例如下。
1. 超時無應(yīng)答機(jī)制
超時無應(yīng)答機(jī)制比較常見,比如微信請求語音聊天,請求發(fā)出15s,對方不應(yīng)答,則自動取消。
首先,請求發(fā)出去,一定要有結(jié)束的節(jié)點(diǎn),避免無休止地占用資源。
其次,設(shè)置固定的等待時長,超時無應(yīng)答,則結(jié)束。當(dāng)然,也可以輔助手動取消按鈕。
2. 若干時間內(nèi)不打擾
有的場景,希望用戶多次收到提醒,但是又不能過于頻繁,因此可以設(shè)置成若干時長內(nèi)不再打擾的模式。
類似下圖免打擾的提示:XX分鐘內(nèi)不提醒,為用戶提供更寬泛的選擇通道。
當(dāng)然超過選定的時間久繼續(xù)“打擾”了。
3. 超過一定時間,則采取措施
例如,出于存儲的空間考慮,小米手機(jī)存儲的照片超過一定時間沒打開過,則自動上傳到云端。那么這也是保障手機(jī)性能的一個策略。
它比“超時無應(yīng)答”更激進(jìn)一點(diǎn),“自作主張”地將事件向前推進(jìn)一步。
4. 超過一定時間,才釋放新消息
比如發(fā)起好友請求,等待對方接受。發(fā)起方可以多次發(fā)送請求。
但是作為接受方,若始終看不到,或不處理,是否重復(fù)推送新消息,一條條通知摞起來呢?
通常的方案是引入超時釋放消息的機(jī)制,即定義一個規(guī)則:
- 一定時間內(nèi),發(fā)起方可以連續(xù)發(fā)送待處理的消息,但只給接收方釋放第一條。這樣接收方就只顯示一條待處理通知。
- 若超過一段時間(通常一周)仍沒得到處理,則發(fā)起方再次發(fā)送的時候,重新釋放一條新消息給對方,并將舊消息做更新(仍顯示一條)。
5. 超過一定時間,則內(nèi)容消失
某些互動游戲,需要雙方對稱發(fā)出的,如劃拳類(石頭剪刀布)、比大小類(擲骰子)。
一方發(fā)出之后,要等待對方。二人又可以不斷地發(fā)新的,那么上次發(fā)出的要等待多久呢?
微信的處理辦法是將發(fā)出的當(dāng)作歷史消息。這是一種省事的方案。
但是如果界面不是聊天信息流,而是有限的空間,比如這樣:
那么就需要考慮新的消息頂替舊消息,以及同一方發(fā)出的消息最長停留時間。
比如可以約定,同一方發(fā)出的,停留最長時間5s,超時則自動消失,無需等待對方的。若有新的則直接替換舊的。
二、業(yè)務(wù)類的超時機(jī)制
業(yè)務(wù)方面的超時機(jī)制,多由業(yè)務(wù)習(xí)慣而定,相較寬松靈活。
1. “門檻”類的超時機(jī)制
一些社交軟件,限時免費(fèi)聊天,超時則需要付費(fèi),或其他辦法獲取延時。
比如語音聊天(未公開身份時)超過60s則自動結(jié)束。
這種就是從運(yùn)營的需求考慮,人為設(shè)置一個“免費(fèi)品嘗”的條件,從而引入了超時的概念。
2. 交易類的超時處理
比如,賣家操作“發(fā)貨”之時起,買家超過規(guī)定時限內(nèi)確認(rèn)收貨且未申請退款的,則默認(rèn)買家已收到貨,且貨物質(zhì)量符合交易雙方的約定,交易成功。
如果在貼近市場的話,還可以規(guī)定快遞、EMS及不需要物流的商品十天內(nèi),平郵商品三十天內(nèi)。
類似還有,買家自拍下商品之時起一天內(nèi)未付款的,交易自動關(guān)閉;
自買家付款之時起三百六十五天內(nèi)賣家未點(diǎn)擊“發(fā)貨”的,交易自動關(guān)閉,退款給買家;
賣家自本退款申請?zhí)峤恢掌鹞逄靸?nèi),不響應(yīng)退款申請的,默認(rèn)達(dá)成退款申請,進(jìn)入到退貨程序等。如電商這類業(yè)務(wù)性極強(qiáng)的領(lǐng)域,到處都是類似的超時機(jī)制。
3. 其他行業(yè)的超時規(guī)則
業(yè)務(wù)類超時機(jī)制,實(shí)際都是對實(shí)際業(yè)務(wù)模型的線上呈現(xiàn),本質(zhì)是對行業(yè)契約的履約。
三、性能方面的超時機(jī)制
性能方面的超時多是客觀被動的,最主要是加載超時。包括是網(wǎng)絡(luò)狀態(tài)不好,和客戶端配置不足導(dǎo)致的。
1. 網(wǎng)絡(luò)原因的超時
網(wǎng)絡(luò)原因的超時的原因,主要包括如下:
- 手機(jī)自身問題,比如停機(jī)、沒開wifi或者流量、系統(tǒng)卡死等。
- 手機(jī)所處環(huán)境網(wǎng)絡(luò)不好,向服務(wù)器請求超時。比如信號不好、或者信號接受不良。
- 服務(wù)器自身故。
- 服務(wù)器接收或回復(fù)故障,比如機(jī)房網(wǎng)絡(luò)問題或服務(wù)器處理問題。
產(chǎn)品經(jīng)理要做的就是如何讓這個事件融洽地落地。
(1)直接報(bào)以空白頁或者錯誤頁
(2)提供當(dāng)前刷新渠道,保存前面的操作
比如用戶是在網(wǎng)購,接近下單了,結(jié)果網(wǎng)絡(luò)中斷了一會。這時候直接反饋一個空白頁,用戶只能退回到上一步,前功盡棄。
因此最好是設(shè)計(jì)一個本地刷新按鈕,點(diǎn)擊即在當(dāng)前刷新,避免了用戶重復(fù)操作之前的步驟。
基于該思想,可以作如下發(fā)揮或拓展:
- 設(shè)計(jì)刷新時的彩蛋,給用戶帶來一些驚喜。比如彈出來一個俏皮的圖案,或一句詼諧的話緩解用戶的不滿的情緒。
- 增加保存本地,或保存草稿的按鈕,在表單資料填寫界面,多使用類似的設(shè)計(jì)。
- 增加自動重新刷新:可以設(shè)置超時加載的機(jī)制。超過一定的時間 則取消本次加載。比如王者榮耀的連線嘗試7次。
上實(shí)現(xiàn)的本質(zhì)就是緩存。比如對于新聞類的、咨詢類的,這類APP一般都會有緩存。這就是微信朋友圈,為什么在沒有網(wǎng)絡(luò)的情況下也是可以查看之前加載過的內(nèi)容。
有的應(yīng)用之所以很大,就是因?yàn)榫彺媪舜罅績?nèi)容,當(dāng)然也需要定期自動或手動清緩存的。
2. 客戶端配置不足導(dǎo)致的超時
比如內(nèi)存、分辨率等硬件參數(shù)導(dǎo)致的。這不是話題重點(diǎn)。
作為產(chǎn)品經(jīng)理,只需要注意的是,做好邊緣機(jī)型的適配。
作者:唧唧歪歪PM;公眾號:唧唧歪歪PM(ID:jjyypm)
本文由 @唧唧歪歪PM 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
點(diǎn)贊
贊,已加入我的址知識庫
哪里的知識庫?
語雀
寫的很好啊
可以關(guān)注下公眾號 不走丟
??
寫的很詳細(xì)