最近我負(fù)責(zé)了一個(gè)網(wǎng)絡(luò)請求超時(shí)的反饋設(shè)計(jì)黄刚,借此機(jī)會(huì)我也順便通過此文記錄了一下整個(gè)思考過程殊校,整理一下自己的思路。
當(dāng)我們在使用APP的時(shí)候冕杠,偶爾會(huì)碰到網(wǎng)絡(luò)狀態(tài)不好的情況。那么對于網(wǎng)絡(luò)狀態(tài)不好的情況有哪些分類呢酸茴?和開發(fā)大致的討論了一下主要有下面幾種:
1分预、用戶所處環(huán)境網(wǎng)絡(luò)信號(hào)不好(用戶向服務(wù)器請求超時(shí))
2、服務(wù)器沒有正常接收請求或沒有回復(fù)
3薪捍、手機(jī)停機(jī)
4笼痹、手機(jī)沒開wifi或則流量等
這幾種狀態(tài)配喳,在沒有網(wǎng)絡(luò)時(shí),對于開發(fā)而言可能在處理相關(guān)情況的時(shí)候凳干,判定條件會(huì)有所不同晴裹,但對于用戶而言,其實(shí)也就是一種情況——沒網(wǎng)救赐。
如果恰好用戶正在買東西涧团,都要下單了,結(jié)果網(wǎng)絡(luò)中斷了一會(huì)會(huì)经磅。這時(shí)候一個(gè)良好的反饋設(shè)計(jì)將發(fā)揮良好的作用泌绣。比如像沒怎么考慮這方面設(shè)計(jì)的APP,可能直接反饋一個(gè)空白頁预厌,用戶只能退回到上一步阿迈,如圖:
但是如果一個(gè)設(shè)計(jì)良好的APP將已下面的方式展示:
對比一下,下面一種設(shè)計(jì)可以讓用戶在當(dāng)前頁面進(jìn)行重試刷新轧叽,避免了用戶重復(fù)操作之前的步驟仿滔。
而且如果再加上一個(gè)好的設(shè)計(jì),可以起到彩蛋的作用犹芹,就像挺多APP在設(shè)計(jì)下拉刷新時(shí)的彩蛋崎页,給用戶帶來一些驚喜。想象一下用戶本可能因?yàn)榫W(wǎng)絡(luò)的問題十分郁悶腰埂,彈出來一個(gè)俏皮的頁面是能夠緩解用戶的不滿的情緒飒焦。
所以思考了以上,我設(shè)計(jì)了如下這個(gè)界面(產(chǎn)品是關(guān)于汽車后市場的):
通過一句詼諧的話屿笼,不僅貼合我們產(chǎn)品本身(關(guān)于車的)牺荠,又能比較好的描述了網(wǎng)絡(luò)不好這個(gè)情況。
之后在與開發(fā)PK的時(shí)候驴一,我提到一點(diǎn)能否讓所有的網(wǎng)絡(luò)連接失敗的情況都跳轉(zhuǎn)這個(gè)頁面休雌,得到的答復(fù)是這樣做容易造成多次請求,導(dǎo)致生成過多的請求超時(shí)頁面肝断,引起APP崩潰杈曲。更好的解決方式是將每一個(gè)需要請求服務(wù)器獲取數(shù)據(jù)的界面都進(jìn)行修改,單獨(dú)顯示胸懈。為了保證開發(fā)的進(jìn)度担扑,我暫時(shí)放棄了一部分的分支頁面的修改,僅讓開發(fā)先改主要流程的頁面趣钱。
當(dāng)然做到這一步其實(shí)還是思考的比較簡單的涌献,上面那種設(shè)計(jì)只是更加適合于要跳轉(zhuǎn)其他頁面的情況,還有一種是當(dāng)前頁面請求服務(wù)器首有,比如下面這種情況:
如果點(diǎn)擊保存燕垃,網(wǎng)絡(luò)請求超時(shí)枢劝,這時(shí)候彈出另一個(gè)頁面就遮擋住了之前的信息,對于用戶是一個(gè)不好的體驗(yàn)卜壕,這種情況下更適合采用上圖返還一個(gè)toast提示呈野,然后用戶可以很快捷高效的進(jìn)行再一次的保存操作。
當(dāng)然這些僅僅是針對于我們這個(gè)電商產(chǎn)品印叁,不同的產(chǎn)品被冒,面對的也是不同的情況。
比如對于新聞?lì)惖穆滞伞⒆稍冾惖淖虻浚@類APP一般都會(huì)有緩存,比如緩存好一個(gè)列表頁跃洛,下一次進(jìn)入APP即使沒有網(wǎng)絡(luò)率触,也不會(huì)碰到什么內(nèi)容都沒有的情況而是加載之前緩存的列表。以及之前閱讀的文章也會(huì)緩存下來汇竭,下次再閱讀不需要再次請求服務(wù)器葱蝗。再舉一個(gè)例子就是我們大家都很熟悉的微信朋友圈,沒有網(wǎng)絡(luò)的情況下也是可以查看之前加載過的內(nèi)容细燎。如果特意去查看一下微信占用的空間两曼,你會(huì)發(fā)現(xiàn)緩存占了很大的一塊,這里面就包括朋友圈內(nèi)曾經(jīng)加載過的內(nèi)容以及圖片等玻驻。這類產(chǎn)品在出現(xiàn)網(wǎng)絡(luò)請求超時(shí)的情況就不需要跳轉(zhuǎn)另一個(gè)頁面悼凑,多此一舉還影響用戶體驗(yàn)。而且說白了像跳轉(zhuǎn)另一個(gè)頁面這種處理方式是一種簡單粗暴的方法璧瞬。這里可以順便引用一句話叫l(wèi)ess is more户辫,做的越少動(dòng)靜越小,對用戶的體驗(yàn)影響越小越好嗤锉。這樣對于用戶也是一種心理暗示——這都不是事渔欢,不要慌。所以最好的做法是能讓用戶在出現(xiàn)異常情況下可以很輕易的再次重試瘟忱,使得用戶能夠淡化對于異常情況的敏感以及反應(yīng)過激奥额。