通過設(shè)計讓APP變快的6個方法

2013-11-05 14:15:33來源:uedc作者:

我們都知道不管網(wǎng)頁還是移動應(yīng)用,響應(yīng)速度都是最重要的體驗指標之一,并且移動應(yīng)用的網(wǎng)絡(luò)環(huán)境不穩(wěn)定,速度的體驗顯得尤為重要。其實速度優(yōu)化不僅是程序員的事,設(shè)計,也能夠讓APP變得更快。

我們都知道不管網(wǎng)頁還是移動應(yīng)用,響應(yīng)速度都是最重要的體驗指標之一,并且移動應(yīng)用的網(wǎng)絡(luò)環(huán)境不穩(wěn)定,速度的體驗顯得尤為重要。其實速度優(yōu)化不僅是程序員的事,設(shè)計,也能夠讓APP變得更快。

 

1.后臺執(zhí)行

這是一條很通用,也容易理解的方法。用戶不會愿意盯著進度條傻傻地等待,除了“取消”沒有其他選擇。在系統(tǒng)處理一些網(wǎng)絡(luò)任務(wù)的時候,完全可以允許用戶做一些其他的事情。

各大平臺的發(fā)微博,都采用了后臺執(zhí)行。云閱讀的離線下載也采用后臺執(zhí)行。

\

而微博的看長圖(或視頻),是個反例。網(wǎng)絡(luò)不給力時,要么等待1分鐘讓圖加載完,要不就只好放棄看圖。為什么不能讓圖加載的同時,用戶可以看其他微博呢?

\

 

2.在載入前顯示內(nèi)容

客戶端與web的一個不同點,客戶端的顯示內(nèi)容包括本地數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù)兩部分。在設(shè)計界面時,將更多的信息放在本地,在網(wǎng)絡(luò)數(shù)據(jù)未載入時即顯示本地數(shù)據(jù),讓用戶產(chǎn)生一種“已經(jīng)載入一半了”的錯覺,即使最終的耗時一樣,心理感受也會更快。當(dāng)然把數(shù)據(jù)過多地寫在本地,會犧牲一些靈活性,需要根據(jù)具體情況考慮。

具體請看twitter、Facebook、Vine等優(yōu)秀產(chǎn)品的啟動畫面,雖然同是靜態(tài)圖片,但它們不使用LOGO而假裝已經(jīng)載入了“導(dǎo)航欄”和“標題欄”,讓人感覺“點擊后立即就啟動了”。

\

再如App Store的詳情頁,在詳細信息載入前,已有信息先顯示。

\

 

3.充分利用好緩存

緩存可以把網(wǎng)絡(luò)數(shù)據(jù)保存在本地,下次打開時無需要再次向網(wǎng)絡(luò)請求,減少流量并減少等待時間。在設(shè)計時,可以先顯示緩存內(nèi)容,同時后臺到網(wǎng)絡(luò)上拉取新內(nèi)容,若有新內(nèi)容立即替換或下次訪問時替換。但緩存使用也要注意“度”,過大的緩存文件占用太多的系統(tǒng)空間,會讓用戶一怒之下卸載APP。

云閱讀的“書城”和“通過微博找好友”等界面,都使用了緩存機制,提高打開頁面的速度。

\

 

4.界面先行,網(wǎng)絡(luò)交互隨后

對于一些數(shù)據(jù)量很小,且失敗可能性較小的網(wǎng)絡(luò)交互,用戶并不需要明確知道APP在干這些事情,也能夠順暢地使用APP,那么我們就應(yīng)該“把一些事實掩蓋起來”,即界面上聽話地、迅速地完成任務(wù)(心智模型),程序后臺默默地繼續(xù)執(zhí)行任務(wù)(實現(xiàn)模型)。

最常用的比如QQ、微信、易信等聊天界面。點擊發(fā)送后,消息立即”飛”到聊天上下文中,其實對方還沒收到。但這樣的設(shè)計讓溝通的過程更順暢,沒有“正在發(fā)送 – 發(fā)送成功”各種過程的干擾。

\

用戶在收藏文章,關(guān)注好友等操作時,數(shù)據(jù)量很小,可以界面先行。用戶在繼續(xù)瀏覽文章的同時,系統(tǒng)會把文章收藏好。

\

與此思路相仿的另一種方法也常被用到:在無網(wǎng)絡(luò)條件下,用戶進行操作(比如寫評論,寫備注等),把用戶的輸入內(nèi)容保存在本地,等到有網(wǎng)絡(luò)時再上傳。讓用戶有連貫的體驗。

 

5.預(yù)測用戶行為,提前開始任務(wù)

不知道大家使用淘寶有沒有這樣的習(xí)慣,在搜索結(jié)果列表,將所有感興趣的結(jié)果都打開為新標簽頁,然后一個個地看,沒興趣的就關(guān)閉。這樣做的好處是,在我瀏覽商品詳情頁的時候,每個頁面都是載入完全了,否則我點開一個看一個,每個都要等待加載完,就會大大降低效率。

那么能否通過設(shè)計,來滿足類似使用場景呢?應(yīng)該是可以的,那就是預(yù)測用戶的行為,提前開始任務(wù)。

策略類似這樣:

用戶在某個界面停留的時候,預(yù)測下一步可能做ABC三個任務(wù),系統(tǒng)于是把這些任務(wù)都提前做完。當(dāng)用戶做出選擇比如A時,界面可以迅速響應(yīng),并且同時把BC兩個任務(wù)從內(nèi)存中清空掉以節(jié)省資源。(當(dāng)然這招也有限制:1,只適用于免費的網(wǎng)絡(luò)。2,預(yù)加載不能影響系統(tǒng)的性能)

我們就回來看淘寶的iPad客戶端。它有這樣的設(shè)計,在某詳情頁查看時,向右一劃可以查看下一個商品,也許這是一個好設(shè)計,但是卻沒有幫我預(yù)加載下一個界面,我還是不得不傻傻地等頁面加載完。

\

那我們看一些其他的設(shè)計

在網(wǎng)易云閱讀,我們認為用戶進入一個資訊源的一個最大可能就是刷新查看新內(nèi)容。所以即使沒有打開自動刷新選項時,進行源列表,后臺自動加載新內(nèi)容,并在刷新按鈕上顯示“NEW”,此時當(dāng)用戶再刷新,內(nèi)容立即呈現(xiàn)。

\

Android更新提醒在安裝包自動下載完成之后提示,讓用戶不再需要等待下載過程。

\

再比如云閱讀的查看大圖,自動載入下一張;TableView在將要達到底部時自動載入等。

Chrome在下載前詢問是否保存,在用戶決定之就已經(jīng)開始下載,節(jié)省了不少時間。如果用戶放棄,已下載內(nèi)容會自動刪除。

 

那么,用這個思路

寫微博插入照片后,能否自動上傳,而不必等用戶點擊了“發(fā)送”才上傳?

看微博時定位到某條微博,是否應(yīng)該自動加載大圖或視頻?

音樂應(yīng)用在當(dāng)前歌曲快播放完時,是否應(yīng)該下載下一首歌,以免切歌的時候會卡一會兒?

 

6.使用動效來掩護載入過程

優(yōu)秀的動效設(shè)計,讓產(chǎn)品更好用且讓人眼前一亮。其實,動效還有另一大用處,吸引用戶的注意,讓本來枯燥的等待載入的過程,變成愉悅欣賞的過程。
 

關(guān)鍵詞:APP

贊助商鏈接: