Hatena::ブログ(Diary)

Smalltalkのtは小文字です

id:sumim:about

Smalltalk を本格的に勉強する気はないけれど、うんちく程度に知っておきたいなら→Smalltalkをちょっとかじってみたい人のための、チュートリアルまとめ - Qiita

オブジェクト指向の“モヤッと”の正体を知りたくなったらこちらの記事が役に立つかも→id:sumim:20080415:p1 とか id:sumim:20040525:p1


 | 

2006-05-10

[] Mac のメニューバーの正体


リファラによると、「メニューバーの正体」という検索で訪れてくださった方がおられたようですので…。


“正体”が何を意図するのか分かりませんでしたが、Mac の前身である Lisa のプロトタイプで、画面トップにメニューバーが設けられるまでの経緯は、以前もご紹介したこちらの文書に関連の言及があります。


Origins of the Apple Human Interface

Menus -- this was what, August 18th? "I think we should experiment with menus at the top or right of the window, or even totally detached at the top of the screen, full width." So up to this time, we were doing sort of the way Windows does, and every window had its own menu. And I was thinking, "You know, maybe we ought to put it at the top." You’ll see why in a minute when you see the pictures. And then I said, "Hierarchical menus -- well, maybe we have to have them, we can’t get rid of them, but could we make them mouse accessed instead of having to type all these keystrokes?" So, these were my two causes of the moment.


それは 1980 年のこと。当時、試作段階だった Lisa は、まだマウスボタンも2つだった頃で、メニューも今の Windows がやっているように各ウインドウに設けられていました。さらに、まだマウスが何に使えるかをきちんと把握できていなかった開発陣は、UCSD PascalGUI の影響を強く受けていたため、メニューは深く階層化され、キーボード操作で選択するスタイルだったようです。


ちなみに、手本となった ALTO/Smalltalk システムの GUI のほうはというと、1973 年の ALTO 誕生時に NLS から流用された3ボタンのマウスをそのまま使用してはいたものの、ポップアップメニュー操作を軸に、かなり洗練された“ルック&フィール”をすでに確立していました。横並びなら「左」「中」「右」、縦なら「上」「中」「下」のマウスボタンを、それぞれ「赤」「黄」「青」と呼称。赤ボタンには、ウインドウ内のオブジェクト(たとえばテキストや選択項目)のクリックやドラッグで指し示したり選択する操作を、黄ボタンには今の Windows でいうところの右クリック、つまり操作項目を収めたメニューのポップアップを、青ボタンにはウインドウ操作のためのメニュー(今の Windows でいうならウインドウタイトルにあるメニュー。閉じる、移動、サイズ変更など)のポップアップを割り当ててる…といったスタイルでした。

http://squab.no-ip.com/collab/uploads/61/st80popup.pnghttp://squab.no-ip.com/collab/uploads/61/st80bluebuttonmenu.png
黄ボタン(第二ボタン)メニュー: ウインドウ内での操作青ボタン(第3ボタン)メニュー: ウインドウ自体の操作

お馴染みの、Smalltalk を GUI ベースの OS として動く ALTO(つまり暫定ダイナブック)の映像

https://www.youtube.com/watch?v=aqW6Sp279Z0&t=16m50s(ジョブズが見た頃の Smalltalk-76 の映像は16分50秒あたりから)


Lisa のプロトタイプも(PRAC 見学で Smalltalk GUI を知って、それまで研究していたオリジナルの GUI を捨ててしまった直後は)これを原則踏襲していたのですが、ただ、ウインドウタイトルに、ウインドウを操作するためのメニューをポップアップさせる機能を盛り込むことで青ボタンクリック操作を代替。ALTO/Smalltalk で3つ必要だったボタンをひとつ減らして2ボタンにしていました。くしくも、まさに今日の Windows スタイルですね。しかしアトキンソンたちはそこで止まることはせず、それまで黄ボタンでポップアップさせていた操作メニューをウインドウに埋め込むことで(プルダウンメニューの誕生。ただし当初その位置は、下だとか、右だとか、上だとかを試行錯誤していたようです)、2つめのボタンに別の機能を割り振れるようにし(どうやら、ドラッグのための機能だった模様)、しかし、突き詰めると結局、それも要らない…といった一部不可解な紆余曲折を経ながらも、最終的にはワンボタンにたどり着きます。


デスクトップのメニューバーが生まれたのは、よく言われているように、やはり、各ウインドウにメニューを仕込んでいては、それがポップアップメニュー(Smalltalk タイプ)だとしても一目で概要を把握しにくく、メニュー項目列挙(後の Windows タイプ)だとしてもメニューを列挙するためのスペースが十分確保できない…というのが理由のように読み取れます。ともあれ、デスクトップに設置されたメニューバーが誕生する前に、Apple もいったんはウインドウにメニューを組み込む Windows スタイルを検討していたという事実は、ひじょうに興味深いですね。さらに、こと「 GUI の系譜」という切り口では、ワンボタン化という行き過ぎた(笑)アレンジを加えてしまった Lisa/Mac よりは、むしろ Windows のほうが ALTO/Smalltalk GUI を受け継いだものとしては進化としては順当…などと書くと、おそらく多くの人は意外(心外?)に思うのでしょうね。きっと。


どうしてそのような誤った認識(Windows GUI デザインは *すべて* Mac のそれのマネであるかのような…)が世間に広まって根付いてしまったのかということも、興味あるところです。これもやはりまた、Smalltalk が(特に '70 年代通じての“暫定ダイナブック環境”としてのその有りようが)正しく理解・評価されなかったがゆえに生じた「常識のウソ」…のたぐいなのかな、と。


関連:

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/sumim/20060510/p1
 | 
2004 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 10 | 12 |
2013 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 | 12 |
2014 | 01 | 02 | 05 | 07 | 08 | 09 | 10 | 11 |
2015 | 04 | 07 | 08 | 11 | 12 |
2016 | 02 | 03 | 06 | 07 | 08 |
2017 | 04 | 05 | 06 |

最近のコメント

1. 06/28 sumim
2. 06/28 squeaker
3. 06/28 sumim
4. 06/28 squeaker
5. 06/25 sumim

最近のトラックバック

1. 05/25 プラグインレスでSVGを表示する「SIE」開発ブログ - メッセージをや...
2. 01/30 no_orz_no_life - Erlangとジャンケン
3. 12/31 檜山正幸のキマイラ飼育記 - J言語、だってぇー?
4. 09/04 Twitter / @atsushifx
5. 07/06 みねこあ - オブジェクト指向 と FizzBuzz

この日記のはてなブックマーク数
1692380