瑞士起司模型 Pt. 2
原文由 Marcin Wichary 于 發布,訂閱此部落格
1.
哎呀,被你逮個正著,我手邊正忙著呢。我只是在 Google Docs 裡——沒錯,就是在 Google Docs 裡——幫朋友整理一份 Windows 版本清單。
應該很簡單。我已經從維基百科抓了一份,稍微整理了一下,但看起來還是有點醜:

這裡的內距太擠了,我不太喜歡。來試試大一點的,像是 0.08 英吋?我只要選取第一欄,把數字打進去,然後……
搞什麼鬼!!!
天啊。發生什麼事了?好吧,來按一下 ⌘Z 試著復原……
喔,不行。或許按一下 Esc 試試……
可惡。
2.
好,以下是精確發生的經過:
- 我按了 Backspace 刪掉原本的 0:

- 我開始輸入「.08」。按下「.」時還算正常,雖然它跳出了一個有點迫不及待的提示:

- 加上「0」之後,Docs 把「.」刪掉了,所以結果只剩下「0」:

- 再加上「8」之後,Docs 又把開頭的 0 拿掉,最後就只剩下「8」:

- 頁面讀到最後的「8」,就套用了 8 英吋的內距(是我想要的整整一百倍!),然後即時顯示給我看,結果表格變得完全無法辨識,看起來就像出了什麼大災難,
- 按下 ⌘Z 完全沒反應,
- 按下 Esc 也只是讓輸入框失去焦點而已。
我想我可以完整解釋這背後一連串的邏輯與錯誤:
- 首先,任何輸入的數字都會立刻在左側預覽。這通常感覺還不錯!
- 輸入內容不是在我按下 Enter 確認時才修正,而是在我打字的當下就被即時改寫。這不是我會推薦的做法,但我能理解這個設計決策。
- 如果我只打「08」,它會被改寫成「8」。這還算合理,因為這樣可以把數字正規化,讓格式一致。
- 如果我打「.1」,它會被改寫成「0.1」。好吧,也行,類似的概念。
- 但問題是,打「.0」卻會被改寫成只有「0」。我覺得這是個 bug,或是沒想周全——它應該要被改成「0.0」才對。
- ⌘Z 沒作用。我認為這是個 bug,系統對數字的改寫沒有被放進復原堆疊裡。(事實上,情況似乎更糟——再多按幾次 ⌘Z,我的數字竟然被改寫成「80」,那會讓情況更慘!)
所以,結果就是我的「.08」被扭曲成「8」,馬上被套用,而且還不容易復原。
3.
這感覺就是瑞士起司模型發揮作用的絕佳範例:

只要下面這些要點中,有任何一點的行為不一樣,我就不會落入這種處境:
- 如果數字不是在輸入當下就被即時改寫,就不會有問題,
- 如果「.」沒有被那麼積極地改寫成「0.」,也不會有問題,
- 如果沒有即時預覽,我本來可以在改寫後手動發現並修正,而不是在螢幕上看到巨大變化、還以為資料整個壞掉而陷入恐慌,
- 如果輸入框的復原功能正常,那一瞬間的恐慌也能馬上復原,
- 如果按 Esc 是取消而不是確認,也是一樣。
這些決策單獨來看都很有道理,也不覺得危險或重要。但合在一起,起司上的每個洞就這麼剛好對齊了,造就了一次相當嚇人的體驗。
感謝 Ezra Spier 與我分享這個案例。
隨機一篇部落格
留言
登入後參與討論