注:鑒于目前交(jiao)互設計的知識體系較為混亂,我寫了這個[交(jiao)互基礎(chu)]系列(lie)專題(ti),旨在(zai)整(zheng)理(li)移動端交(jiao)互設計基礎(chu)知識。鞏固自己的知識體系,也與大家共勉,打好基礎(chu),才能飛得更(geng)高(gao)!
交(jiao)互設計(ji)是定義、設計(ji)人造系統行為的設計(ji)領域(yu)。這是一個(ge)非常廣的領域(yu),我(wo)們在這里,只探討IT產品的人機(ji)界面交(jiao)互。舉(ju)一個(ge)例子,用(yong)戶點擊一個(ge)確(que)定按(an)鈕,完成(cheng)了(le)表(biao)單的提交(jiao),此時APP提示用(yong)戶“提交(jiao)成(cheng)功(gong)”,這是用(yong)戶與APP之(zhi)間的一個(ge)交(jiao)互過程。從(cong)點擊按(an)鈕到彈出提示,這個(ge)過程發(fa)生(sheng)了(le)?在交(jiao)互層面又需要考(kao)慮(lv)哪些問題呢?
用戶與客戶端進行人機交互,如上述的例子,點擊確定按鈕,客戶端將用戶的操作轉化為相應的指令,向服務器請求數據,若網絡和服務器正常,服務器返還數據到客戶端,用戶看到自己操作所引發的結果。在這個過程中,涉及到用戶與(yu)客戶端之間的(de)交互和客戶端與服務端之(zhi)間的(de)數據傳輸這兩個部分。
從用戶(hu)點擊確(que)定按鈕后(hou)到(dao)服(fu)務(wu)器(qi)(qi)返回數據(ju)(ju)到(dao)客戶(hu)端,這個過(guo)程中需(xu)(xu)要(yao)耗費一定的(de)(de)時間,我們需(xu)(xu)要(yao)呈現一個加(jia)載(zai)的(de)(de)過(guo)程來告(gao)訴用戶(hu)APP正在做什么,以(yi)(yi)緩解用戶(hu)的(de)(de)焦慮情(qing)緒。當服(fu)務(wu)器(qi)(qi)返回數據(ju)(ju)以(yi)(yi)后(hou),客戶(hu)端需(xu)(xu)要(yao)提(ti)(ti)示用戶(hu)”提(ti)(ti)交(jiao)成(cheng)功”,以(yi)(yi)告(gao)知用戶(hu)操作的(de)(de)結果。當然,還會(hui)有異常的(de)(de)情(qing)況(kuang),客戶(hu)端與服(fu)務(wu)器(qi)(qi)之(zhi)間傳(chuan)輸數據(ju)(ju)的(de)(de)過(guo)程中,可能遭遇網絡不穩定、服(fu)務(wu)器(qi)(qi)異常等情(qing)況(kuang),這也需(xu)(xu)要(yao)及時告(gao)知用戶(hu),以(yi)(yi)避免用戶(hu)不知所措、產生焦慮,影響體驗。
加載發生的原理都是一致的,即用戶與客戶端發生人機交互以后,請求數據與返回數據的過程。但是在不(bu)同的場景(jing)下,需要考(kao)慮不同的(de)加(jia)載處理方式。
頁面加載的兩種模式:同步加載和異(yi)步(bu)加載(zai)。
1.同步加載
定(ding)義(yi):同步加載請(qing)求(qiu)(qiu)執(zhi)行(xing)某一任務,在該請(qing)求(qiu)(qiu)返回數據之(zhi)(zhi)前,請(qing)求(qiu)(qiu)端(duan)什(shen)么也不干(gan)就在等待(dai),直至該請(qing)求(qiu)(qiu)返回數據,再執(zhi)行(xing)下一步操作。(例如(ru)產品設計(ji)完成之(zhi)(zhi)后才能交付給開(kai)發。)
場景:登(deng)錄注冊(ce)、掃碼支付(fu)、提(ti)交訂單、上傳資(zi)料(liao)、修改資(zi)料(liao)等需要驗(yan)證、提(ti)交信息(xi)的情(qing)況或(huo)下(xia)一步的結果(guo)走向與當前操作(zuo)相關的情(qing)況,也(ye)稱順序(xu)操作(zuo)。(例如登(deng)錄需驗(yan)證賬號(hao)信息(xi),成(cheng)功了就進入應(ying)用主頁,失敗則仍停(ting)留在登(deng)錄界面)
特點:及(ji)時性(xing),加載完成/失(shi)敗會立即得到反饋結(jie)果(guo),上下步操作的關聯性(xing)強,更易于(yu)實(shi)現。但是如果(guo)加載速(su)度太慢,很可能長時間停(ting)留在(zai)加載頁面,使用(yong)戶產(chan)生煩躁的負面等待(dai)情緒。
2.異步加載
定義(yi):異步加(jia)載請(qing)求執行某一任(ren)務(wu)的同時(shi),可以繼續執行下(xia)一操作,等到(dao)收到(dao)返回(hui)數據,再處(chu)理該任(ren)務(wu)。(例(li)如你要燒水(shui)和掃地,為了提(ti)高效率,先燒水(shui),再在燒水(shui)的過程(cheng)中掃地,等水(shui)燒開了,再去處(chu)理開水(shui)。)
場(chang)景:不涉(she)及重要資料和(he)順序(xu)操作的數(shu)據(ju)(ju)加載(zai)都適合異步加載(zai)。如大量圖(tu)片、視(shi)頻的頁(ye)(ye)面(mian)(mian),長列表(biao)數(shu)據(ju)(ju)的列表(biao)頁(ye)(ye),內容的詳情頁(ye)(ye)面(mian)(mian)等。
特點:有效得提升了用戶(hu)體驗,頁面的跳轉和加載動畫讓用戶(hu)覺得反饋很(hen)及時,增強了操作的流暢度(du)。但是需要處(chu)理好(hao)操作之間的關(guan)聯(lian)性,否則(ze)用戶(hu)容易產生疑惑。
運用(yong)加載(zai)(zai)(zai)模式(shi)的(de)兩(liang)種原(yuan)理,可以延伸出多種加載(zai)(zai)(zai)策略以對(dui)應不(bu)(bu)(bu)同(tong)的(de)場景需要(yao)(yao)。加載(zai)(zai)(zai)策略是方法,加載(zai)(zai)(zai)模式(shi)是原(yuan)理。需要(yao)(yao)注意的(de)是,不(bu)(bu)(bu)同(tong)的(de)加載(zai)(zai)(zai)策略運用(yong)了不(bu)(bu)(bu)同(tong)的(de)加載(zai)(zai)(zai)模式(shi),并不(bu)(bu)(bu)是簡單的(de)一對(dui)一的(de)關(guan)系,要(yao)(yao)學會配合使用(yong)。
1.啟動(dong)頁加(jia)載
打開APP有(you)一個加載(zai)的過(guo)程,在這個過(guo)程中(zhong),可能對同步加載(zai)和異步加載(zai)均有(you)涉及(ji)。
同步(bu)加載時的常用策略(lve):加載完(wan)某些數(shu)據(ju)才能進入應用,適合(he)對某些關鍵(jian)數(shu)據(ju)進行檢查(cha),例如檢查(cha)用戶的身份(fen)信(xin)息,此種策略是為了保證一些關鍵(jian)數(shu)據(ju)的可控性。
異步加(jia)載的常用(yong)策略:進入應(ying)用內再加載使用的(de)數據,例如進入應(ying)用再加載首(shou)頁,可以提高進入應(ying)用的(de)速度。
APP啟動(dong)頁(ye)顯示(shi)的(de)長短取(qu)決于(yu)需要加載的(de)內容的(de)多(duo)少。一些APP在啟動(dong)頁(ye)之后還(huan)設置(zhi)了廣告頁(ye)面(mian)(一般可跳過),則考慮更(geng)多(duo)的(de)是廣告營銷等商業目的(de)。