13 KiB
楽しいプログラミング 《第3回》
この季節になると、なんとなく「アリときりぎりす」のお話を思い出します。どちらかというと、土壇場になってアセるタイプですからねぇ。でもね、私はきりぎりすの方が好きです。だって、彼はバイオリンを弾くじゃありませんか。
■ ユーザー・インターフェイス
そんなこんなで、ネタが思いつかないうちに早ひと月。苦しまぎれに今回は、ソフト作りで一番おいしいところ、「ユーザー・インターフェイス」(略してUI)でいってみましょう。
私がUIについてあれこれ工夫するのが好きなわけは、
- 生来、使い勝手を工夫するのが好きである。
- ユーザーの反応が誠におもしろい。
- その割に頭をひねらなくても書ける。
要するに、作ってて張り合いがあるのね。それだけに、逆に何も考えていないソフトを見ると無性に腹が立ちます。
ソフトウェアに限らず、「コンシューマーズ・プロダクツ」(一般消費者向け製品)の開発に携わるものは、常に、使う者の立場に立って物作りをしなければなりません。実際、自分が使ってみたくなる様でなくては嘘です。現実には、メーカーサイドのつまらぬご都合主義のために、大事な要素が往々にして切り捨てられていくものですが・・。
ゆえに、UIの考察の前に、「ユーザー」なるものについてよーく理解しておく事が肝要です。
- ユーザーの趣味・嗜好は千差万別である。
- ユーザーはわがままである。
- それでも文句を言ってくれてるうちが花である。
- 結局、慣れてしまえばこっちのものである。
(なんだか「ユーザー」をそのまま「女性」に置き換えられる気がする・・) それらを踏まえた上で、こちらの取るべき態度は、
- ユーザーの意見はできる限り考慮するが、決してそれに引きずられてはならない。
- 低習熟度のユーザーも配慮するが、彼等の熟達を助成せねばならない。
- ユーザー・カスタマイザブルにして、選択を委ねる。
すなわち、ユーザーの立場は十分考慮するが、あくまで主導権は握っていなくてはならないのです。
それでは、具体的な話に移りましょう。UIをいくつかに分けて見ていきます。
- キーボード
- メニュー・システム
- マウス
- ヒストリーとアンドゥ
- 画面デザイン
1. キーボード
キーボード・インターフェイスを設計するには、まず、ユーザーにいくつかのタイプがある事を知っておかねばなりません。
- ホームポジション固執派(スタティック派)
- カーソルキー依存派(ダイナミック派)
- ファンクションキー依存派(ワンフィンガー派?)
かく言う私は「カーソルキー依存派」です。編集モードでは、右手はカーソルキー上、左手の小指は[CTRL]キー上に位置し、文字入力モードになると、さっと両手の人差し指が[F]と[J]キーを捜しあてます。いわゆる「自己流」ってやつです。
要は、3つのタイプがある事を考慮し、その1つまたは2つに偏った操作体系を取ってはならない、という事です。
- ダイヤモンドキーでカーソル移動ができない。
- ファンクションキーでしかコマンドを実行できない。
いずれも落第です。
もう1つは、特殊キーの使い方に関する一般常識。
⏎ : 入力の確定。処理の実行。Yes。
[ESC] : キャンセル。メニュー表示。
[TAB] : ウィンドウ間の移動。
[Space]: 次の処理へ進む。ON/OFF
[Q] : Quit
さらにIBM PCでは、
[F1] : ヘルプ
[F10] : メニュー表示
[ALT]+[X]: 強制終了
この辺は最低限守っておくべきです。
2. メニュー・システム
アプリケーションの機能が豊富になるにつれ、メニュー・システムの出来不出来が、使い勝手に大きく影響してきます。ここでは少し低レベルの、メニューの表示方式、選択方式等について考えてみましょう。
まず、メニューの表示方式です。
- 画面最上行にメニュー・バーを表示したプルダウン方式。
- ファンクションキー駆動型のポップアップ方式。
- 一太郎のような一覧表示方式。
(3)の方式は、メニューを表示しながら操作したい場合には便利です。しかし、項目を上下左右に並べるため、メッセージの長さにメニューのサイズが影響されるのは問題です。やはりメニューは縦1列に並べる方が無難でしょう。(1)か(2)、あるいはその両方をどう採用するかは、メニューの総数によります。
次に、メニューの選択方法。カーソルキーとリターン、ESCキーを用いた選択方式の他、ホットキーを用いたダイレクト実行も必須です。まちがってもこのホットキーを、「数字キー」などにしないで下さい。
メニューが階層化されている場合、メニュー・カーソルは、最後に選択した位置を保存しておくべきです。
そして、できる事ならば、メニュー・システムはユーザー・カスタマイザブルであるべきです。メッセージはなるべく簡単な方がいい、という人もいれば、とにかく判りやすく、という人もいます。英語にするか、日本語にするか、ホットキーを何にするか。自分の使う機能だけを集めたメニューにしたい、そんな場合もあるでしょう。少なくともプログラム本体とは分離し、いくつかのバラエティを用意してユーザーの選択の幅を持たせるべきです。
3. マウス
マウスは、GUI(グラフィック・ユーザー・インターフェイス)には欠かせません。しかし、キャラクタ・インターフェイスにだって、マウスはもっと使われるべきです。究極的には、テキスト入力以外の操作は、ほとんどマウスで行なえるはずです。
けれども、マウスに対し敬遠しがちな人も少なくありません。その理由はこうです。
- わざわざマウスに手を伸ばすのが面倒。
- いちいちメニューを選ぶより、ホットキーの方が速い。
こうおっしゃる方は、どちらかというと「ホームポジション固執派」に多いようです。「カーソルキー依存派」としては、右手がもう15センチばかり右に動くだけで、それほど面倒とも思えないのです。テンキーが無かったら、さらに移動距離は縮まります。何より、右手だけでボーっと操作できる怠惰な感覚が堪えられません。リモコンだってそうです。片手で操作できなくっちゃ、本当にお手軽とは言えまえん。
では、マウス・インターフェイスを設計する際の留意点をあげてみましょう。
- マウスの移動距離に無駄がないか。
- ダブルクリックを十分活用しているか。
- 右ボタンを十分活用しているか。
- クリックorドラッグ。
- マウスとターゲットの視点。
(1)特に説明の必要はないでしょう。プルダウン・メニュー方式は、この観点からすると、右ボタンを利用したポップアップ・メニュー方式に比べて操作性は多少落ちます。
(2)ダブルクリックは非常に重要です。これをサポートしていないマウス・インターフェイスなど論外とまで言えます。
(3)右ボタンは、キャンセルや、ポップアップ・メニューの表示に使われます。キャンセルの場合は、これはあくまでオプショナルな操作でなくてはなりません。NeXTで2ボタンマウスが採用された事からも伺えるように、右ボタンはもっと積極的に活用されるべきです。
(4)プルダウン・メニューを表示/選択する場合、Macではドラッグ/リリースで選択しますが、初心者にはクリック/ムーブ/クリックで選択させた方がよい、と考える向きもあります。ドラッグだと、メニューをじっくり読んでいる間じゅう、ボタンを押していなくてはなりませんから。Windowsでは、うまくこの両者をサポートしています。アイコンを移動する場合にも同様な事が言えます。
(5)これは、例えばスクローラーを操作する時です。スクローラーは、テキストやメニューをスクロールさせる場合に用いますが、この時視点は、スクロールするテキスト上に位置し、マウス・カーソルは見ていません。このため、スクロールの方向、速度を変えようとしてマウスを動かす度に、いったん視点をマウス・カーソルに戻さねばなりません。こうなると、スクロール操作はぎこちないものになります。NeXTでは矢印ボタンをとなりに並べて、この点幾らか配慮しています。私が以前とった方法は、右ボタンで逆スクロールさせる、というものでした。
マウス・インターフェイスに関しては、別の機会にじっくり考察致します。
4. ヒストリーとアンドゥ
ヒストリーとアンドゥ機能は、アプリケーションの規模が一定のレベルに達した時点で、必ず盛り込まなくてはなりません。これに対するサポートの度合いが、ただのツールか、本当に使えるツールかの判断基準になるでしょう。
ヒストリー機能に関して1つだけ言っておきたい事があります。それは、「ヒストリーの一覧表示など無くても構わないが、先頭文字列によるサーチは必須である」という事です。
5. 画面デザイン
「顔じゃない、中身で勝負」などという負け惜しみは、ソフトウェアでは通用しません。画面デザインは、ソフトウェアの設計センスを如実に反映するものだからです。画面が美しいソフトがいいソフトとは限りませんが、画面がダサいソフトは、もれなくダサいソフトです。
それでは、「画面デザインが美しい」とは、どんな観点から言えるのでしょう。
- 配色がケバケバしくない。
- 意味のない色分けをしない。
- その時点で不必要な情報を表示しない。
- 情報の配置に無駄がない。
- 情報の重要度を視覚的に明示している。
- タイトルやコピーライトの表示が無いか、あっても目立たない。
- 美術的に美しい。
どれもあたりまえの事です。しかし、1とか7は、そのまま開発者の趣味が反映されますから、「なんだこのケバイ画面は」と思っても、実は開発者にとってはジミな画面なのかも知れません。しかし、NeXTの画面を「美しい」と感じない人は、まずいないでしょうから、本当に美しい画面デザインは、万人に受け入れられるはずです。
「美術的に美しい」というと、ひと頃はMac風のデザインがもてはやされましたが、今はなんと言ってもNeXT風でしょう。あのモノトーン4階調の立体表示には、そそられます。
というわけで、今回はざっくばらんに、UIについて思う事を書いてきました。そう、あと2つばかり言い残しておきます。
- オブジェクトを点滅、あるいは「動かして」注目させる。
- 初めに対象物を選定して、それに対する処理を選択する。
本当にUIは奥が深い。しかし、結局言える事は、
「人間、大概の事には慣れてしまうものである」
(雑誌「PC POWER 1992年9月号」掲載)