
模式
|
269
可取消性(
Cancelability
)
圖
6
-
26
Firefox
這是什麼
提供可以立刻取消一個很花費時間的操作的方式,且沒有副作用。
何時使用
執行一項耗費時間的操作時;它可能會中斷 UI,或是在背景執行,而操作花費的
時間在兩秒以上 — 例如列印檔案、查詢資料庫,或載入一個很大的檔案。又或是
使用者正在進行一項活動,此活動確實或顯然會關閉大多數系統互動,例如當使用
者在情境對話框(modal dialog box)中工作時。
為何使用
使用者會改 變心意。一 旦某個耗費 時間的操作 開始了,使 用者有可能 想要中途停
止,特別是在進度指示器(Progress Indicator)對他們表示操作需要一陣子時。或
可能使用者是不小心開始這個操作的。可取消性的確有助於避免錯誤與狀態回復 —
使用者可以取消他知道最後會失敗的事(像是試圖從已經掛掉的網頁伺服器載入一
個頁面)。
無論如何,如果使用者知道一切操作都是可以取消的,他會更樂意於探索介面並嘗
試新事物。這鼓勵了第一章提到的安全探索(Safe Exploration),因而讓介面更容
易用,學習時更有趣。
原理作法
首先,想看 看能否加快 耗時操作的 進度,讓它 看似即刻完 成。甚至不 需要真的很
快,只要讓使用者感覺它是即刻完成就夠好了。在全球資訊網或網路應用程式上,
這可能是預先下載資料或原始碼 — 在使用者開口要資料之前先傳送到用戶端;或
可能是用漸進的方式傳送資料,一有資料就立刻顯示給使用者看。請記得:人類閱
讀的速度有限。你可以下