“Try quickly typing 1+2+3. I bet you won’t get 6.”

Marcin Wichary

1+2+3と素早く打ってみてほしい。きっと6にはならない

原文は Marcin Wichary により に公開されました。 このブログを購読する

今月初め、写真アプリの回転ボタンについて書いた。iOSではとても快適に動作するのに、Nothing Phoneではいまひとつだったという話だ。iOSもかつて、よく似たつまずきをやらかしたことがある。今回の話は、その点をよりはっきりと示してくれるかもしれない。

電卓アプリは2007年の初代iPhoneの登場以来、ずっとプリインストールされてきた。長いあいだ、それは数十年前から変わらない機能しか持たない、ごく普通の四則演算電卓でしかなかった。だが、注意を怠れば、そんなシンプルなものでさえ台無しにできてしまう。

iPhoneの歴史が10年を迎えたiOS 11で、Nothing Phoneの回転ボタンとよく似た問題が持ち込まれた。キーを素早くタップすると、押した反応は表示されるのに、実際の入力が登録されないのだ。Michael Tsaiのまとめサイトの最初のエントリには、Stephen Heapsによる動画が掲載されている。

そこでは1+2+3+4と入力しているのに、iOSが「+」の1回分を忘れてしまい、1+23+4 = 28になってしまう。その後、多くの人が同様の報告を投稿し、さまざまな別の例を示した。

コンピュータが初歩的な計算で失敗するのを見るのは、妙に目が離せない。だが、歴史的にとりわけ興味深く、そしてAppleにとってはさらに気まずいのは、この種の問題を解決してきた実に豊かな歴史が存在することだ。

電卓はタイプライターと並んで、ボタン式(ピアノ式ではない)キーボードを持つ最も初期の装置として進化してきた。だが、そこで求められるものは大きく異なっていた。

出来の悪いタイプライターを想像してみてほしい。がっかりさせられる可能性はさまざまだ。キーを軽く押せば文字はかすれ、強く押せば紙に穴が空く。印字がずれることもあれば、タイプバーが絡まって打ち直しを強いられることもある。

タイプライターは、真っ白なアナログの紙を、エスケープメントやラチェットなどを使って、信頼できて見た目も整ったグリッドへと分割するために懸命に働かなければならない。だが、電卓にとって、アナログな世界をデジタルへと変換する仕事は、はるかに重要だった。なにしろ、タイプライターで押したキーが違う文字を印字することはまずないが、出来の悪い電卓では、「5」を軽く押しただけで「4」や「6」、あるいは「4.5」が出力されてしまうことさえあり得るのだ。

しかも、タイプライターは入力した言葉をそのまま写し取るだけだが、電卓の仕事はまさに、入力した数字から新しい数字を作り出すことだ。不正確な機構はその計算を台無しにする。詰まりが起きれば、部分的あるいは非決定的な計算が実行されてしまうかもしれない。999,999に1を足すとき、連鎖的に起こる繰り上がりに必要な力だけで、装置が動作の途中で壊れてしまうことさえあった。

さらに、言語にはもともと冗長性が備わっている。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の上でさまざまな速度で実行する一連のテスト、つまり何百万人もの電卓アプリ利用者の指の動きを模したテストを用意していなかったことかもしれない。そのようなテストもまた、何十年も前から標準的な手順だったのだ。

そうしたテストは2017年には欠けていたように見えた。2+3+4年後の今は、そうではなくなっていることを願うばかりだ。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント