想定外の使われ方 | 悪態のプログラマ

悪態のプログラマ

とある職業プログラマの悪態を綴る。
入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。

多くのアプリケーションでは、画面上でマウスの左ボタンを押したまま移動させれば、いわゆる「範囲選択」ができる。そして、そのまま画面の端まで移動させて、その先にまだデータがある場合、自動的にスクロールしてくれるだろう。本来、広い範囲を選択しやすくするための機能である。

ところが、私は、この機能を単にスクロールする目的で使っている人を見たことがある。つまり、スクロールするために範囲選択するのである。まだ、マウスにホイールが付いていないころの話だ。確かに、この方法ならスクロールバーを使うよりも素早くスクロールできる。変わった使い方をする人がいるものだと思って、感心した。


話は変わるが、文書やソースコードを編集していると、「直前に編集していた位置に戻りたい」ということがある。文書内の他の場所を見ているうちに、どこを編集していたか分からなくなってしまうのだ。

例えば、Microsoft Word なら [Shift] + [F5] キー、Eclipse なら [Ctrl] + [Q] キーで戻れるのだが、ソフト間で統一感がないし、そのような機能がないソフトも多い。地道に目で探しながら戻るのは面倒だが、文字列検索して探そうとすれば、余計な場所までヒットすることも多い。ブックマーク機能(※1)のようなものは、あらかじめ登録していなければ、意味がない。

こんなときは、ただ「アンドゥ」して「リドゥ」すればよい(多くのソフトで、ショートカットキーは [Ctrl] + [Z] → [Ctrl] + [Y] に統一されている)。

アンドゥ(Undo)機能は直前の編集を元に戻し、リドゥ(Redo)機能は、その戻した編集をやり直す。つまり、データを編集するという点では、「アンドゥしてリドゥ」しても、何もしていないのと同じだ。

しかし、この機能には副作用があって、対象の編集が行われた場所が表示されるのである。そうでないと、ユーザーには何が起こっているかわからないからだ。つまり、「アンドゥしてリドゥ」することは、「直前の編集位置にジャンプする」ということなのである(※2)。


これらは、設計者が想定しなかったソフトの使われ方である。そこにはユーザーのニーズが反映されており、コンピュータの操作性向上のヒントが隠されている。

冒頭の話は、マウスによるスクロール操作の不便さを物語っている。不便だからこそ、後にホイールマウスが開発されたわけである(※3)。

次の話では、直前の編集位置に戻るための統一的な操作が求められている。この関連では、最近、「直前に見ていた(フォーカスがあった)場所へ戻る」という機能を [Alt] + [←] キーに割り当てたソフトが出てきている(Web ブラウザの「戻る」機能が進化した形だろう)。これはもっと普及すればと思う。

他にも、こうした「想定外の操作」はいくつもあると思う。収集してみると面白いかもしれない。




※1
Web ブラウザの「お気に入り機能」も「ブックマーク機能」と呼ばれることもあるが、ここでは、あらかじめ文書の任意の位置に印をつけておき、後からその場所にジャンプできるようにする機能。

※2
多くのソフトでは、アンドゥ、リドゥ は [Ctrl] + [Z] や [Ctrl] + [Y] といったショートカットキーが割り当てられている。これを使えば、一瞬で「直前に編集していた行に戻る」ことができる。

※3
以前は(今も?)マウスドライバに、スクロール補助機能みたいなものがついていたりもしたが、あまり使いやすいものではなかった。また、水平スクロールについては従来のホイールマウスでは対応できないが、最近は、ホイールを傾けることで対応するようなものも出てきている。




← このブログを誰かに読ませたいと思った方は、クリックを


■関連記事
キーボードを使おう その2 ~ ショートカットキー ~
一般的な使い方



インターフェイスの街角―本当に使いやすいユーザー・インターフェイスの極意
増井 俊之
アスキー (2005/09)
売り上げランキング: 3,033


Microsoft Wireless Notebook Laser Mouse 6000 Ice Blue
マイクロソフト (2005/12/02)