同樣的原則也適用于通過微妙的UI變化來確認用戶的觸摸手勢。在屏幕上點擊或者滑動,你觸摸到的UI元素會發生改變或者移動,從而告訴你哪些內容正在發生改變。這種方法提高了用戶對性能的感知,并且也可以幫你創建更快速的移動體驗。
進一步考慮這一點,我們可以實際上創建一種錯覺–你的操作已經生效,但事實上并沒有。Instragram的聯合創始人Mike Krieger稱這一技術為“樂觀地執行操作”(performing actions optimistically)。比如,當你“贊”Instagram上一張照片時,按鈕會馬上發生改變以提示你的操作已經完成了。
事實是網絡正在告訴服務器你進行了什么操作。但是Instagram的用戶界面并沒有等待服務器確認操作的實際發生。用戶樂觀地假設操作已經生效了。如果后來出了問題,Instagram隨后會進行處理,而不是從一開始就告訴用戶有點小麻煩。用戶評論這一塊兒也一樣。
我們在自己的原生移動應用中也使用了這種方法,甚至Polar更進一步使用了該技術,并假設你創建的任何新投票將會連接至我們的服務器。所以當你在Polar上創建新投票時,它會展示在你的信息中。事實上,是我們創建了一個臨時的本地副本,并把它添加在列表的前面。
我們創建的投票臨時版本具備完善的功能,你可以在此投票并進行評論。為了確保用戶的操作能真正生效,我們堅持把它放在本地,在系統提示用戶出錯前試著重復發送幾次。做一個功能完善的臨時版本和使用多個后臺處理進程來確保成功加載,聽起來似乎是做了許多額外的工作來讓用戶“感覺”app運行的很快,但事實上值得一試,當用戶在Polar進行投票時,這似乎是一瞬間的事情。在這個例子中,用戶的“感覺”打敗了事實。
文章來源:cocoachina
原文來源:Mobile Design Details: Performing Actions Optimistically