赤ボタン、黄ボタン、青ボタン
Smalltalk システムは、よく知られているように、その誕生時にすでに存在していた3ボタンマウスでの操作を前提に GUI がデザインされています。3ボタンマウスなんて…とバカにすることなかれ。これが、2ボタンすらもてあます GUI の多い中、1ボタンよりずっと(使いやすいかどうかは別にして(^_^;)、ともあれ) GUI デザインと密接に関わるリーゾナブルな設計なのです。結果的に良かったか悪かったかは別にして、Mac の GUI のゴミ箱を除くほとんどの特徴は、この3ボタンマウスが美しくこなしていたことを、ジョブズの至上命令である1ボタン化を実現するために弄された苦肉の策に過ぎない…と私には感じられます。
3つのマウスボタンの呼び名は、それぞれ「赤」「黄」「青」です。通常は「左」「中」「右」ですが、結局試作機でその一生を終えた Alto 用にはボタンが縦並びのマウスも実際にあったようなので「ボタンの配置によらない実装ができるように色で表現した」というのは本当らしいです。Squeak システムの場合、Mac では「通常」「option-クリック」「コマンド-クリック」、2ボタンマウスでは「左」「右」「alt-右クリック」となります。
赤ボタンは現在の「通常クリック」「左クリック」と同様の役割りを果たします。リストやメニューから項目を選択したり、テキストの選択や挿入ポインタの位置決め、ウインドウのアクティブ化などがその役割りです。
黄ボタンと青ボタンのクリックはメニューを画面に呼び出し(ポップアップさせ)ます。黄ボタンメニューは、今で言うところのコンテキストメニューや右クリックメニューのようなものです。ペイン内で選択された項目や文字列、もしくは、ペイン内に含まれる項目群やテキスト全体に関わる機能や設定を行なうためのメニュー項目が主に用意されています。
青ボタンメニューは、ウインドウ全体に関わる機能や設定を行なうためのメニューです。
図に示すと各ボタンの操作対象はこんな感じになります。
Lisa/Mac では、赤ボタンはそのままに(実によく“似せて”あります。Squeak をアプリケーションだと勘違いする Mac ユーザが多いのはきっとこのせいでしょう…(笑) テキスト編集 UI デザイン周りでは同じ人が関わっているので当たり前といえば当たり前ですが…)、黄ボタンと青ボタンを無くし、その代替が可能なように GUI デザインに工夫が施されています。まず、青ボタンの機能はタイトルバーとサイズボックスに分散されました。タイトルバーのドラッグでウインドウの移動(Smalltalk-80 では青ボタンメニューから move)、クローズボックスでウインドウを「閉じる」操作(同、close)です。ズームボックスと最小化(ウインドウシェードもしくはポップアップウインドウ)の機能は(ウインドウシェードを除き)後に Microsoft の Mac 用アプリケーションからアイデアを借りるかたちで採用されました。ズームボックスは、MS のソフトではタイトルバーのダブルクリックという皮肉なことに実に“Mac らしい”スマートな実装だったのですが、Apple はこれをそのまま採用することを潔しとはせず、ズームボックスというかたちで落ち着きました。余った(?)ダブルクリックは現在、ウインドウシェードのほうに割り振られています(ただし、要設定)。
一方、黄ボタンメニューのほうは、新設されたメニューバーに移動されました。黄ボタンメニューに(区切りこそ用意されていましたが)雑然と詰め込まれていたメニュー項目は、メニューバーのメニュータイトル別にきれいにまとめられました。メニュー項目をわかりやすく整理した/できたことは、わずかな幅とは言え事実上画面の横幅すべてを無駄に使ってしまう(もしくは、十分な横幅を確保できないときの問題を生ずる)メニューバーの欠点と引き替えに Lisa/Mac が得たアドバンテージと言えるでしょう。この無駄遣い(および幅不足の問題)には、Smalltalk システムと Mac の両方を手本にした Windows ではウインドウ毎にメニューを設けること、足りない場合は表示できないメニューをひとまとめに表示するための仕組みを組み込むことで対処しています。ただ、これは同じようなメニューをいくつも用意することを意味し、ウインドウの表示のしかた(例えばタイル状配置など)によっては、結局、メニューバーよりも画素数の無駄遣いになるという“間の抜けた”結果に。 なぜか「出すものは出して、手近に並べる」神話に目覚めてしまった Microsoft は以後、Smalltalk システムや Lisa/Mac の描画用ツールにある機能ボタンをヒントにしたと思われる機能ボタンで埋め尽くされたツールバーを嫌がらせがごとく表示し、画面の無駄遣いを通り越してパレットに有効表示範囲を占領されて、文書ウインドウを開く場所がないといった状況も意に留めない“暴走”を始めます(笑)。
そんな MS ですが、右クリックメニューは、黄ボタンメニューの同社による再発見(もしくは、Mac の頭越しでの Smalltalk システムの真似)だと思われます。後に Mac がこれを真似てコンテキストメニューを新設したのは、その経緯を振り返ると、先のズームボックスとも合わせて、なんとも滑稽なお話です。
Microsoft の GUI パーツを弄ぶがごとき“跳梁”(というか方向性が見えないので“迷走”のほうが近いかも…(^_^;))はさておき、Lisa/Mac における、黄ボタンメニュー、青ボタンメニュー機能の各 GUI パーツへの分散は「初心者へ優しい」という新しい切り口を生みました。これは、玉子が先かニワトリが先か的話は別にして、後に“Mac らしさ”呼ばれるものの一翼を担う Mac の重要なアイデンティティのひとつとなります。その妙は、ある意味、Mac のオリジナルと言い切ってよいでしょう。アイコン化されたクローズボックス、ズームボックス、ウインドウタイトルバーのドラッグによるウインドウの移動などのダイレクトな操作は、Smalltalk システムのメニューを介した方法とは別の切り口、つまり、その操作に精通していない者も、操作を始める前に状況をイメージできるという“直感性”を提供します。
もちろん、良いことばかりではありません。操作に慣れた者へは、いちいち指示するパーツの場所までポインタを動かさなければ操作を始められないという理不尽さや倦怠感を生じさせました(なお、この不都合の回避策としてのキーボードショートカットを初めとする各種ショートカットや Tips の充実をもって、「初心者に優しくベテランの手に馴染む」という“Mac らしさ”のもう一翼が補完されるに至るわけです。世の中、何が幸いするかわかりません(笑)。さらに言うと、Apple 版 Smalltalk をベースにした Squeak も、キーボードショートカットにおいてはこの点で、他の Smalltalk 環境に類を見ない恩恵に与っています)。オブジェクトに対する指示の必要性を思い立ってから実際にその作業を開始するまでの手数の若干の違いなど大したことはない…と訝しむ向きもあるやも知れませんが、右クリックメニューやコンテキストメニューを愛用する人、あるいは、階層メニューを当初同社の UI ガイドラインで禁じていた Apple 自身も、その微妙ではあるものの、しかし明確な使い勝手の差を意識している(いた)と想像します。
ジョブズによって優位性をしきりに連呼された1ボタンマウス操作でしたが、その元になった Smalltalk システムの3ボタンマウス操作設計は、ユーザーが編集もしくは処理を与える対象物への注視に専念でき、マウスポインタ、ひいては視線を動かさずに注目物、もしくは、その入れ物(ウインドウ)に対する操作すらも、その場に即座に現れるメニューより実行できる、実はとっても美しくて分かりやすいものだったのだ…という話をしてみました。1ボタンやそれを取り巻く GUI デザインのアドバンテージは、この“美しさ”が形を変えるときに生じた副産物に過ぎない可能性があると私は考えています。なお、余談ですが、 Alto における Smalltalk システムの代替 OS である Alto OS (実のところ Alto OS 自体は GUI ベースではなかったのでより正確には「Alto 用に(Smalltalk システムとは別個に)開発されたアプリケーション群」)、および、その流れを汲む Star (ただし、2ボタン)では、ボタンに別の切り口での機能の割り振りがなされていたことを書き添えておきます。
スクロールバーの話はまた別の機会に。(分かる人にしか…いや分かる人にも分からない(ぉぃ!)たとえ話ですが、これは Smalltalk GUI において、プログラミング言語としての Smalltalk の仕様における代入文がごとき存在のように感じています(^_^;)) また、Mac のウインドウタイトルバーを採用してしまったり、Morphic GUI フレームワークの導入で、morph という新しいオブジェクトを扱うためのインターフェイスを半ば無理矢理割り込ませた Squeak は、(使い勝手は向上したかも知れないが) Smalltalk-80 の頃の美しさは失ってしまった…という話もいつか書きたいですね。
--sumim
このページを編集 (7393 bytes)
|
以下の 2 ページから参照されています。 |
This page has been visited 7460 times.