試著快速輸入 1+2+3,我賭你得不到 6
原文由 Marcin Wichary 于 發布,訂閱此部落格
本月初,我談到了照片中旋轉按鈕在 iOS 上表現得非常滑順,但在 Nothing Phone 上卻差強人意的例子。這裡還有一個 iOS 曾經犯下類似錯誤的故事,或許更能說明問題所在。
計算機 App 自 2007 年 iPhone 問世以來就一直預載在手機上。很長一段時間裡,它不過就是一台功能幾十年不變的標準四則運算計算機。然而,就算只是這樣,一不小心還是會搞砸。
到了 iPhone 歷史的第十年,iOS 11 出現了一個和 Nothing Phone 旋轉按鈕如出一轍的問題——快速點擊按鍵時,按鍵看起來有反應,但實際上卻沒有被註冊。Michael Tsai 的彙整網站上第一篇文章收錄了 Stephen Heaps 的影片:
影片中輸入了 1+2+3+4,結果 iOS 漏掉了一次「+」的按鍵,變成了 1+23+4 = 28。之後有更多人回報這個問題,並展示了各種其他案例。
看著電腦在最基本的數學上出包,有種莫名引人入勝的感覺。但就歷史來看特別有意思、對 Apple 來說或許也格外難堪的是,這類問題其實有著非常豐富的解決歷史。
計算機與打字機一同演進,是最早擁有按鈕式(而非鋼琴式)鍵盤的裝置。但兩者背負的風險截然不同。
想像一台做工不良的打字機,以及它會用各種方式讓你失望:輕輕按,字跡可能很淡;用力過猛,又可能把紙戳破;印出來的位置可能歪掉,或是字桿以某種方式卡住,逼得你得重來一次。
打字機必須透過擒縱器、棘輪等機制,努力把一張空白、類比的紙張分割成可靠又美觀的格線。但計算機要讓類比世界變成數位的工作,重要性要高得多。畢竟,你按下的打字機按鍵不太可能打出錯誤的字母——但在一台做工不良的計算機上,輕輕按一下 5,卻完全有可能跑出 4、或 6、甚至 4.5。
而且,打字機只是逐字照打你的文字,計算機的工作卻正是從你輸入的數字中創造出新的數字。機制不夠精準,就會把計算搞砸。卡住可能會導致不完整或無法預測的運算。把 1 加到 999,999 上,連續進位所需的力道,甚至可能讓機器在運作到一半時直接故障。
除此之外,語言本身就有內建的備援性。Evn if yuo mak many typoes, th sentece can stil be understod. 但所有數字看起來基本上都一樣。計算機一旦在某個對薪資、工程或導航至關重要的數字上出錯——你可能永遠都不會發現。
有鑑於此,早在 19 世紀,許多計算機製造商就花了極大的力氣,不只是要讓人相信他們的裝置很有用、很快、很好用,更要讓人相信它值得信賴。按鍵經過精心配重。Comptometer 配有鎖定機制。如果機器感覺到哪裡不對勁,就會停止運作,需要強制重置才能繼續。想傳達的訊息是:「你可以信任我,因為我絕不會給你錯誤的計算結果,在我可能對你說謊之前,我會先讓自己停下來。」Charles Babbage 對他的差分機如此有信心,甚至歡迎人們在計算過程中動手去撥弄它的機械轉輪,深信就算遭到破壞,機器也絕不會算錯。
就像數十年後的 Selectric 一樣,這些問題都是由在乎的人們,在嚴苛得多的機械條件下解決的。
當然,我並不指望 Apple 核心 iOS 團隊的每個人都是計算機 UI 的歷史學家(雖然團隊裡至少有一個這樣的人會很不錯!)。讓人難堪的是,團隊裡竟然沒有人想到,讓按鈕在動畫期間對快速點擊做出視覺回饋,卻又不註冊,會造成各種嚴重的麻煩。(這個錯誤在 iOS 11.2 中透過移除動畫來修復,隨後在 iOS 11.3 中又在沒有原有問題的情況下把動畫加了回來。)
但或許更令人難堪的是,Apple 竟然沒有準備一整套測試,以各種速度在 UI 上方執行,模擬那想必有數百萬人會用計算機 App 的手指操作。這同樣也是行之數十年的標準流程。


那些測試在 2017 年似乎付之闕如。希望 2+3+4 年後的現在,情況已經不再如此。
隨機一篇部落格
留言
登入後參與討論