マルチウインドウの起源は FLEX マシン?


小難しい話は分からないので(コラ…)、そちらは本編を読んで判断していただくことにして、気になったのはアラン・ケイの紹介文。

アラン・ケイ

1940年生まれ。パーソナル・コンピュータの概念の提唱者として知られる。1967年〜1969年に、GUIベースのコンピュータ「FLEXマシン」を開発し、パーソナル・コンピュータと呼んだ。このコンピュータは、複数のウインドウを表示し、タブレット機能を備えていた。その後、子供に向けたパソコン「Dynabook」を開発。またオブジェクト指向言語SmallTalk」の開発にも携わった。(以下略)


Smalltalk の t が大文字だったり、オブジェクト指向“言語”としてのみの紹介にとどまり「ダイナブック」の暫定的な実装であることを無視して、関係ない別のもののように記述しているのは、まあ、ありがちなこととして、この手の文章として珍しいのは FLEX マシンに触れていること(そういえば、ALTO への言及がないのも珍しいですね)。

恥ずかしながら FLEX マシンに対しては個人的にあまり興味を持てず、たいして注意を払っていなかったのですが、「マルチウインドウ」を備えていたとなると話は別です。さっそく、アラン・ケイの博士論文を購入($35)して入手。ざっと目を通して当該記述を探してみました。

Windows and Viewports

In order to effetively use virtual screens on an actual viewing surface of 1024 x 1024 points, windows and viewports must be used.

The window is descrived by its position and extent on the virtual screen and thus requires three 14-bit numbers: P, X, Y.

The viewport is similar, except that only 10-bit numbers need be used for Q, x1, y1. The transformation is very straightforward, except that lines which are not entirely in the window must be clipped or eliminated so that the viewport on the actual screen will contain only the desired lines. There is no restriction ont he number or position of the window and viewpors


結論からいうと、FLEX マシンは「ウインドウ」を複数設けることができたので、なるほど「複数のウインドウを表示し」ていたというのは、あながち間違いではないようです。

ただ、ここでの「ウインドウ」の意味は、今でいうところのウィジェットとしての…ではなく、巨大な仮想スクリーン領域に対する“のぞき窓”としての…なので、仮にオーバーラップすることはできても、それを今のウインドウのようにインタラクティブ、かつ、積極的にそうした運用をすることは想定していないように読み取れました。

したがって、現在主流の Mac や Win の GUI、つまり、Smalltalk GUI の子孫たちのルック&フィールを中核をなす、オーバーラップするマルチウインドウの起源は、そのまま Smalltalk システム(aka ALTO。より正確には暫定ダイナブック環境)であるとの認識を改める必要も、また、なさそうです。

(念のため。以上は、元の紹介文でおそらく、「ALTO」と「マウス」とすべきを、「FLEX マシン」と「タブレット」として取り違えているであろう可能性が大なのを見越しての話です。あしからず)



初代 Macintosh の 512 x 342 からすれば、はるかに広大な表示領域を有するディスプレイを使うことや、立体的なデザインが施されたり、多くの機能にデコレートされたウインドウに見慣れてしまうと、つい「ウインドウ」を、文書を表示するための板状のもの(サブディスプレイ?)というイメージでとらえてしまいがちなせいもあってか、画面(あるいは枠内)には表示しきれない大きな領域をクリップして、その範囲を覗くための枠…という本来の意味で説明されたり使われているのを久しぶりに見て、逆に新鮮で不思議な感じがしました。