山田祥平のRe:config.sys

【番外編】Windows 8は羊の皮を被った狼か




 Microsoftが開催した開発者向けのイベント「build Windows」において、次期Windows OSであるところのコードネーム「Windows 8」の詳細が、初めて公のものとなった。まだまだ謎に包まれているところは多いが、会期中にかき集めた情報を元に、そのあらましを見ていくことにしよう。

●マルチタッチをサポートした新たなWindows

 誤解を怖れずにいえば、Windows 8はマルチタッチGUIが追加された正統派のWindows OSだ。クラシックなWindowsは健在だ。

 ぼくは以前から、各種コントロールやオブジェクトが小さすぎるWindowsのGUIはタッチのGUIには向いていないと思っていたし、タッチによるオペレーションを浸透させるには、新たな専用シェルが必要だと主張してきた。PCのベンダーやサードパーティが個々にソリューションを提供すれば、Windows 3.xのときのような大混乱が起こり、ユーザーが困惑するだろう。なんとしてでも、それだけは回避しなければならない。

 それに対するMicrosoftからの回答が、今回のWindows 8だ。これまでのWindowsでは、デスクトップメタファのシェルがすべての頂点に鎮座していた。Windows 8では、見かけの上このデスクトップが一段下がったところに退き、新たなシェルとしてMetro Styleと呼ばれるGUIが、Windowsの顔になった。言ってみれば、徳川家康が徳川秀忠に将軍の座を譲り、大御所となったようなものだ。

 Windows 8 PCを起動して、ログオンすると、Metro Styleのスタートスクリーンが画面に表示される。横方向に長いスクリーンで、タイルと呼ばれるオブジェクトが並んでいる。画面からはみ出した部分はタッチ操作やマウスのホイールでパンすることで表示させることができる。

 スタートスクリーンは、従来のスタートメニューに相当する。そして、コンピュータにインストールされたアプリが、タイルオブジェクトとして並ぶ。

 個々のタイルは、静的なショートカットアイコンに過ぎないものもあれば、常に最新の状態に更新されるライブなものもある。いずれにしても、タイルを開くと、それに関連づけられたアプリが起動する。

●2種類のアプリケーションモデルをサポートするWindows 8

 Windows 8のスタートスクリーンから起動できるアプリは2種類ある。

・Metro Style アプリ
・Desktop Style アプリ

 前者は、Windows 8で追加された新しいアプリケーションモデルで、実行すると、フルスクリーンを占有するスタイルで起動する。開発においては、C/C++/C#、VB、XAML、そして、HTML5/CSSやJavaScriptなど、さまざまな言語で書かれることになる。その開発言語の多様性も特筆すべき特徴の1つとなっている。このアプリモデルのために、Windows 8では、WinRT(Metro RunTime)と呼ばれる新たなAPI群が用意されることになった。

 一方、後者は、従来のWindowsアプリで、ご存じの通り、Win32 APIに依存して実行される。実行時には、シェルが従来のデスクトップに切り替わり、今までと同様にデスクトップ上のマルチウィンドウで使うことになる。

 従来のデスクトップが表示されているときも、メインのシェルはあくまでもMetro Styleのスタートスクリーンだ。だから、今まで同様にスクリーンの左下にはお馴染みのスタートボタンが表示されているが、これをタップしても、従来のスタートメニューは表示されず、Metro Styleのスタートスクリーンに戻る。

●アプリの本流はどちらに向かっていくのか

 今後のWindowsアプリが、Metro Styleアプリに移行していくのかどうかは、まだわからない。それに、WinRTは、Win32に依存するAPI群なので、結局はWin32のAPIを呼ぶことになり、そのために、Win32は、プログラム実行環境の土台として常に存在し続けるからだ。先の将軍と大御所の関係は、Metro StyleとDesktopシェルというよりも、WinRTとWin32の関係といった方がいいかもしれない。権力は大御所が握っているのだ。

 このあたりの構造が、今回のイベントでは、明確に説明されていなかった。Windows 8の構造を説明する概念図も公開されているのだが、そこでは、WinRTとWin32が、あたかも独立して存在するかのように描かれているのだが、実際には依存関係がある。

 各セッションのスピーカーや、ショーケースで説明を求めたMicrosoftのエバンジェリストたちも、Windows 8の全体像を、まだ把握できていない様子で、それぞれの説明が矛盾している場面にも遭遇した。

●Windows GUIが持つ2つのビュー

 従来のWindowsデスクトップは、explorer.exeの管轄下にあった。だから、explorer.exeをタスクマネージャなどで終了させると、スタートメニューやタスクバーなどのUIがなくなり、再起動すればもう一度表示される。

 最初は、Metro Style環境が、新たなWin32シェルプログラムとして追加されているのかと思ったのだが、各方面の説明を整理すると、考え方としてはそうではないことがわかった。

 つまり、Windows 8でも、explorer.exeがすべての頂点にある。ただし、それが実行されているときのビューが2種類用意されているのだ。片方がMetro Styleのビューであり、もう片方がDesktopのビューだ。ビューに過ぎず、実体は1つなのだ。

 したがって、Windows 8は、Metro Styleという新たなシェルを持ち、WinRTという新たなAPI群を使ったアプリケーションモデルを実行できる次世代Windowsだが、実際には旧来のWindowsと何も変わらない。大御所としてのWin32 APIと、さらにその土台として鎮座しているWindowsカーネルサービスが、そのことを物語っている。極端な言い方をすれば、MS-DOSの上にGUIを築いたWindows 3.xに似たところがあるともいえる。

●失うものは何もない

 Windows 7でできていたことは、すべてWindows 8でもできるとMicrosoftは言っている。Developer Previewという段階なので、何が起こってもおかしくないのだが、試してみるとATOKはIMEとしてちゃんと使えるし、レジストリを変更してキーアサインを変えるようなプログラムも機能した。秀丸エディタなども普通に使える。拍子抜けするくらいに今までと同じだ。

 ちなみに、従来のDesktop Styleアプリをインストールすると、今まではスタートメニューの中にフォルダが作られて、その中に関連プログラムへのショートカットが登録されていたが、Windows 8で試してみると、個々の関連プログラムがタイルとしてMetro Styleのスタートスクリーンに並ぶ。プログラムのreadme.txtといったものも独立したタイルになる。

 つまり、現在の仕様では、プログラムをインストールするたびに、スタートスクリーンが横に横にと拡張されていくことになる。これまたDeveloper Previewという段階なので、将来的にはどちらのスタイルのアプリも、きちんとしたガイドラインに準拠して、ユーザーのスタートスクリーンを汚さないようになるのだろうけれど、最初のうちは、かつて、プログラムをインストールするたびにデスクトップがショートカットアイコンで埋め尽くされていったのと同じようなことが起こるかもしれない。

●Microsoftの本気度はどうか

 Windows 8がWindowsを再構築できるかどうか、Microsoftは本気でそう思っているのか。このあたりは、今後、次第に明らかになっていくだろうけれど、同社がExcelやWordで構成されるOfficeをMetro Styleアプリとして用意するかどうかが、1つの目安になるんじゃないかと思う。実際、Windows 95がリリースされたときには、まるで晴天の霹靂のように完全な32bitアプリとして、Office 95が颯爽と登場し、驚かされたのを覚えているが、それに同社の本気を感じたのも確かだ。

 実際の利用シーンで、ExcelのウィンドウからWordのウィンドウに、ドラッグ&ドロップでデータをコピペできない環境が、仕事の上で使いやすいかどうかは論議の対象になるだろう。最終的には、Officeプログラムもまた、Metro StyleアプリとDesktop Styleアプリ、双方のビューを持つように収束していくんじゃないかと想像している。

 Windows 7にマルチタッチをサポートした新たなGUIをかぶせたら、Windows 8になりましたというのでは、元も子もない。でも、このことは、Windowsにとって大きな進化の第一歩だともいえる。その点については高く評価したい。

 次のマイルストーンはベータであり、おそらくはパブリックベータとして広く公開されることになりそうだ。そしてWindows Updateによって少しずつ更新されながら、RCを経てRTMし、最終的にGA(ジェネラルアベイラビリティ)となる。暮れまでにベータを完成させ、年初のCESで大々的に発表、来年の夏前にRCが出て、秋頃にRTMと、Windows 7のときと同様のスケジュールで行けるんじゃないだろうか。とはいえ、Microsoftは、スケジュールよりも品質が優先されると言っているので、どうなるかはわからない。

 Metro Styleは、マルチタッチサポートの新たなGUIであると同時に、レガシーなPCに加え、スレートやスマートフォンなど、バリエーションに富んだデバイスで、それらをクラウドを介して連携させながら、同じプログラムを動かせるようにするための方便でもある。これはMicrosoftの野望であると言ってもいいかもしれない。

 Windows 8がパーソナルコンピューティングのパラダイムを変えることができるかどうかは、技術的な面もさることながら、デベロッパー支援や彼らに対する方向性の誘導、そしてマーケティングサイドの強い協調と情報の共有が必要だ。現時点でのMicrosoftには、その部分が少し欠けているのではないかというのが、今回のイベントに参加しての正直な感想だ。