產(chǎn)品的設(shè)計(jì)是建立在用戶良好體驗(yàn)的基礎(chǔ)上進(jìn)行的,而loading的設(shè)計(jì)是用來(lái)消除等待的焦慮感,因此對(duì)于loading設(shè)計(jì)更應(yīng)該考慮不用的場(chǎng)景,盡可能的減少用戶等待的焦慮,營(yíng)造較好的用戶體驗(yàn)。
在產(chǎn)品實(shí)現(xiàn)過(guò)程中,前端經(jīng)常會(huì)問(wèn)產(chǎn)品人員:
多數(shù)App都要與服務(wù)器進(jìn)行數(shù)據(jù)的交換,App向服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求,服務(wù)器接收到請(qǐng)求之后向App傳輸相應(yīng)數(shù)據(jù),App接收成功后顯示數(shù)據(jù)內(nèi)容,沒(méi)有接收成功則反饋數(shù)據(jù)接收失敗。在這個(gè)數(shù)據(jù)交換過(guò)程中,由于網(wǎng)絡(luò)原因,需要花費(fèi)一定時(shí)間,也就是說(shuō)用戶要等待加載完成,這個(gè)時(shí)候就要用到loading加載機(jī)制,loading是產(chǎn)品在設(shè)計(jì)時(shí)必須要考慮的一個(gè)場(chǎng)景,無(wú)論是聯(lián)網(wǎng)拉取數(shù)據(jù),還是執(zhí)行功能運(yùn)行,我們都需要給用戶一個(gè)loading來(lái)消除等待的焦慮感。
標(biāo)題欄loading
適合于消息列表的數(shù)據(jù)自動(dòng)加載,因?yàn)榧词乖谛聰?shù)據(jù)還沒(méi)有拉取下來(lái)之前,用戶還是可以查看緩存消息,故loading不能阻斷用戶的操作。又因?yàn)橄⒘斜淼拇蜷_(kāi)頻率很高,loading的感知不能太強(qiáng),所以標(biāo)題欄是最適合出現(xiàn)loading的位置。
微信、釘釘?shù)榷疾捎昧诉@種形式。聊天列表頁(yè)的聊天記錄是儲(chǔ)存在本地的,所以頁(yè)面內(nèi)容不為空。這個(gè)時(shí)候加載無(wú)需獲取用戶的視覺(jué)焦點(diǎn),只要在標(biāo)題欄展示App正在加載,加載成功則標(biāo)題欄loading消失,若因?yàn)榫W(wǎng)絡(luò)錯(cuò)誤未連接服務(wù)器,則在標(biāo)題欄顯示未連接狀態(tài)。
白屏loading
白屏loading是指除了產(chǎn)品框架界面以外的整個(gè)屏幕白屏進(jìn)行數(shù)據(jù)加載,適用于那些需要在內(nèi)容顯示完整后,才可以進(jìn)行下一步操作的場(chǎng)景。
這種加載方式容易讓用戶產(chǎn)生焦慮感,因?yàn)榘灼翆?shí)在太枯燥了,所以大多數(shù)的白屏loading會(huì)配上一些好玩有意思的加載動(dòng)畫分散一下用戶的注意力。
進(jìn)度條
進(jìn)度條的加載樣式,多見(jiàn)于瀏覽器,包括PC端和移動(dòng)端的瀏覽器。一些App頁(yè)面會(huì)用H5的形式去做,這種頁(yè)面多數(shù)也都會(huì)采用進(jìn)度條的樣式來(lái)顯示loading過(guò)程。
用戶關(guān)注的是加載速度和加載時(shí)間。而用戶感覺(jué)上最快的進(jìn)度條速度是先慢后快,因?yàn)槔鄯e一定的焦慮壓力后的一瞬間完成了,感知是最強(qiáng)烈的。
toast
當(dāng)用戶執(zhí)行了某個(gè)操作時(shí),為了防止用戶繼續(xù)操作導(dǎo)致數(shù)據(jù)加載失敗,則用Toast的樣式來(lái)提示正在加載,同時(shí)限制用戶繼續(xù)操作。這種情況用戶一般只能執(zhí)行返回到上一級(jí)頁(yè)面的操作,其他操作都被禁用。
為了防止數(shù)據(jù)一直加載不出來(lái),可以在Toast上加個(gè)取消按鈕,讓用戶主動(dòng)停止加載狀態(tài),由于加載數(shù)據(jù)失敗的情況極少出現(xiàn),所以在Toast上加取消按鈕的App并不多。
刷新
刷新loading是在長(zhǎng)列表或者瀑布流的場(chǎng)景下進(jìn)行數(shù)據(jù)拉取的展現(xiàn)形式?,F(xiàn)在常見(jiàn)的就是下拉刷新,loading動(dòng)畫出現(xiàn)在列表或者瀑布流的頂部。下拉刷新廣泛被運(yùn)用于大多數(shù)App,這種加載機(jī)制,保證了用戶能看到本地緩存數(shù)據(jù)的前提下,還能告知用戶頁(yè)面正在刷新,同時(shí),用戶還可以通過(guò)下拉的手勢(shì)操作來(lái)自己選擇重新加載數(shù)據(jù),一定程度上滿足了強(qiáng)迫癥患者。
預(yù)設(shè)圖/占位符
當(dāng)頁(yè)面的框架固定時(shí),只需要加載框架內(nèi)數(shù)據(jù)時(shí),采用這種刷新樣式,即先加載框架,再加載框架內(nèi)的數(shù)據(jù)。為了反之框架內(nèi)的內(nèi)容為空,會(huì)用占位符或者預(yù)設(shè)圖片來(lái)填充。
上面簡(jiǎn)單將六種常見(jiàn)的loading加載樣式介紹了一下,樣式雖然有六種,但是其實(shí)只有兩種加載原理:
例如:頁(yè)面需要實(shí)現(xiàn)每次刷新都能出現(xiàn)新內(nèi)容
一般在加載的時(shí)候后臺(tái)同學(xué)需要知道:
我常說(shuō)的一句話是設(shè)計(jì)形式永遠(yuǎn)是服務(wù)于產(chǎn)品功能的,而產(chǎn)品功能則是為了滿足用戶需求。了解了這些loading加載的設(shè)計(jì)形式,進(jìn)一步深度思考一下:APP需要較長(zhǎng)的時(shí)間來(lái)獲取或提交數(shù)據(jù),因此需要loading來(lái)提示用戶,那有沒(méi)有方法讓用戶無(wú)感知中做數(shù)據(jù)處理呢?答案肯定是有的。
1.優(yōu)化App的加載算法,使得App與服務(wù)器交互數(shù)據(jù)的時(shí)間簡(jiǎn)短。
這個(gè)需要開(kāi)發(fā)人員的精益求精了。這個(gè)是從根本上解決了問(wèn)題,因?yàn)橹苯訙p少了加載數(shù)據(jù)的時(shí)間,也就是減少了用戶需要等待的時(shí)間。
2.采用預(yù)加載和數(shù)據(jù)緩存機(jī)制。
盡可能的利用預(yù)加載或有WiFi的情況下離線緩存的方式,把內(nèi)容提前加載下來(lái),這樣能做到最大限度的降低加載給用戶帶來(lái)的卡頓感。如果能判斷出來(lái)用戶下一步要做的事情,提前幫用戶加載相應(yīng)的內(nèi)容,肯定是最符合需求場(chǎng)景的事情。
拿閱讀App打比方,當(dāng)用戶在看第一頁(yè)的時(shí)候,App在后臺(tái)加載完后面的幾頁(yè),等用戶翻到第二頁(yè)的時(shí)候就不需要等待加載了,因?yàn)锳pp已經(jīng)幫用戶提前加載好了。這種加載機(jī)制對(duì)用戶體驗(yàn)特別好,但是存在一個(gè)問(wèn)題,就是要預(yù)測(cè)用戶行為,加載其他數(shù)據(jù),這樣會(huì)消耗不少流量,所以建議在WiFi網(wǎng)絡(luò)環(huán)境下采取這種預(yù)加載機(jī)制,而在蜂窩網(wǎng)絡(luò)狀態(tài)下則不采用預(yù)加載機(jī)制。這個(gè)要和開(kāi)發(fā)人員討論溝通,確保預(yù)加載機(jī)制完美運(yùn)行。
3.異步處理。
當(dāng)用戶進(jìn)行發(fā)送消息,發(fā)布評(píng)論、提交意見(jiàn)等操作,APP先提示提交成功,讓用戶不受提交數(shù)據(jù)耗時(shí)的影響,繼續(xù)使用APP其他功能,同時(shí)APP開(kāi)啟后臺(tái)線程靜默進(jìn)行數(shù)據(jù)提交,當(dāng)前網(wǎng)絡(luò)環(huán)境不好,下次再自動(dòng)提交,讓用戶無(wú)縫完成數(shù)據(jù)提交操作。
這一點(diǎn)做得好的App莫過(guò)于Instagram,不知道你有沒(méi)有發(fā)現(xiàn),用Instagram的時(shí)候會(huì)覺(jué)得特別流暢,即使在網(wǎng)絡(luò)不好的情況下。這是為什么?因?yàn)樵诰W(wǎng)絡(luò)不好的情況下,你給好友點(diǎn)了贊,Instagram并不會(huì)提示你網(wǎng)絡(luò)不好,操作失敗,而是提示你點(diǎn)贊成功了,其實(shí)將它只是將你點(diǎn)贊的操作記錄了下來(lái),等網(wǎng)絡(luò)一好就將點(diǎn)贊的行為上傳到服務(wù)器,從而完成點(diǎn)贊行為。這就是減少用戶的操作負(fù)擔(dān),讓產(chǎn)品自己去解決問(wèn)題,而不是把問(wèn)題拋給用戶。
總之,設(shè)計(jì)loading的核心原則就是能多快顯示完就多快顯示,并且不讓用戶反感,減少用戶的焦慮。
海淘科技提供更多的,網(wǎng)頁(yè)設(shè)計(jì)知識(shí),網(wǎng)站設(shè)計(jì)基礎(chǔ)知識(shí)的文章。本文下載,點(diǎn)擊:Loading設(shè)計(jì)詳解和案例參考。