前言
不要讓使用者等待!越多的等待時間,就越容易讓使用者流失,因此讓應用程式的回饋即時,是很基礎重要的原則。
人們通常會認為這是一個技術上的難題,畢竟打造更有效率更快速的程式能夠解決一切問題不是嗎?並不全然如此,除了伴隨著更高的成本代價之外,效能的強化也有上限,舉例來說:
- 當使用者的裝置或網路環境不佳時,即便是最有效率的程式也無法解決這個問題。
- 不可避免的現有的技術架構,也有效能瓶頸,例如:服務之間溝通仍有最低的時間成本。
這時候便可以透過改善使用者體驗來達成及時反饋的目的,畢竟「等待」是一種可以被操縱的體驗,透過精巧的設計可以緩和等待造成的不適,而樂觀 UI 就是其中一種方式。
傳統 UI 加載流程
在用戶觸發操作後通常會有一段不可避免的等待時間,受限於例如:網路請求、資料庫查詢……等背後操作,等待操作核實或新資料的回傳成功,使用者介面才能展現出行動後的結果。
樂觀 UI 加載流程
為了減少等待時間,樂觀 UI 在觸發的當下就假定操作成功,並且立即更新介面讓使用者能夠立即得到操作的反饋,這種模式能夠有效縮短用戶等待時間,創造更流暢、令人滿意的互動體驗。
樂觀 UI 的優點
很明顯的,樂觀 UI 由於預先假定操作成功,因此用戶操作並「近乎沒有等待時間」是最大的優點。
- 縮短等待時間: 由於樂觀 UI 在假定操作成功的同時即時更新介面,用戶在觸發操作後幾乎感受不到等待時間,提升整體使用者體驗,特別是在網路環境或系統效能不佳的情況下更為顯著。
- 流暢互動體驗: 用戶在操作時能夠立即看到結果,使互動更加流暢,有助於提升使用者滿意度和對系統的信心。
樂觀 UI 的缺點
樂觀 UI 的缺點在於,當操作失敗時,使用者介面會與實際狀態不符,這時候就需要透過完善的回饋機制(彈跳警告、動畫)來讓使用者知道操作失敗的原因,並且讓使用者可以重新嘗試。
- 可能引起混淆: 因為介面瞬間呈現的是預期的結果而非實際完成的結果,可能會讓用戶產生混淆或誤解。
- 需建立完善的回饋機制: 為了避免混淆,需要建立有效的回饋機制,讓用戶得知操作失敗的原因,提供清晰的信息,並引導用戶進行必要的修正或再次嘗試。
總結
在文章中運用簡單的我的最愛狀態切換來示範樂觀 UI 的應用,不過實際上只要是與創造、更新或刪除這類操作都可以斟酌運用樂觀 UI 來改善使用者體驗。
延伸閱讀
- Measure performance with the RAIL model - web.dev
- Cheat Code for a Lightning Fast Front End: Building an Optimistic UI - derekndavis
- What is the Optimistic UI? - kiwee