今度のMicrosoftは手強そうだ



Windows Phone 7

 つい1カ月程前、スペイン・バルセロナで開催されたMobile World Congress 2010が開幕するまでの間、Microsoftが携帯電話の世界で、Appleに匹敵するようなイノベーターになるとは思っていなかったかもしれない。

 なにしろ、それまでのMicrosoftの携帯電話向けソフトウェアソリューションは、誰が見ても古くさいユーザーインターフェイスや柔軟性の低いメモリ管理、操作に対するレスポンスの悪さなど、ガタピシと音を立てるが如く、古いアーキテクチャに足を引っ張られていたからだ。

 もちろん、Windows MobileにはPCユーザーにとって、なかなか便利な側面やPC的であるが故の魅力もあったが、携帯電話向けプラットフォームとしての総合力という意味では、まったくお話にならない。ファンには申し訳ないが、ライバルから見るとチョロい製品になってしまっていた。

 しかしWindows Phone 7では、従来とは異なるアプローチを採ることで、従来あった問題を解決している。あくまで汎用OSとしての体裁を重視していたWindows Mobileに対して、Windows Phoneは特定のハードウェアと強く結び付けたソフトウェアの設計を行なっている。こうすることで、OS自身のコードもコンパクトかつ高パフォーマンスになり、なによりダイレクトなレスポンス感でデバイスを利用可能になる。

 単にこの製品が発表されただけならば、“もしかすると、今回は行けるかもね”といった程度の感想を持つ人が多かったのだろうが、現在、米ラスベガスで行なわれているMicrosoftのインターネットアプリケーション・コンテンツ制作エンジニア向けのイベントMIX10の基調講演や昨年までの情報を考え合わせると、これはMicrosoftの製品として初めて、携帯電話向けに強力なプラットフォームとなりそうだ。


●Appleに学んだ? Windows Phone 7の強み

 最近のiPhoneの爆発的な普及とiPadへの期待などもあって、Appleの株式時価総額はMicrosoftのそれに、かなり近付いてきた。とはいえ、実際の会社の規模まで近付いてきているかというと、もちろんそんなことはない。新しいものを生み出すために必要なマンパワーは、圧倒的にMicrosoftの方が上だ。おそらくエンジニア1人1人の実力という点でも、両社に大きな違いがあるとは思わない。

 しかしAppleには柔軟性があり、Microsoftは大きな組織の中で硬直していたのかもしれない。開発力の差が会社全体のパフォーマンス差にはなっていなかった。特に携帯電話向けのソリューションでは。

 Windows Phone 7は、携帯電話向けに新たに書き起こされた、全く新しいソフトウェア基盤だというが、その設計思想はiPhoneから拝借した部分も多いように思う。なぜiPhoneはカッコよく素早く動作し、なぜWindows Mobileは鈍重でダサいのか。iPod touch/iPhoneでAppleが培ってきた方法論を、徹底的に研究し、汎用の組み込みOSではなく携帯電話向けのプラットフォームとしたのがWindows Phone 7というわけだ。

 ユーザーインターフェイスは昨年発売された新型のZune HDとよく似たアプローチで、配置する画面要素に浮遊感、抑揚感のようなものを持たせ、視覚的な刺激で操作を誘導するような設計がなされている。

 初代Zuneのユーザーインターフェイスは、何の変哲もないものだったが、Windows Phone 7のユーザーインターフェイスは実験的要素を感じつつも、しっかりと使いやすさが伝わってくる。Microsoftの組み込み用ソフトウェアで、ここまで流麗で澱みのない操作感を実現しているものは、他には無かった(といっても、最終製品版を手にしたわけではないので、少し褒めすぎかもしれない)。

 Windows Phone 7は、ハードウェアをある程度の範囲で決め打ちしたプラットフォームを定義し、ハードウェアメーカーはその仕様に合わせて携帯電話を開発する。従来より抽象化のレイヤは薄いようで、それが少ないハードウェアリソースを使いこなしている要因にもなっているようだ。

 ハードウェアとして、ボタンやセンサー、ディスプレイなどの標準を定義しておき、ソフトウェア側でそれらハードウェア要素を組み合わせてユーザーインターフェイスや機能を構築していく。この手法はiPhoneのやりかたそのものだ。

 ハードウェアと深く統合されたことにより、悪い意味でPC的だったWindows Mobileの動きとは異なり、Windows Phone 7はあらゆる操作に対して素早くレスポンスしているように見える。これならば使ってみたいと、ググっと興味を引かれる人も多いのではないだろうか。

●Silverlight中心に構築するMicrosoftのアプリケーションプラットフォーム

 昨年行なわれたProfessional Developers Conference(PDC)2009において、Microsoftのクラウド戦略に関してプラットフォーム戦略シニアディレクタのティム・オブライエン氏は「Microsoftの3スクリーン戦略(携帯電話、TV、PCに対して、均質なアプリケーションを提供できる開発プラットフォームを構築する計画)は、Silverlight 4を元に行なう」と話した。

 Silverlightは言うまでもなく、Windows Presentation Foundationをスピンアウトして発展させた、リッチインターネットアプリケーション(RIA)を動かすためのランタイム技術だ。

 昔のアプリケーションはPC上のローカルメモリに留まって動作するプログラムだったが、ネットワークでコンピュータが繋がるようになるとネットワークにソフトウェアが分散し、今はWebサービス全盛の時代が来ている。多くのアプリケーションはWebブラウザを通じて提供されるようになってきた。

 現状、Webブラウザをアプリケーションプラットフォームとして使うには不足する部分も多いが、HTML5によって従来は扱えなかったメディアを統合したり、AdobeのAIRやMicrosoftのSilverlightといった、Webベースのアプリケーションをリッチなものへと拡張するプラグイン形式のランタイムが生まれている。

 かつてはソフトウェアを開発する際に使うAPIを握ることこそが、アプリケーションのプラットフォームを握るために不可欠な要素だったが、Webサービスを通じてアプリケーションが提供されるようになると、Win32 APIではなくSilverlightやAIRそのもののアーキテクチャが、アプリケーションの構築するための基盤になる。

 MicrosoftはSilverlight 4でユーザーインターフェイスやメディアストリームの扱い、グラフィックス、アニメーションなどの機能を大幅に強化しており、リッチなユーザーインターフェイスを構築することにかけては、元になったWPF以上になってしまった。

 Microsoftは今後、Win32 APIに代わってSilverlight 4をアプリケーション構築プラットフォームのデファクトスタンダードとして推進していくことになる。

 今回のMIX10では、このSilverlight 4がイベントの主役だが、その名脇役となったのがWindows Phone 7だ。Windows Phone 7は年内に登場する製品で、Silverlight 4とXNAをサポートする。XNAは元々はXbox向けの開発環境で、Xbox向けアプリケーションの開発者が、容易にWindows Phone 7用ゲームを書けるようになる。

●Silverlightなら同じアプリケーションを多方面に展開可能

 iPhone用アプリケーションがiPadでも使えるのは、iPhoneとiPadのアーキテクチャが非常に近いためだが、Silverlightを用いて携帯電話(スマートフォン)上でアプリケーションを構築するのなら、ハードウェアのアーキテクチャとは無関係に、Silverlightをサポートする他のハードウェア上でもアプリケーションが動作する。

 さらにSilverlightは、元になったWPFと同様、ユーザーインターフェイスの定義とプログラムロジックが分離されているため、そのアプリケーションを動かしたい端末ごとにユーザーインターフェイス定義を行なってやれば、携帯電話でも、PCでも、TVでも、それぞれに最適化された画面デザインで作業を行なえる。

 これはかなり大きな意味を持つはずだ。なにしろ.NETフレームワークを使ってきたソフトウェアエンジニアは、従来のスキルを活かせば、簡単にアプリケーションを作れてしまうことになる。

 基調講演における説明では、Visual Studioを用いてSilverlightで開発したPC向けアプリケーションは、そのまま同じプログラムコードが使え、ツールもVisual Studioを使って携帯電話向けにユーザーインターフェイスをアレンジできる。プログラミングモデルは同じなので、まさにデバイスの違いを考えてユーザーインターフェイスを再構築するだけでいい。

 Silverlightによるグラフィックスの描画、アニメーション機能は、すべてWindows Phone 7のハードウェアグラフィックスコアに伝達され、アクセラレーションがかかるようになっている。この機能に関しても、GPUを最大限に活かし、低パフォーマンスのCPUでありながら流麗なグラフィックスを用いたユーザーインターフェイスを実現していたiPhoneの例と、実によく似た手法と言える。

●本当に手強そうだ

 考えれば考えるほど、Microsoftの新しいスマートフォン向けプラットフォームはよく出来ている。従来があまりにもダサかった反動だろうか。ちょっと不思議なぐらいだ。それだけ、モバイルコンピューティングの世界において、スマートフォンが大きな存在になってきたというわけだ。

 Windows Phone 7は、AppleがiPhoneを成功に導いたメソッドを豊富に取り入れて端末自身の魅力やパフォーマンスを高め、そこにMicrosoftが伝統的に強い開発ツールや開発プラットフォームの面で優位性を提供する。特にSilverlight 4は大変に魅力的なユーザーインターフェイスを簡潔に構築できるから、今すぐにでもアプリケーションを書きたい! と思うエンジニアも少なくないだろう。

 例によってMicrosoftは、Silverlight 4のリリース候補版に加え、Visual Studio向けのSilverlight Toolsというプラグインのリリース候補版、それにExpression Blend 4のβ版が無償ダウンロードできるよう準備を整えていたので、エンジニアはすぐにお試しすることが可能だ。

 iPhone並のハードウェア・ソフトウェア・サービス統合を、マルチハードウェアベンダーで実現し、開発環境も優れているとなると、これはAppleやグーグルにとって、相当に手強い相手となるかもしれない。iPhoneは先行している分、蓄積されたアプリケーションが存在するが、ここまでSilverlightの出来がいいと、果たして先行逃げ切りができるかどうか。

 Androidベースのスマートフォンも、かなり洗練されてきており、iPhoneも含め、今年の年末は面白い事になりそうだ。

バックナンバー

(2010年 3月 16日)

[Text by 本田 雅一]