. . |
◇トップページ > 管理人の日記 > 2022年3月6日の記事
管理人の日記
サラダを買ったつもりが、何故か家に帰ってくるとビールになっていたことがあります(?)
いにしえの個人サイトでは、CGIというプログラムが珍重されていた。今、あなたが見ているこの文章も、CGIで出力が為されている。以前は、当サイトも純粋なHTMLで作成していたが、2011年ごろから移行をしていき、今ではほぼ全てのページをCGIで出力している。
…さて、そのプログラムは、既存の物にわざわざこんなテキストサイトを再現するほど低性能なものがあるわけないでは私の求める性能を満たせなかったため、自分で1から制作していった。その際に、私が気を付けていたのが、「送信」の隣に「リセット」を置くようなプログラムにしないことであった。
さて。どういうことかと言うと。個人サイト全盛期には、古風な「テキストボックス」や「プッシュボタン」を使って、情報を送信するというページがあった。私が使っている伝説のHTML制作ソフト:FrontPageExpressでは、フォーム作成も容易なので、簡単な例を作ってみた。以下のような感じである(※あくまでイメージなので、ボタンを押しても何も起こりません)。
こんな感じの欄に情報を入力して、「送信」ボタンを押すと、管理人にメールが届いたり、はたまたホームページ上に文章が載ったりする。だから何だという感じであるが、インターネットが普及し始めた2000年ちょうどくらいの時期には、この程度のことでも一大事であったのだ。
だが。この手のフォームにおいて、何故か「送信」の隣に「リセット」を置くという悪習がまかり通っていた。
…そもそも、「リセットボタン」自体の必要性が低い。何故なら、入力した情報を消したければ、ページを閉じて最初からやり直せば良いからだ。しかも、「送信」の隣に「リセット」があるというのが決定的にマズい。全ての情報を入力し終えて送信をする行為と、最初からやり直す行為は、機能が正反対であるからだ。それを隣に置いておくようなことは、誤入力を誘発している。
――やれ、割合としては、「送信しようとして、間違えてリセットを押してしまった」という事故のほうが圧倒的に多いだろう。しかし、その逆で、「リセットをしようとしたが、逆に送信してしまった」も、これまた大失敗となる。その対策は、リセットボタンを隣に置かないことである。人は、一定の割合で、必ずミスを犯す。そういう時に、被害を拡大させないために、機能が全く異なるものを近くに置いてはいけないのである。
というわけで。私がCGIプログラムを作る際には、そういうところに気を付けていった。
…まあ、「リセットボタン」はそもそもいらないので、それについては1個も用意していない。また、「記事を削除する機能」については、まずボタンを遠くに離して誤入力を阻止したうえで、”複数記事をまるごと削除する”といった重大な処理の場合においては、確認ページを入れるようにしている。こういうのを好きに作れるのが、自作の良いところだ。
こういうごまかしができる男になりたい |
ちなみに、この「送信ボタンの隣にリセットボタン」の話をすると、必ず思い浮かぶのが、「アクセルとブレーキを踏み間違える事故」である。これは、高齢者に多い交通事故のようで、認知機能が関わっていることは間違いないであろう。
…ただ、私の考えでは、高齢者が悪いというのは誤りである。そもそも、年を取れば誰だって大なり小なり劣化をし、それを完全に避ける手段は、今後とも発見されないであろう。よって、悪いのは、アクセルペダルとブレーキペダルという全く逆の機能を持つ物を、隣に置いている設計だと考える。それはまさしく、「送信ボタンの隣にリセットボタン」と同じではないか。不幸な事故でも何でも無く、一定の割合で必ず起こる必然だ。
――というわけで。車業界の賢い人たちが、「送信ボタンの隣にリセットボタンを置く」がごとくの根本的なミス設計をやめれば、恐らく、私がジジイになる頃には、「アクセルとブレーキを踏み間違える事故」は根絶できているだろう。世間では、何やらAIだとか、画像分析だとか、急激な速度変化の抑制だとか、そういうハイテクな奴らが並んでいるが、違うそうじゃない。明日出荷する新しい車から、アクセルの隣にブレーキを置くのをやめよう。
(2022年3月6日)
2022年3月6日の記事を表示しています。