Windows 8.1 Pro Modern UIこれ単独で、かつタッチパネル環境で利用する分には決して悪くないのだが・・・。

Windowsの明日はどっちだ? ~RT・Phoneとx86/x64版統合へ~

  • このエントリーをはてなブックマークに追加

by [2014年7月29日]

Microsoftの2014会計年度第4四半期の決算報告ページ
ここで将来計画の一環としてWindowsの統合が触れられた。

Windows 8系が8.0から8.1、そして8.1 Update 1と再三にわたって大がかりなアップグレード/アップデートを繰り返しているにもかかわらず、また何度もGUIの改変が繰り返されているにもかかわらず、遂にタッチパネル非対応環境でのデスクトップの操作性がまともにならないまま発売から2年近くが経過しているという現状を反映してか、次期Windowsに対する注目は高まる一方です。

そしてこのたび、Microsoftの2014年度第4四半期決算発表に伴う同社のサティア・ナデラCEOの記者会見で、何気なくとんでもないことが予告されました。

曰く、「We will streamline the next version of Windows from three Operating Systems into one, single converged Operating System for screens of all sizes. (我々は次期バージョンのWindowsで現行の3つあるOSを全てのディスプレイサイズに対応する単一の統合OSに合理化する。)」と。

詳細については今後数ヶ月以内に公開予定とされましたが、いずれにせよCEOによる公式な会見でWindows 8.1とWindows RT、それにWindows Phone 8.1の3つのOSの次期Windowsでの統合が明言されたわけです。

そこで今回は、次期Windowsに至るWindowsの流れについて考えてみたいと思います。

実は前兆があった

一見唐突な統合予告に見える今回の会見ですが、これは実を言えばそれほど突拍子もない内容ではありません。

というのも、元々Windows RTとWindows 8/8.1はデスクトップの有無とARM v7系CPUとx86/x64系CPUのアーキテクチャの相違に由来する部分を除けば基本的には同様の作りになっていて、Windows ストアアプリ(Modern アプリケーション)ではこれまでMicrosoftが開発してきた「.NET Framework」というCPUアーキテクチャに依存しない(※注1)、AndroidのJava仮想マシン(JVM)と同様のプログラム動作のための仕組みによるアプリ開発用フレームワークを利用することで基本的に同じアプリが同じように動作するためです。

 ※注1:.NET対応アプリでは実行プログラムにマネージコード(managed code)と呼ばれる、CPU命令セットを抽象化した中間言語コードの一種が用いられており、実際に動作するOSに対応するCPUの命令セットに依存しません。

また、今年4月に開催された開発者向けイベントのBuild 2014において、現在はWindows Phoneストアとして独立しているWindows Phoneや、Xbox One(※注2)などでも今後Windowsストアで販売される同じコードで書かれたアプリが動作するようになることが表明されており、今回のサティア・ナデラCEOの発言はそうしたこれまでのMicrosoftによるOS統合作業が、いよいよ最終段階に入ったことを告げているに過ぎないのです。

 ※注2:XboxシリーズではWindowsのカスタマイズ版がOSとして搭載されています。

どんな形に統合されるのか?

現段階では「三種のWidowsが統合されて一つにまとめられる」ことが発表されただけで、それ以上のことについては明らかになっていません。

しかし、ここまででも述べてきたようにこれまでMicrosoftは統合のための下準備とおぼしき様々な作業をここ数年来継続的に行っており、そこから今後来たるべき次期Windowsの姿をある程度類推することは可能です。

デスクトップアプリはARMマシンでは動かない

Windows 8.1 Pro デスクトップ
ARM系など非x86/x64系CPU搭載機でもこの環境がサポートされ、Microsoft Officeなどのデスクトップアプリをインストールして利用できるようになるのがベストだが・・・。

まず、一つ言えるのは、「三系統のWindowsが統合されると言っても、ARM系プロセッサなどを搭載しWindows PhoneやWindows RT相当の次期Windowsがインストールされたマシンでいわゆるデスクトップアプリが動作するようになるわけではない」ことです。

現在のWindows Phone 8系やWindows RTでは、実行プログラムが命令コードにARM-v7命令セットを用いて作成されています。これらのWindowsの動作するスマートフォンやタブレットなどに搭載されているCPUがARM系のQUALCOMM Snapdragonシリーズに限定されている現状からすればそれは当然の話ですが、x86/x64命令セットで書かれたデスクトップアプリからすると、それは大問題となります。

というのは、x86/x64命令セットで書かれたプログラムは異なる命令体系を持つARM系CPUでは動作せず、既存デスクトップアプリを仮にWindows PhoneやWindows RT環境で動作させる場合、その命令セットをリアルタイムでARM-v7命令に変換して実行するための仕組み(※CPUエミュレータなど)が必要となるからです。

これはただでさえ非力なARM-v7系命令セット対応プロセッサにとっては非常に厳しい条件であると言わざるを得ません。

リアルタイムでプロセッサパワーの一部をさいてCPU命令セットの変換作業を行わねばならない以上、またそうしたCPUエミュレータが貴重なメインメモリ空間の一部を占有する以上、それによって得られるデスクトップアプリのパフォーマンスがオリジナルのx86/x64命令セットにネイティブ対応し、かつ同程度の演算性能のプロセッサを搭載する環境のそれより良くなるはずがないのです。

Windows NT 4.0 Workstation
NT系パソコン用Windowsではx86系以外のRISC CPUアーキテクチャに対応した最後のバージョン。このバージョンまでのWindows NTではx86・MIPS R・Power PC・Alpha AXPの4つのCPUアーキテクチャに対応し、それぞれのCPUにネイティブ対応したデスクトップアプリが作成されていた。

ちなみに、かつてのWindows NT、中でもNT4.0のDEC Alpha AXPという64ビットRISCプロセッサ(※注3)に対応したバージョンでは、Microsoft純正のエミュレータであるWX86と共にDEC開発のDEC Digital FX!32というバイナリコンパイラが提供されていて、当初は単なるCPUエミュレータとしてx86命令で書かれたプログラムをAlpha AXPの命令に逐次変換して動作するものの、そうして変換したバイナリを保存してゆくことで2回目からはx86命令を変換済みのAlpha AXPネイティブコードで高速動作させるというGoogleがAndroid向け最新仮想マシン「ART」に採用したのに近い仕組みにより、最終的にはMicrosoft Officeのような複雑かつ大規模な商用アプリケーションまで、当時の一般的なx86系プロセッサで実行するのと大差ない速度で動作させることに成功していました。

 ※注3:Windows NTでは32ビットプロセッサとして扱われました。

もっともこれは当時「世界最速のCPU」と謳われ、ギネスブックにも掲載されたほど超高速動作していた(※注4)Alpha AXPの突出したプロセッサパワーがあればこそ実現した、いわば力業の手段であったと言え、同じことを今のスマートフォンやタブレットに積まれているようなARMーv7系プロセッサで行うのは無理があります。

 ※注4:当時のPentium(P5)が32ビット命令セット対応かつ最速で66MHz駆動であった時代に、既に64ビット命令セット対応かつ200MHz駆動を実現していました。

実際、そうした仕組みが高効率で動作することが期待できるならばWindows RTの段階で既に実装され対応していた筈で、それがそうなっていないという事実そのものが、異なるCPU命令セットのマシン上でx86/x64命令セット対応のデスクトップアプリを実行することの難しさを示しています。

Windows 7 XPモード
Windows 7 Professional・Ultimate・Enterpriseで無償提供されているWindows XPエミュレータ。そこそこの性能が出るが、これはWindows XPの動作する仮想マシンのCPUがホストOSの動作するCPUと同一でエミュレーションに伴う変換ロスが最小限に抑えられているためである。

もちろん、今後半導体製造技術の進歩などによりARM系プロセッサの性能が飛躍的に向上し処理能力に大きな余裕が出てくれば、Windows 7 Professional・Ultimateに搭載されていた「XPモード」のように本来は対応しないデスクトップアプリの動作に(1台のPC/AT互換機を丸ごとエミュレーションすることで)対応することも不可能ではないでしょう。

しかし、現状のARM系CPUコアの性能や扱えるメインメモリ容量などを勘案すると、そうなるまでにはまだまだ時間が必要で、少なくとも次期Windowsのリリース時期にはとても間に合いそうにありません。そのため、次期Windowsが動作するARM系プロセッサ搭載スマートフォンやタブレットなどにおいて、x86/x64命令セット対応デスクトップアプリが動作する環境が提供されることは恐らく「ない」と考えられます。

もっとも、これは逆に考えると例えばAtomのようなx86/x64系プロセッサを搭載したスマートフォンであれば、次期Windowsの下ではデスクトップアプリの動作する環境が得られる可能性がある、ということを意味します。果たしてそのような構成のスマートフォンが実際に製品化されるのかはわかりませんが、今後の展開が注目される部分です。

ストアアプリは全ての環境で共通に動作するようになる

現在提供されているWindows ストアアプリが全て手直し無く次期Windowsで正常動作するか否かは不明だが、次期WindowsではWindows PhoneストアがWindowsストアに統合されることとなる。

一方、Windowsストアアプリについては現在のMicrosoft純正ソフトウェア開発環境であるVisual StudioでWindows Phone 8用に書かれたアプリがWindows 8.1上でも動作するようになると予告されています。

実のところ、Windows 8.1とWindows Phone 8.1で同一ストアアプリを動作させる場合、一番問題となるのは画面に関わるAPIの互換性で、現状ではWindows Phone 8.1の画面に関するAPIはその約90パーセントがWindows 8.1のそれと揃えられており、次期Windowsでの統合作業では、異なる残り約10パーセントのAPIの整合を取ることになります。

先にも記したとおり、現在のWindowsでは「.NET Framework」としてCPU非依存のアプリを開発するための仕組みが提供されていますから、よほど特殊なアプリでない限り、グラフィック画面の縦横比や解像度、タッチパネル機能の有無などにうまく対応するように画面を設計しさえすれば、Windows Phoneストアアプリに関してはWindowsストアアプリとの互換性を確保するのはそれほど困難ではないでしょう。

ただし、現在の一部のデスクトップアプリがそうであるように、当然ながらハードウェア各部の性能、例えばGPU性能に依存するような書かれ方をしたアプリは、GPU性能が必要条件を満たさなければまともに動作しません。その点、Windowsが統合されたとしても「Windowsストアアプリだからどんな環境でも必ず動作する」ようになる訳では無いことには注意が必要です。

Modern UIの天下は当分続く?

Windows 8.1 Pro Modern UI
これ単独でWindowsストアアプリを、それもタッチパネル環境で利用する分には決して悪くないのだが・・・。

Windows 8/8.1で最大の問題点がModern UIと呼ばれる、タッチパネルに特化した新設計のユーザーインターフェイスに関わる部分にあることは、恐らくほとんどの方に同意いただけるのではないかと思います。

この新UI、スマートフォンやタブレットなどのタッチパネルが利用できる環境で、かつWindowsストアアプリを利用するだけならば致命的な問題はほとんどなくむしろ使いやすい部類に入ると言え、MicrosoftがWindows RTやWindows Phoneにこの新UIを大々的に展開したのも首肯できますし、恐らくこの用途ではこのModern UIが今後も長期にわたって利用され続けることになるでしょう。

しかし、少なくともこの新UIの下で動作するWindows 8/8.1のデスクトップが、インストールされたアプリケーションを直感的に起動するための手段としてのスタートメニューを奪われ、デスクトップ上に各アプリのショートカットアイコンを並べるかさもなくば直接実行ファイルのファイル名を入力せねばアプリ起動さえままならない状況を考慮すると、これは「非常に使いにくい」と断じざるを得ません。

Windows 95(OSR2)
スタートメニューの最上段に各アプリケーションへのショートカットを格納した「プログラム」が置かれており、この機能の本質がインストールされた各アプリケーションの起動を容易にするためのアプリケーションランチャーにあったことは明白である。

そもそも、Windows 95以降の歴代Windowsで利用されてきたアプリケーションプログラムのインストーラが、スタートメニューにアプリのショートカットを登録するのを基本としていたことや、歴代Windowsでのスタートメニューの改良がいずれもこうしたアプリケーションランチャーとしての使い勝手を改善する方向で実施されてきたことを考えれば、これは実使用状況を全く無視した暴挙なのですが、ともあれWindows 8→Windows 8.1、Windows 8.1→Windows 8.1 Update1、と都合2回実施されたアップグレード/大規模アップデートでもスタートボタンそのものは復活されたものの、肝心のデスクトップアプリのランチャーとしての機能は無視されたままとなっています。

Windows 8.1で追加されたスタートボタン(左下隅)をクリックした直後
スタートメニューも出ずいきなりModern UIに切り替わる。一応、この画面上にもインストールされたデスクトップアプリのアイコンが並んでいるため機能的に従来のスタートメニューと同等と言えなくはないが、アプリ起動の度にこの画面を拝まされてアイコンの並ぶ右方向へ画面スクロールを強いられるというのはほとんど拷問に近い。

一応、Windows 8.1のUpdate 2、あるいはその次に予定されているとされるUpdate 3のいずれかにおいて、復活したスタートボタンにインストールされたストアアプリを含めたアプリケーションランチャーとしてのスタートメニューが追加されるという話も出回っているため、さすがのMicrosoftもWindows 8.1のデスクトップを何とかするつもりはあるようなのですが、果たしてそうした改良が次期Windowsで反映され搭載されることになるのかどうかは定かではありません。そのため、次期Windowsには最悪の場合、現状か現状に近い状態のデスクトップが搭載される可能性があることは覚悟しておく必要があるでしょう。

Windows Vista Ultimate
WindowsのスタートメニューはこのVistaのもので完成したと言ってよく、Windows 7でもほぼそのままの形で踏襲されている。

Windows 8のインストール後、真っ先にインストールしたソフトが「Classic Shell」などのWindows XP/Vista/7互換スタートメニュー復活ソフトだった、という笑えない話があちこちから聞こえてくる状況を考えると、どうしてMicrosoftがユーザーの悲痛な叫びに耳を傾けずWindows 8/8.1にVista/7相当のスタートメニューを追加するという簡単な作業を出し渋っているのか、筆者には正直全く理解できません。

最終的にはデスクトップの操作性が
Windowsの死命を制するのではないか

以上、現時点で公表されている情報などから、3つのWindowsを統合した次期Windows(Windows 9となるのでしょうか?)の姿を探ってきましたが、ことデスクトップOSとしてのWindowsという観点で見ると、統合もストアアプリの動作状況もどうでもよく、最終的にはデスクトップの使い勝手だけが問題となるように筆者には思えます。

有り体に言ってWindows Phoneが全世界レベルで半死半生、Windows RTは搭載製品の製品化も途絶えかけて市場レベルでは最早ほぼ死亡状態、という現状を考えると、3つのWindowsを統合と言ってもパソコンでWindowsを利用しているユーザーには全くと言って良いほどメリットがなく、またタブレットでWindowsを利用しているユーザーにとっても取り立てて大きなメリットはありませんから、むしろ統合でデスクトップの使い勝手が損ねられる方がMac OS XやAndroid、はたまたChrome OSへのユーザーの逸走を招く恐れがあって、シェア確保に致命的な結果を引き起こすのではないでしょうか。

筆者個人としてはデスクトップ上でインストールしたアプリがストレス無く起動できて、なおかつ動作互換性に問題が無ければ基本的には文句はないのですが、正直それさえまともに出来ていないWindows 8/8.1を見ていると本当に不安になります。次期Windowsでは、この辺がきちんと解決されることを願うばかりです。

▼参考リンク
FY14 Q4 – Press Releases – Investor Relations – Microsoft
Universal apps – Windows app development
Build universal Windows apps that target Windows and Windows Phone – Windows app development
Building Windows, Windows Phone, and Xbox One Apps with HTML/JS/CSS & C++ | Build 2014 | Channel 9
The New Windows Phone Application Model | Build 2014 | Channel 9

コメントは受け付けていません。

PageTopへ