ユビキタス羊[1] まえがき
2004.08.06
2000年に UIEvolution Inc. という会社を始めてから、色々な場面で「何でマイクロソフトをやめたのか」、「いったいどういう理由で UIEvolution という会社を始めたのか」、「UIEngine というテクノロジーの根底にある発想は何か」などの質問をされることがある。これまでは、その場その場で色々な答え方をしてきたが、そろそろ一度きちんとまとめて文章にしておくべきかもしれないと思い、少しづつ書きためて行くことにした。まずは、「まえがき」に相当する部分がこれである。ちなみに、この文章の仮題は、「ユビキタス・コンピューターは電気羊の夢を見るか?」という私の世代のSFファンにだけ分かる変な題名である。とりあえずは、「ユビキタス羊」シリーズとして、このブログで連載してみようと思う。
ここ数年の、携帯電話、カーナビ、デジカメ、携帯型音楽プレーヤーなどに代表される組み込み機器の技術革新、および、第3世代携帯網、無線LAN、光ファイバーなどの通信技術・ビジネス革新により、「いつでも、どこでも、どんな端末からでも、どんなネットワークを介してでも、さまざまなコンテンツやアプリケーションにアクセスする」ことが可能になるユビキタス時代は目の前に来ている。
唯一大きく遅れているのが、コンテンツやアプリケーションをさまざまな端末にシームレスにかつ安全に提供することを可能にするソフトウェア技術である。携帯電話向けのアプリケーションとデジタルテレビ向けのアプリケーションを別々に作らなければいけなかったり、パソコンのようにユーザーがウィルスの心配をしながらアプリケーションをダウンロードしなければいけないようでは、本当の意味でのユビキタス時代は実現できない。
その実現のためには、「共通のOSやVMを全ての機器に乗せ、全てのアプリケーションを端末側で走るようにする」という従来型の発想を捨てる必要がある。パソコン向けのOSと、冷蔵庫の液晶画面をコントロールするOSはおのずと異なったものになるのは当然である。Java の VM にしても、パソコン向けの J2SE と、携帯電話向けの J2ME は大きく異なったものとなるのは、当然のことである。
それに加え、「アプリケーションを端末側にインストールしたりダウンロードして走らせる」という発想も捨てる必要がある。「アプリケーションがインストールしてないために特定のコンテンツにアクセスできない」、「コンピューターのことが分からないユーザーがアプリケーションを手作業でインストールしなければいけない」、「あるアプリをインストールしたら他のアプリが動かなくなった」、「システムが時々フリーズしてしまう」、「アプリケーションをダウンロードするたびにウィルスのことを心配しなければならない」などの弊害は、全て従来型のパソコンのアーキテクチャーの根本的な欠陥がゆえの弊害であり、ユビキタスの時代にわざわざそんな「負の資産」を引き継ぐ必要は全くない。
ユビキタス時代のソフトウェア技術を考えるときには、以下のような発想の転換をするべきである。
(1)ネットワーク時代のアプリケーションは端末側とサーバー側にまたがって走るものであり、「端末側にインストールして走るものがアプリケーション」という発想は捨てるべきである。
(2)アプリケーションやコンテンツは、端末に属するものではなく、ユーザーに属するものである。端末は、単にサーバー側にあるアプリケーションやコンテンツにアクセス可能にするための「窓」である。
(3)ユーザーは「アプリケーションのインストール」という作業から開放されるべきである。さまざまなアプリケーションを走らせる作業は、テレビのチャンネルを変更するのと同じぐらいに簡単でなければならない。
(4)アプリケーションやコンテンツが、どんな端末からでもどんなネットワークを介してもアクセスが可能なのが、「あたりまえ」の時代が来るべきである。もちろん、デバイスやネットワークの性能に応じて、ユーザーインターフェイスが「最適化」されるべきだが、「このアプリケーションはパソコンでしか走らない」、「あのゲームはPS2でしか遊べない」という時代は終わるべきである。
つまり、これは「端末側にAPIを用意して、アプリケーションをインストールして走らせる」という従来型のアプリケーション・アーキテクチャーを否定する「脱OS宣言」である。マイクロソフトに長年勤め、Windows の開発の真っ只中にいた私が言うのも自己否定的な話だが、思い切って従来のアーキテクチャーを否定しない限り前には進めない時代が来ているのは明白である。じゃあ、「どんなアーキテクチャーが適しているのか」と言う疑問には、次の章から答えて行くつもりである。
Comments