BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル Windows デバイスで開発するタッチユーザーインターフェイス

Windows デバイスで開発するタッチユーザーインターフェイス

ブックマーク

今年の9月にアメリカで開催されたマイクロソフトのテクニカルカンファレンス「//build/」において、次期 Windows となる 「Windows 8」が発表された。様々な新機能が紹介されることになったが、Windows に新しいタッチベースの環境をもたらす「Metro UI」による スタートスクリーンが導入され、これまでのマウス/キーボードの操作に対して「タッチが優先される」環境が提案されたことは非常に大きなインパクトとなった。現時点では Developer Preview バージョンであるために最終的な仕様とはいえないが、 iOS や Android などに代表されるモバイル/タブレットデバイスにおいてタッチインターフェイスが一般的になりつつあるものの、億を超える導入実績のあるWindows において少なくとも部分的には「タッチが優先される」という決断がされたことは市場に大きな影響をもたらすと思われる。


[Windows 8 のアーキテクチャ]

Windows 8 のアーキテクチャ:2つのランタイム環境

Windows 8 のアプリケーション実行環境は、上記アーキテクチャの通り「Metro Style App」と「Desktop App」の2つに分割されている。このうち「Desktop App」についてはこれまで通りのWindows 7 同様のデスクトップ環境と同じものが用意され、既存のアプリケーションが動作する。一方「Metro Style App」に関しては、「Metro」というデザインスキームが採用され、フルスクリーン/シングルウィンドウ/タッチオペレーション前提のアプリケーションが、新しいランタイムAPIである「WinRT」の上で動作することになる。(この構成がモバイルデバイスでの最大のライバルであるiOSを意識したものであることは想像に難くない)


[Windows 8 のスタートスクリーン]

デザイン言語「Metro」とそれにより形成される新しいUI の世界

「デザイン言語」と称されるMetro をベースとしたインターフェイスは、スタートボタンを押した時に現れるWindows の代名詞とも言うべき「スタートメニュー」をも完全に変えてしまっている。スタートメニューは「Metro Style App」と「Desktop App」の2つの環境の切り替えにも使われるが、かつてのスタートメニューは新たに「スタートスクリーン」となり、タッチベースのアプリケーションランチャーメニューとなった。

Metro UIにおいては、画面のレイアウトの方法、サイズ/カラーを含めたフォントの利用などにデザインガイドラインが設けられており、Visual Studio で利用できるテンプレートも用意されている。アプリケーションがユーザーに届けるコンテンツを最重要視して、UI は非常にシンプルなものを追求しているものとなっている。なかでも大変注目したい部分が、タッチジェスチャーに関する標準化を行い、対応する「Metro Style App」においても適切なイベントハンドリングが行われている点だ。


[Windows 8 Touch Language]

既にスマートフォンを中心としたマルチタッチデバイスがリリースされている現状において、ピンチズームなどある程度タッチジェスチャーも一般化してきている。しかし、広範囲にわたってジェスチャーが標準化された状態にはなっておらず、Windows の出荷数レベルを持ってこれらが標準化に大きく影響を与えるものと思われる。

Windows 8 に備えてどのような準備を始めるべきか?

別の視点で考えてみると、Windows 8 が出荷されるに至ったとしても、すぐに企業ユーザーが Windows 8 を利用し始めるとは考えにくい。しかし、コンシューマーを中心に利用が緩やかに広がり、デバイスが「Windows 8 Ready」で出荷されるようになる(これには噂されているARMベースのデバイスも含まれる)ことを考えると、タッチ利用可能な UI の開発を避けにくい状況が Windows 8 の本格的な普及よりも先にやってくると筆者は考えている。デバイスの設計がタッチ優先を意識して施され、ユーザーがそのオペレーションを当たり前と感じるようになることが先にやってくる可能性が高いからだ。その結果として、タッチ UI への対応が「Windows 7 以前」の環境に対して求められるようになるだろう。スマートフォンの普及によってUI に対するユーザーの意識が高くなっていることと同様に、Windows 8 の出荷とその準備にともなって一層タッチUI へのユーザーからのニーズが喚起されることは間違いない。

この時、私達はなにから始めればよいだろうか?Metro は前述のとおりデザイン言語であり、テクノロジーとプラットフォームに依存していない。そのため、これまでのアプリケーションをMetro に対応させ、来るべき Windows 8 の世界とのギャップを少なくしていくことは可能だと考える。ガイドラインに従ってアプリケーションをデザインし、ジェスチャーを利用して同様の操作系を実現するのだ。今後開発するアプリケーションがWindows 7 以前の環境でも、Windows 8 のどちらでも動作することを求められることを考えると、Windows 8 の「Metro Style App」と「Desktop App」の2つの環境をユーザーが切り替えながら使うにあたって、やはり体験のギャップを少なくすることが求められることになる。この場合、既存のアプリケーション開発プラットフォーム(多くの場合は.NET Frameworkになると思われるが)においてどのようなタッチサポートがなされているかを確実に把握しておく必要がある。マルチタッチのサポートはどうなっているか、フリック時のイナーシャ(慣性運動)はサポートされているか、タッチイベントとマウスイベントを分けて取り扱うことは可能か、などおさえるべきポイントは多く存在している。現実的には.NET Framework であれば4以上、Silverlight であれば4あるいは近日のリリースが予定されている 5 をベースにして確認すると良いだろう。

新しいランタイム環境における「Metro Style App」への対応は?

また、Windows 8 「ネイティブ」のアプリケーション環境ともいえる「Metro Style App」への対応はどのように進めればよいだろうか?Windows 8 自体がまだ Developer Preview であることもあり、躊躇する方も多いと思われるが、実は既にMetro をベースにしてアプリケーション環境が整備されている実運用環境がある。それは Windows Phone だ。Metro UI を採用し、タイル/ノティフィケーションといった「Metro Style App」と同様の機構も備え、Windows 8 Developer Preview ではまだ利用することのできない Marketplace を利用することができ、Metro 世代のアプリケーション開発をスモールスタートさせる環境として非常に都合が良い。Windows 8 に比べ既に2世代目まで成熟が進んでおり、技術情報も多く存在している点も助けとなるだろう。サイズも限られるが故に手をつけやすいWindows Phone アプリケーションの開発を試しておくことで、Metro 世代のアプリケーション開発に馴染んでおき、今後リリースされるものも含めてWindows 8 のプレビューリリースも睨みつつリリースに備えていくと良いのではないだろうか。

大きな変化の時代に備え、来るべき世界でのポジションの確立をはじめよう

「//build/」において、マイクロソフトは「Windows 95以来の変革とビジネスチャンスが訪れる」と表現していた。Marketplaceを含め新たに大きなビジネスチャンスが期待されることは間違いないが、筆者にとって Windows 8 は Windows 95 のようには見えていない。むしろ、Windows 3.1 のように感じている。Windows 3.1 は 95 に比べて大きな商業的な成功は納めていないが、CUI から GUI への転換期、16bit アプリから Win32 への移行期において重要な役割を果たした。過去も捨てることが出来ず、かつ未来にも目を向けなければならないタイミングでのOSであったといえる。2つのランタイム環境が混在していることも非常に当時の状況に似ている。ここで重要なのは、当時旧来の環境にスタックする戦略を選んだか、新しい環境への投資も怠らなかったかという点で多くのソフトウェア関連企業の命運が左右されたことだ。3.1 の時代にGUI へ投資した努力は、95 の時代に報われることになったのである。

現在、デバイスのフォームファクターが大きく変わり、モバイルデバイスが当たり前のものとなり、タブレットデバイスへの需要も非常に大きなものになっている。タッチユーザーインターフェイスを端緒として、よりダイレクトにデバイスとのインタラクションを可能とする NUI、ナチュラルユーザーインターフェイスへの緩やかな移行が始まっている。3.1時代に GUI への対応を行ったのと同様に、今この新しい流れに投資を開始することで長期的には先行者利益を得ることが可能になるのではないだろうか。それほど、市場を含めた大きな流れの中で Windows 8 の「タッチファースト=タッチ優先」のインパクトは大きなものであると筆者は考えている。しかも、Windows Phone は既に出荷されており、誰でもその開発に触れることで新しいMetro の開発を始めることが可能なのだ。これこそマイクロソフトのWindows ブランドの強みである。取組の成果が実を結ぶのが「Windows 9」の世代になるのか、デバイス分野で先行する Windows 8 ベースのMetro Style App環境になるのかはまだわからないが、この大きな流れが止まることはまず無いだろう。是非早期にWindows Phone を通じて新しい NUI の世界の入口に立つことを強くお勧めしたい。

この記事に星をつける

おすすめ度
スタイル

BT