當(dāng)一款應(yīng)用出現(xiàn)幾次死機(jī)現(xiàn)象,相信這是非常令人頭疼的事情。令人懊惱的是,盡管這些應(yīng)用會(huì)出現(xiàn)卡頓現(xiàn)象,但卻擁有良好的編程、可優(yōu)化的源碼。即便你已經(jīng)為該應(yīng)用改進(jìn)了性能,對于用戶而言,依然會(huì)有進(jìn)程緩慢現(xiàn)象。保持潔凈的代碼是必須的,然而,對用戶來說,程序響應(yīng)速度則是第二大重要要素。
平滑的操作界面是檢驗(yàn)一款應(yīng)用是否成功的重要因素。擁有一些職能的技巧可幫助你彌補(bǔ)技術(shù)上的缺陷,比如進(jìn)程緩慢、3G數(shù)據(jù)加速。如何才能打造完美的用戶體驗(yàn)?zāi)兀肯旅嫖覀兙蛷恼掌瑧?yīng)用服務(wù)Instagram中一窺究竟。
1. 速度是成功的一大因素
響應(yīng)式App或者應(yīng)用響應(yīng)速度,是給用戶留下整體印象必不可少的要素。超快的照片上傳速度,例如, Instagram無疑是現(xiàn)在最流行的一款應(yīng)用,也是最成功的照片分享服務(wù)商。事實(shí)上,關(guān)于照像/攝影的應(yīng)用不計(jì)其數(shù),但它們的影響力和上傳功能卻是一般,這是為何呢?
用戶缺乏耐心。即使是因處理器版本低,3G鏈接速度較慢,用戶無法理解為何他們要在移動(dòng)設(shè)備上等待太多時(shí)間。因此,該如何提供與Instagram相似的用戶體驗(yàn)?zāi)兀拷鉀Q的方法就是在該應(yīng)用中增添一些小技巧。
良好的用戶體驗(yàn)是一個(gè)重要因素。Instagram的團(tuán)隊(duì)在提升用戶體驗(yàn)上下了很大功夫,創(chuàng)始人之一Mike Krieger曾做了個(gè)講座叫“Secrets to Lightning-Fast Mobile Design”,指出如何提升應(yīng)用流暢之感。感興趣的朋友可以移步去看下。
2. 巧妙填補(bǔ)空白
簡而言之,基本的技巧就在于開發(fā)和設(shè)計(jì)之間的優(yōu)化協(xié)作。
正如Krieger所說的,”用移動(dòng)體驗(yàn)填補(bǔ)空白“,因?yàn)椤霸诘却臅r(shí)候沒人愿意等待”。把玩一款應(yīng)用時(shí),用戶總會(huì)認(rèn)為應(yīng)該擁有完美的體驗(yàn)。為了實(shí)現(xiàn)這一點(diǎn),可以通過顯示“ like”按鈕,盡管后臺(tái)此時(shí)正在發(fā)送請求。Instagram就是使用這樣的伎倆,當(dāng)用戶上傳照片但還未成功上傳照片時(shí),讓用戶參與評論,這樣能消磨用戶煩躁的心情。倘若在傳輸過程中出錯(cuò),應(yīng)用程序會(huì)利用新的提示來顯示錯(cuò)誤信息。能夠達(dá)到這一點(diǎn),該應(yīng)用還算是“樂觀的”。
3. 在后臺(tái)移動(dòng)BITS(后臺(tái)智能傳送服務(wù)) 以及BYTES
Instagram的核心功能是圖片上傳。許多人都會(huì)好奇它是如何運(yùn)作的,如此地快速、沒有任何感知、無需等待。成功的秘訣不在于復(fù)雜的壓縮算法或是類似的技術(shù)革命,而是上傳。“在無人看到的時(shí)候移動(dòng)bits”Krieger說道。
Instagram會(huì)在后臺(tái)預(yù)先啟動(dòng)圖片上傳機(jī)制,用戶只需選擇一個(gè)過濾器即可,而其他照片應(yīng)用則是除非用戶明確開始上傳,否則不會(huì)預(yù)先啟動(dòng)上傳。
Instagram的一大優(yōu)勢是,當(dāng)你啟動(dòng)應(yīng)用時(shí),會(huì)顯示你最重要的朋友照片。不是事先下載好照片,而是應(yīng)用通過優(yōu)先級進(jìn)行推送。如果有很多朋友喜歡這些照片,系統(tǒng)會(huì)自動(dòng)記載同類用戶拍攝的照片。通過這種方法,當(dāng)你開啟應(yīng)用時(shí),后臺(tái)會(huì)在你不知情的情況下加載一些重要的內(nèi)容――即便是信號(hào)連接很弱也能快速呈現(xiàn)在用戶面前。
另一種巧妙的方法就是,快速登陸響應(yīng)機(jī)制,如果輸入表單中的數(shù)據(jù)已經(jīng)可以轉(zhuǎn)移,為何要等到用戶點(diǎn)擊才發(fā)送?
4. 優(yōu)化操作系統(tǒng)代碼
利用特定平臺(tái)的特殊性能與設(shè)計(jì)技巧同樣重要。快速的應(yīng)用應(yīng)當(dāng)時(shí)常被優(yōu)化和調(diào)整。通常,最糟糕的情況是在Android平臺(tái)上出現(xiàn)“該程序無法響應(yīng)”,因此,你應(yīng)該不惜一切代價(jià)來避免。
系統(tǒng)提示應(yīng)用無法響應(yīng)――在系統(tǒng)處于繁忙狀態(tài)下總會(huì)出現(xiàn)這種情況,例如,對于諸如網(wǎng)絡(luò)訪問I / O操作。外包工作的技巧在于不是在UI線程中設(shè)置加載,而是創(chuàng)建一個(gè)新線程。UI線程能夠阻止系統(tǒng)識(shí)別潛在的代碼凍結(jié)。為此,Google專門設(shè)置了Android 開發(fā)者網(wǎng)站來避免響應(yīng)錯(cuò)誤。針對Android 應(yīng)用,Developer Garden提供了App Monitor,它允許你監(jiān)控響應(yīng)速度和內(nèi)存使用情況,以幫助你優(yōu)化應(yīng)用程序。
Apple公司為iOS 開發(fā)者提供了幾點(diǎn)建議。他們建議為性能設(shè)置目標(biāo),比如,快速加載和顯示應(yīng)用首頁。你可以測量該應(yīng)用的性能并對其進(jìn)行優(yōu)化,直到達(dá)到目標(biāo)。
后話:
Instagram的成功告訴我們,應(yīng)用程序的感知速度如何決定著該應(yīng)用的成敗。這就需要開發(fā)者與界面設(shè)計(jì)師的通力合作,并愿意一直合作下去。
英文出自:Developergarden