RIAとは何か? - James Ward

この記事はJames Ward氏の記事「What is a Rich Internet Application?」を氏の許可を得て翻訳したものです。(原文公開日:2007年10月17日)




ソフトウェアを通じて得られる経験が自然界に近づくほど、より多くのユーザはその経験をうれしいと感じるようになります。コンピュータにおいてもっとも強力で分かりやすく、普遍的な概念はファイルとフォルダを含むデスクトップという考え方ですが、ソフトウェアにおけるこのメタファーをユーザがよろこんで受け入れたのは、ユーザの自然界における経験を模したものだったからです。


あるパラダイムシフトが進行しています。このパラダイムシフトにおいて、開発者は自然界をより正確に模したユーザインターフェイスを作ってます。2002年からこの種のソフトウェアアプリケーションを表すのに用いられている用語が、「リッチ・インターネット・アプリケーション("Rich Internet Application")」ないしRIAです。RIAへのパラダイムシフトが勢いを得るにつれ、AjaxFlexSilverlightAdobe AIRJavaFXといった技術が人気を増してきています。


しかし、RIAとは何でしょうか?この問いに答えるのは「木とは何か?」という問いに答えるのに似ています。実際にものを見れば、それがRIAないし木であると自信を持って識別できるでしょうが、正確な定義を見つけ出すのは至難の業です。このような場合にできることは、その用語が包含する根本的な特徴を識別することです。


「リッチ・インターネット・アプリケーション」というフレーズを分解してみると、「インターネット」と「アプリケーション」については良く理解できることが分かるでしょう。RIAを興味深いものにしているのは「リッチ」という側面であり、より十分な説明が必要となるのも「リッチ」という側面なのです。本質的には、RIAはユーザに対して豊かな経験をもたらすことができます。この経験の豊かさ("richness")こそが、より自然なソフトウェアを作ることによって高められるものなのです。ここで言う自然なソフトウェアとはつまり、よりつながっていて("connected")、より生き生きとして("alive")、よりインタラクティブで("interactive")、より反応の良い("responsive")ものです。

つながっている("Connected")

私たちは皆つながっています。この比較的小さな惑星上で、私たちは多くのものを共有しているのです。それぞれのコミュニケーションは、様々な方法と様々な言語によって行われています。あるものは簡単ですが、難しいものもあります。同じようにRIAは私たち全員をつなぐネットワーク、つまりインターネットの上に構築されます。RIAは数十億もの構成要素が相互に接続したネットワークを使って、私たちのコミュニケーションを助けてくれます。このコミュニケーションは人間同士のこともあれば、システム間で行われることもあり、簡単なこともあれば難しいこともあります。さらに、私たち1人1人と同じように、いくつかのシナリオにおいては、RIAはインターネットから切り離された状態で機能する必要があります。

生き生きとしている("Alive")

動きと時間の経過は、美しいと感じる経験やそれに対する感情的な反応にとって欠かすことのできないものです。砂浜に絶え間なく打ち寄せる波を見るのは、私たちを生命で満たしてくれる経験です。それと同じように、もし夕日の姿が全く変わらなければ、その美しい夕日をずっと座って眺めていようとはしないでしょう。RIAにおいては、自然界で見いだせる動きと美しさを模すことで豊かな経験("rich experience")を作り出します。スムーズなスライドのトランジッション、ズームエフェクト、ソフトブラー、ドロップシャドウ、そして丸い角といったものは、ソフトウェアをより自然界に近いものとして感じられるようにしてくれるRIAの要素です。美しさというものは普通シンプルなもので、度を超したものではあり得ません。生き生きしていると感じられるソフトウェアは感情的な反応を引き起こします。その感情的な反応によって、ソフトウェアに対して感じる満足度を向上させることができるのです。RIAは生き生きしていると感じさせなければいけません。

インタラクティブ("Interactive")

人同士がコミュニケーションをする時、お互いにやりとりをしています("interact")。ある時は身体で、ある時は音で、ある時は視覚的に。インタラクションとは私たちが情報を送り、受け取るやり方なのです。経験の豊かさは私たちの感覚によって可能となるこのインタラクションに強く依存します。タブレットPCのようなマルチタッチ・インターフェイスやメディアプレイヤは今まで以上に一般的になってきています。ユーザは、自然界においてものとやりとりするのと同じように、ソフトウェアとやりとりしたいと考えるからです。より多くのソフトウェアアプリケーションもビデオやオーディオ機能を追加しており、こういったアプリケーションのうちいくつかは双方向のマルチメディア・インタラクションをサポートしています。これによってユーザはアプリケーションのコンテキストにおいて視覚的、聴覚的にやりとりできるのです。想像してみて下さい。オンライン上でフォームを埋めつつ、必要に応じて、ウェブカムを通じてフォームの記入を手伝ってくれる人とやり取りできるとしたらどうでしょう。その水準での双方向性("interactivity")を許容するアプリケーションは自然界の双方向性をソフトウェアの経験へともたらす助けになります。

反応が良い("Responsive")

実際の世界において、人々が相互にやりとりをしたり、あるいは岩や木のような物とやりとりをする時、これらは通常すぐに反応します。岩をけとばせばすぐに動きますし、それが大きな岩であればすぐに足が痛くなります。誰かが他の人に話しかける時には、すぐに反応が返ってくることを期待します。野球の試合でスコアが知りたいと思ったときには、しかるべき場所を見ればいつでも分かります。しかし、ソフトウェアの世界においては、人々はコンピュータがレスポンスを返すのを待たされることが実に多くあります。原因はネットワークの接続や処理性能の限界、あるいはその他の問題などがありますが、いずれにしてもよく待たされるのです。ほとんどのウェブアプリケーションはユーザが何かをクリックするたびに少なくとも4秒間はユーザを待たせます。多くのアプリケーションでは、ブロードバンド接続であったとしても、待ち時間がはるかに長くなることもあります。もしそのような遅延("latency")が日々のコミュニケーションにあったらどうなるか想像して下さい。リアルタイム・ストリーミング、高性能なクライアントサイド仮想マシン、ローカルキャッシング機能はRIAにとって不可欠なものです。これらの技術は遅延を減らし、反応を良くし、ソフトウェアをいっそう自然界に近いものに感じさせるからです。

自然なソフトウェアの体験

あらゆる種類のソフトウェアアプリケーションは、ERP業務アプリケーションからワープロまで、現在リッチ・インターネット・アプリケーションと呼ばれている性質を取り入れています。このような動きが起こっているのは、ユーザが自然界を体験するのと同じようにソフトウェアを体験したいと直感的に欲しているからなのです。


リッチ・インターネット・アプリケーションは増え続けています。ソフトウェアが昨日そうであったよりも、つながっていて、生き生きとしていて、インタラクティブで、反応が良いものになっているのです。10年程度で全てのソフトウェアは現在私たちがリッチ・インターネット・アプリケーションと呼んでいるものになるでしょう。しかし10年以内には、そういうもののことを単に「ソフトウェア」と呼ぶのが自然になるでしょう。