近年,Web2.0,リッチ・クライアント,ユーザー・エクスペリエンス,RIA(Rich Internet Application/Rich Interactive Application:表現力/操作性に優れたアプリケーション)など,ユーザー・インタフェースに関する情報が極端に増えています。これらの技術の中心になっているのが,「ユーザー中心デザイン」という考え方です。この連載では,ユーザー中心デザインを実現するために重要とされているユーザー・エクスペリエンスと,それを実現するための効果的な技術の概要について,マイクロソフトの技術を取り上げて解説していきます。

ユーザー・エクスペリエンスとは「あるとより良いこと」

 ユーザー・エクスペリエンスとは,その名の通り,利用者自身の体験に基づいて使いやすさを向上させていくことです。ユーザー・エクスペリエンスという概念は,古くからITやマーケティングの分野で使用されていました。

 例えば,私が今インターネット書店で本を買おうとしたとします。しかし,書店というのは数が多くて探すのが大変です。そんなときに検索ができると便利ですよね。他に,自動車で買い物に行き,買い物終了後に荷物を抱えた状態では車のドアを開けるのに大変です。そんなときに近づくと自動で開いてくれると便利ですよね。そういった「あるとより良いこと」がユーザー・エクスペリエンスなのです。

 概念としてはごく当たり前のことですが,その当たり前のことに気づいて,実現するのは非常に難しいです。その実現の難しい概念がここまで広まってきたのは,Jesse James Garrett氏が個人サイト(http://www.jjg.net/)上に掲載した一つのダイアグラムからです(図1)。

図1:ユーザー・エクスペリエンスのダイアグラム(Jesse James Garrett氏の個人サイトより引用)

 詳細な説明はGarrett氏のサイトを見ていただくとして,要は,ユーザー・エクスペリエンスには五つの段階(戦略段階,要件段階,構造段階,骨格段階,表層段階)があり,それぞれ隣り合わせの要素は密接に結び付いているので,それを飛ばしてユーザー・エクスペリエンスを実現することは難しい,ということを構造化して示しています。もちろん,ユーザー・エクスペリエンスを実現するにはこれだけでは不十分ですが,構造化されたことにより,今までより実現しやすい概念になったことは紛れもありません。

 ユーザー・エクスペリエンスがWebの世界に浸透してきたのは,インターネットの一般化とインターネット・インフラの発展により,多くの人がインターネットを利用するようになり,さらなる利便性が求められるようになったことが一番大きな要因でしょう。現在はまだ時代の変わり目であるため,緩やかではありますが,いずれ大きく変化していくはずです。そのために,今の時点からリッチ・クライアント技術の理解を深めて,有効に活用できる準備をしていきましょう。

マイクロソフトにおけるユーザー・エクスペリエンス

 マイクロソフトとユーザー・エクスペリエンスのかかわりは深く,2001年に発売されたWindows XPにはすでに「eXPerience」を冠しているほどです。マイクロソフトのプラットフォームにはすでに,ユーザー・エクスペリエンスを実現するための多くの技術が含まれています(図2)。

図2:リッチ・クライアント技術の種類

 現時点でのWebアプリケーションの開発モデルは,(1)Web標準,(2)RIA,(3)デスクトップ・アプリケーションの三つがあります。これらのそれぞれに対応するのが,(1)ASP.NET(XHTML/CSS)とASP.NET AJAX,(2)Silverlight,(3)Windows Presentation Foundation(WPF)です(表1)。

表1:開発モデルとの対応
開発モデルWeb標準RIAデスクトップ・アプリケーション
マイクロソフトの技術ASP.NET AJAX,ASP.NETSilverlightWPF,ガジェット
メリット事実上,あらゆるOSで動作するWeb標準より充実したUIの実現デスクトップとの統合,オフラインサポート,OSレベルの豊富なUIの実現
デメリットブラウザ非互換性,UIの制限,オフライン非サポートプラグインのインストールが必要クライアントへのインストールが必要

 Windows Presentation Foundation(WPF)は,.NET Framework 3.0で追加された新機能の一つで,高度なUIデザインを実現するために特化したサブシステムです。Direct3Dを通して描画するため,GPUに描画処理を任せることが可能になり,CPUの負荷を軽減できます。ベクトル・グラフィックス,ラスターイメージ,3D,ビデオ/オーディオ,高品質テキスト,アニメーションなど様々なビジュアルを表現可能です。.NET Framework3.0上で動作するデスクトップ・アプリケーション構築にしか利用できない半面,Windows Vistaの能力を最大限に発揮することが出来ます。

 Silverlightは,Web上でリッチメディア・エクスペリエンスやRIAを実現する,クロスブラウザ,クロスプラットフォームの.NETベース・プラグインです。開発言語には,JavaScript,C#,Visual Basic .NET,Ruby,Pythonなど選択することが可能で,WPFのリッチなビジュアル機能も使用できます。統合的なメディア形式のサポートにより,高精細(HD)からモバイルまで対応することが可能です。Internet Explorerをはじめ,FirefoxやSafariにも対応しているため,MacOSでも動作させられます。

 ASP.NET AJAXは,ASP.NETで構築したWebアプリケーションをAJAX対応にするための拡張フレームワークです。ASP.NETの開発生産性を損なわず,インタラクティブなWebサイトを構築することが可能になります。サーバーとクライアントの両方のAJAX対応コントロールを含んでいるため,直接JavaScriptを記述しなくても,本格的なAJAXアプリケーションを作成できます。

 これらの技術は,すべて .NET Frameworkというプラットフォーム上で統合されているため,それぞれを統合させたユーザー・エクスペリエンスを実現することが可能です。単体技術では実現出来ない複雑なニーズに対しても,これらの技術を組み合わせることで実現できるようになります。

開発者とデザイナのコラボレーションを可能にする

 ユーザー・エクスペリエンスは,処理機能,データ,セキュリティを正しく実装する開発者の能力と,デザイン,動き,ブランドで感動させるデザイナの能力を最大限に発揮させる必要があります。そのため,両者のコラボレーション(協働)が不可欠になります。

 マイクロソフトは,WPFとSilverlightにおいて「XAML(Extensible Application Markup Language)」という独自のXMLベースのプレゼンテーション記述言語を採用しています。XAMLを利用すると,ユーザー・インタフェース(UI)記述部分だけ別のファイルにして,開発者向けツール「Visual Studio」と,デザイナ向けツール「Expression Studio」(2007年7月に出荷予定)で共有可能になります。すなわち,XAMLを仲介することで,デザイナはUIデザイン部分,開発者はプログラム・コード部分と,それぞれが得意の領域に集中できるというわけです。

 さて,第1回である本稿は,ユーザー・エクスペリエンスの説明から,ユーザー・エクスペリエンスを実現するためのマイクロソフトの技術を簡単に紹介しました。ユーザー・エクスペリエンスというなじみのない言葉・概念ですが,実際は私たちが日頃から考えたり,感じたりしていることでしかないということがおわかりになっていただけたかと思います。そして,私たち日本人にはユーザー・エクスペリエンスという概念が非常になじむということに気づいていただけたでしょうか。

 日本人は一般的に「ゼロから新しいことを生み出すこと」は苦手と言われていますが,「すでにあるものを改良して新しいものを生み出すこと」は世界一と言われています。この「すでにあるものを改良して新しいものを生み出す」能力こそが,まさにユーザー・エクスペリエンスなのだと私は思っています。その素晴らしい能力を最大限に発揮するための技術がすでに存在しています。

 次回以降の連載では,WPF,Silverlight,ASP.NET AJAXについて,それぞれ紹介していきます。お楽しみに。