サンフランシスコのJavaOneで新しい3Dデスクトップ環境、「Project Looking Glass」がオープンソースとして公開された。ハードウェアの進化に合わせ、ユーザーインタフェースも進化すべきだと始まった同プロジェクトが目指すものは何だろうか?
サンフランシスコが開催中のJavaOne 2004では2日目となる米国時間の6月29日、「Project Looking Glass」がオープンソースとして公開された。関係者の話によれば、法的な問題などで初日に間に合わなかったが、上層部の最終判断によりGPL(General Public License)での公開に漕ぎ着けたのだという。
さて、このProject Looking Glassだが、3次元(3D)のデスクトップ環境として一般には受け止められている。しかし、われわれが見ているものは、あくまでも、Looking Glassを使って作られたデモにしか過ぎない。3D技術を使うという点では、間違いはないのだが、Looking Glassとは、従来のメニューやアイコンを使ったGUIそのものを置き換えることができるような新たなユーザーインタフェースを構築するためのプラットフォームなのである。
開発者のヒデヤ・カワハラ氏によれば、コンピュータハードウェアがどんどん進歩してきており、それに合わせてユーザーインタフェースも進化すべきだろうと始めたのがこのプロジェクトだという。
例えば、ゲームが、文字を使った初期のアドベンチャーゲーム(UNIX系の読者ならRogueか)から、グラフィックを使ったスクロールタイプのアクションゲーム、そして現在のFSP(Fast Person Shooting)のような3Dグラフィックを使ったものに進化していったように、ユーザーインタフェースも進化していくべきだとカワハラ氏は話す。
現在のGUIは、1970年代後半にXeroxのPARC(Palo Alto Research Center)で作られた「Alto」上に構築されたものをベースにしている。マルチウインドウやメニュー、アイコン、そしてマウスのようなポインティングデバイスを使うものだ。その意味では、GUIは、1970年代から進化していないともいえる。
例えば、アイコンは、プログラムが動作していることを意味しているが、現在の多くのシステムでは、静止したビットマップを使っている。しかし、現在のハードウェア能力を使えば、動いているアプリケーション表示そのものを縮小して表示することも不可能ではない。こうした発想から始まったのがProject Looking Glassというわけだ。
ただし、Project Looking Glassは、現在のシステムと互換性のない、全く新しいものを目指しているわけでもない。現在のターゲットは、LinuxやSolarisだが、そこにあるX Window Systemベースのアプリケーションを同じ環境で動作させることを考慮している。このために、既存のXサーバの拡張機能を使い、Xアプリケーションのウインドウへの出力を取得し、これをJava 3Dで作った3Dオブジェクトの上に貼りつけるという手法を取る。これにより、既存のXアプリケーションもLooking Glassの中で動作できるわけだ。
もちろん、Looking Glassネイティブのアプリケーションというものもあり得る。デモで、CD選択を行うアプリケーションがあるのだが、あれがLooking Glass APIを使って作られたアプリケーションだ。
これは、マウスでCDのディスクの画像を選択していくもの。普段は、CDが縦に積まれた状態になっているが、マウスポインタを上に載せるとCDが円周状に広がり、手前のCDが立ち上がって選択されているものを表す。ここにはメニューもなければボタンもない。
Looking Glass APIは、当初、Java用に作られるものの、プロジェクトが進み、API仕様が確定すれば、ほかの言語用のバインディング(ほかの言語からAPIを呼び出すための実装)を行う予定だという。
ネイティブのLooking Glassアプリケーションは、ローカルに自分自身の表示イメージを作り、これをXの拡張機能として実装されたコンポジットエンジンで合成して表示させることになるという。
マイクロソフトは、次期WindowsであるLonghornで、ディスプレイサブシステムを一新、「Avalon」と呼ばれる新しい仕組みを導入する。これは、従来、個々に行われていた2Dグラフィック(GDI)や動画再生(Windows Media Player)、3Dグラフィック(DirectX)といった表示関連の機能を統合するものだ。
Windowsの場合、ウインドウマネージャやアプリケーション構築用のコンポーネント(GUI要素)はマイクロソフトが提供するものが唯一だが、Linuxでは、ウインドウマネージャやGUIコンポーネントは、K-desktopやGnomeなど複数あり、同じX Window Systemの上でも選択が可能だ。Looking Glassは、同様にさまざまなウインドウマネージャなどの構築を可能とする。
Looking Glassのデモでは、デスクトップ部分がぐるりと動くようになっている。これに対して、「ゲーム酔い」(3D表示のゲームで動きが激しいために乗り物酔いのような状態になること。人によって個人差がある)を指摘する人もいるが、あれもあくまでもデモ。こうした動きのないシステムも構築が可能なのがLooking Glassなのである。
Copyright © ITmedia, Inc. All Rights Reserved.