l

2011年3月2日 星期三

Designing for Error (4):constraints, forcing functions, and natural mappings

March 02 22:27~23:49


The Psychology of Everyday Things (p. 140)對於 Designing for Error 的總結,一共有三個重點,今天談第二個重點: 


Use the power of nature and artificial constraints: physical, logical, semantic, and cultural. Use forcing functions and natural mappings.

利用強加『限制(constraints)』的方式來避免使用者犯錯是一個常見的作法。什麼叫做強加限制?最簡單的一個例子,『時速限制』。因為怕開車開太快容易發生車禍(等於產生 errors),因此政府對不同的路段設計不同的時速限制,這就是 constraints。Constraints 聽起來雖然感覺是一個『負面』的字,因為它限制了使用者『任意使用』某物品的自由,但是往好的方面想,它也減少了使用者犯錯的可能。

路人甲:但是還是很多人超速啊!?

Teddy:自然有法律會去制裁他。
 
不知道鄉民們去 ATM 領錢的時後有沒有注意到,當選完要領的金額數目之後,ATM 會問你『是否要繼續交易』,如果選否,則 ATM 會把提款卡會先退出來。除非你把提款卡拿走,否則 ATM 是不會把錢吐出來的。相信大部分的人不會忘記要拿錢 只會忘記拿帳單,因此這種順序上的限制(先拿卡再拿錢)可以避免使用者忘記拿走提款卡的機率。想一想,如果反過來,先拿錢再拿卡,應該會有很多人一拿到錢太高興了就把提款卡給忘了。
 
***

看到這裡鄉民們應該會問,什麼是 forcing functions?依據書上的解釋(p. 132):

Forcing functions are a form of physical constraint: situations in which the actions are constrained so that failure at one stage prevents the next step from happening. 

書上介紹有三種 forcing functions (p. 135):
  • Interlock:An interlock forces operations to take place in proper sequence。舉例說明之,如果使用者在微波爐啟動的時候不小心把微波爐的門打開,那麼微波外洩可是很危險滴,據江湖傳言輕則導致不孕(開爐自宮)或是變成盲劍客,重則有生命危險。因此,微波爐就被設計成『只要門一打開就停止運轉』,或是說『只有在門關起來的時候才可以運轉』。回頭再讀一次 interlock 的定義:一個 interlock 強制某些操作只能在特定的順序之下才可發生。『先關門-->後啟動』就是一種『特定順序』,如果違反此順序(限制)則該操作(啟動微波爐)就沒有作用。鄉民們使用微波爐的時候不知道有沒有想到如果沒有這個 interlock 可是『祝恐怖』滴...搞不好微波爐就變成:「好微波爐!微波爐的奧妙之處,在於它可以藏在民居之中,隨手可得,還可以假裝做菜或是加熱食物來隱藏殺機,就算被警察抓了也告不了你,真不愧為七大武器之首!」(Teddy 內心獨白:萬一停電不就沒搞頭了...XD)
  • Lockin:A lockin keeps an operation active, preventing someone from prematurely stopping it。想像一下你正在使用 Microsoft Word,文件編輯到一半突然不小心『手ㄎㄟˊ』 去按到『關閉』功能。萬一 Word 真的傻傻的就直接離開,不帶走一片雲彩,那麼你剛剛所打的那一堆資料就真的是『悄悄的來,又悄悄的走』。還好文書編輯軟體都針對『如果有尚未存檔的文件,在結束程式之前必須要讓使用者再次確認』的機制,也就是 lockin 所要達到的 keeps an operation active, preventing someone from prematurely stopping it(讓 Word 繼續活著,除非使用者確定不儲存未存檔的文件)。
  • Lockout:A lockout device is one that prevents someone from entering a place that is dangerous, or prevents an event from occurring. 鄉民們應該有看過類似『惡靈古堡』這類的電影,就是某個研究病毒的機構,有一天突然不小心病毒外洩,此時電腦自動『關門放狗』(放下安全門),不讓任何人進入受到污染的區域(prevents someone from entering a place that is dangerous)。當然,萬一不幸你是那一個處在污染區域的人,那你就被『lockin』關禁閉直到變成 薑絲 僵屍才出得來...XD
***

最後談談 natural mappings,舉一個最簡單的例子,假設鄉民們家裡有五盞電燈,位置排列如下。
 
電燈1     電燈2     電燈3     電燈4     電燈5   
 
如果電燈開關排列的位置和電燈的位置一樣(如下所示),那麼開關電燈的時候就不容易搞錯。為什麼,因為控制端與被控端有著 natural mapping
 
開關1     開關2     開關3    開關4     開關5

但是,如果開關排列的位置長成這樣子:

開關3     開關5     開關1    開關2     開關4
 
那麼每次開電燈都要搞得像是『樂透開獎一樣』,能猜中還真不容易。

***

友藏內心獨白:電影裡面還真的有用微波爐來殺人的情節,難道是破壞了 interlock?


沒有留言:

張貼留言