マイクロソフトではこうした現状を招いた当時の啓蒙活動を「大いに反省している」(長坂氏)と言い、WPFを正しく理解してもらえるよう「User Experience(UX)」というキーワードを用いて、改めて啓蒙を進めている。
利用者の"体験"を中心に考えよ
UXとは、利用者の"体験"を中心に考えて設計することを表す概念だ。ソフトウェアに限らず広い範囲で用いられるが、ソフトウェア品質の評価に関する国際規格「ISO X 0129-1」でも「魅力性」という項目で説明されており、マイクロソフトでは「使って楽しい、心地よいなど、感情的にプラスを与える」といった言葉で表現している。
そのようなUXは、ビジネス上の課題を解決する手段としても有効だ。
例えば、Shop IBMでは「UXを高めて訪問者の"求めるもの"や"したいこと"にたどり着きやすい環境を作った結果、トラフィックが120%向上、売上が400%に伸びた」(大野氏)という。また、「AT&TではシステムのUXを高めることにより250万ドルものトレーニング費用削減に成功したほか、業務アプリケーションのサインオン手続きを改良することで1日あたり4万ドル以上の生産性向上を実現した事例もある」(同氏)という。
UXの高いアプリを容易に開発できるXAML
このようにビジネスに対して大きな価値をもたらすUXだが、それを高めるには、やはりある程度の表現力が求められる。必ずしもリッチなアプリケーションである必要はないが(例えば、Googleのシンプルな検索画面もUXの高いアプリケーションの1つに数えられる)、表現力が高いほうができることが多いのは間違いない。
そこで脚光を浴びるのがWPFだ。
前述のとおり、WPFは3Dやベクターグラフィクスなども扱える高い表現力が大きな特徴。「使って楽しい、心地よい」といった感情を抱かせるのに適した技術と言える。しかも、開発環境が整備されており、「開発を効率的に進められる」(大野氏)ような地盤が固まっている。
例えば、XAMLで記述するUIコードは、Microsoft Expressionを使い、グラフィカルな画面で定義することが可能。アニメーションなどを盛り込んだ高度なUIも簡単に定義することができる。
しかも、XAMLファイルは、コンパイル時にロジック部分のプログラムと組み合わせられ、C#プログラムなどと同様のMSIL(Microsoft Intermediate Language)の中間クラスに変換されてからバイトコード化される。そのため、「前述のようなブラックボックス化の心配は一切不要」(大野氏)だ。
もちろん、ロジック部分の実装には既存の.NET Frameworkスキルが使える。データバインディング用のAPIも充実しており、従来よりも簡潔にコーディングすることができる。
加えて、ExpressionとMicrosoft Visual Studioとの親和性も高く、デザインの変更をプログラムへ、プログラムの変更をデザインへと随時反映させることができる。そのため、デザイナーとプログラマーが協調しやすく、アプリケーションによっては以前よりも開発生産性を向上させることが可能だ。
マイクロソフトでは現在、こうした"正しい"特徴を強調して誤解を払拭するとともに、UXという概念の普及を進め、WPFの有効な活用法を紹介している。