APP網(wǎng)絡(luò)請(qǐng)求超時(shí)反饋設(shè)計(jì)與思考
最近我負(fù)責(zé)了一個(gè)網(wǎng)絡(luò)請(qǐng)求超時(shí)的反饋設(shè)計(jì),借此機(jī)會(huì)我也順便通過此文記錄了一下整個(gè)思考過程,整理一下自己的思路。
當(dāng)我們?cè)谑褂肁PP的時(shí)候,偶爾會(huì)碰到網(wǎng)絡(luò)狀態(tài)不好的情況。那么對(duì)于網(wǎng)絡(luò)狀態(tài)不好的情況有哪些分類呢?和開發(fā)大致的討論了一下主要有下面幾種:
1、用戶所處環(huán)境網(wǎng)絡(luò)信號(hào)不好(用戶向服務(wù)器請(qǐng)求超時(shí))
2、服務(wù)器沒有正常接收請(qǐng)求或沒有回復(fù)
3、手機(jī)停機(jī)
4、手機(jī)沒開wifi或者流量等
這幾種狀態(tài),在沒有網(wǎng)絡(luò)時(shí),對(duì)于開發(fā)而言可能在處理相關(guān)情況的時(shí)候,判定條件會(huì)有所不同,但對(duì)于用戶而言,其實(shí)也就是一種情況——沒網(wǎng)。
如果恰好用戶正在買東西,都要下單了,結(jié)果網(wǎng)絡(luò)中斷了一會(huì)會(huì)。這時(shí)候一個(gè)良好的反饋設(shè)計(jì)將發(fā)揮良好的作用。比如像沒怎么考慮這方面設(shè)計(jì)的APP,可能直接反饋一個(gè)空白頁(yè),用戶只能退回到上一步,如圖:
但是如果一個(gè)設(shè)計(jì)良好的APP將以下面的方式展示:
對(duì)比一下,下面一種設(shè)計(jì)可以讓用戶在當(dāng)前頁(yè)面進(jìn)行重試刷新,避免了用戶重復(fù)操作之前的步驟。
而且如果再加上一個(gè)好的設(shè)計(jì),可以起到彩蛋的作用,就像挺多APP在設(shè)計(jì)下拉刷新時(shí)的彩蛋,給用戶帶來一些驚喜。想象一下用戶本可能因?yàn)榫W(wǎng)絡(luò)的問題十分郁悶,彈出來一個(gè)俏皮的頁(yè)面是能夠緩解用戶的不滿的情緒。
所以思考了以上,我設(shè)計(jì)了如下這個(gè)界面(產(chǎn)品是關(guān)于汽車后市場(chǎng)的):
通過一句詼諧的話,不僅貼合我們產(chǎn)品本身(關(guān)于車的),又能比較好的描述了網(wǎng)絡(luò)不好這個(gè)情況。
之后在與開發(fā)PK的時(shí)候,我提到一點(diǎn)能否讓所有的網(wǎng)絡(luò)連接失敗的情況都跳轉(zhuǎn)這個(gè)頁(yè)面,得到的答復(fù)是這樣做容易造成多次請(qǐng)求,導(dǎo)致生成過多的請(qǐng)求超時(shí)頁(yè)面,引起APP崩潰。更好的解決方式是將每一個(gè)需要請(qǐng)求服務(wù)器獲取數(shù)據(jù)的界面都進(jìn)行修改,單獨(dú)顯示。為了保證開發(fā)的進(jìn)度,我暫時(shí)放棄了一部分的分支頁(yè)面的修改,僅讓開發(fā)先改主要流程的頁(yè)面。
當(dāng)然做到這一步其實(shí)還是思考的比較簡(jiǎn)單的,上面那種設(shè)計(jì)只是更加適合于要跳轉(zhuǎn)其他頁(yè)面的情況,還有一種是當(dāng)前頁(yè)面請(qǐng)求服務(wù)器,比如下面這種情況:
如果點(diǎn)擊保存,網(wǎng)絡(luò)請(qǐng)求超時(shí),這時(shí)候彈出另一個(gè)頁(yè)面就遮擋住了之前的信息,對(duì)于用戶是一個(gè)不好的體驗(yàn),這種情況下更適合采用上圖返還一個(gè)toast提示,然后用戶可以很快捷高效的進(jìn)行再一次的保存操作。
當(dāng)然這些僅僅是針對(duì)于我們這個(gè)電商產(chǎn)品,不同的產(chǎn)品,面對(duì)的也是不同的情況。
比如對(duì)于新聞?lì)惖?、咨詢類的,這類APP一般都會(huì)有緩存,比如緩存好一個(gè)列表頁(yè),下一次進(jìn)入APP即使沒有網(wǎng)絡(luò),也不會(huì)碰到什么內(nèi)容都沒有的情況而是加載之前緩存的列表。以及之前閱讀的文章也會(huì)緩存下來,下次再閱讀不需要再次請(qǐng)求服務(wù)器。再舉一個(gè)例子就是我們大家都很熟悉的微信朋友圈,沒有網(wǎng)絡(luò)的情況下也是可以查看之前加載過的內(nèi)容。如果特意去查看一下微信占用的空間,你會(huì)發(fā)現(xiàn)緩存占了很大的一塊,這里面就包括朋友圈內(nèi)曾經(jīng)加載過的內(nèi)容以及圖片等。這類產(chǎn)品在出現(xiàn)網(wǎng)絡(luò)請(qǐng)求超時(shí)的情況就不需要跳轉(zhuǎn)另一個(gè)頁(yè)面,多此一舉還影響用戶體驗(yàn)。而且說白了像跳轉(zhuǎn)另一個(gè)頁(yè)面這種處理方式是一種簡(jiǎn)單粗暴的方法。這里可以順便引用一句話叫l(wèi)ess is more,做的越少動(dòng)靜越小,對(duì)用戶的體驗(yàn)影響越小越好。這樣對(duì)于用戶也是一種心理暗示——這都不是事,不要慌。所以最好的做法是能讓用戶在出現(xiàn)異常情況下可以很輕易的再次重試,使得用戶能夠淡化對(duì)于異常情況的敏感以及反應(yīng)過激。
作者:Thor_datou
來源:簡(jiǎn)書
圖呢,這才是重點(diǎn)。。。 ?
所有圖都掛了