ユビキタス時代のユーザインタフェース

性能が良いマウスやディスプレイを持っているのに ウィンドウやメニューやスクロールバーの存在を知らず、 キーボードだけを使って四苦八苦しながら仕事をしている人を見れば、 「なんと勿体ない。グラフィカルユーザインタフェースを使えばもっと楽に仕事ができるのに」と 思わずにはいられないだろうが、 実世界で計算機が活用されていない現状はこれによく似ている。 高性能な計算機・インターネット・各種のセンサやアクチュエータがふんだんに存在するのに、 まったく効果的に活用されていないからである。
このような状況は新しいインタフェースの工夫によって劇的に改善される。 ユーザインタフェースの将来を 「ユビキタスコンピューティング」 「情報流」 というキーワードで考えてみたい。

ユーザインタフェースの変容

シリコンバレーの中心地Mountain Viewには 「Computer History Museum」という博物館があり、 ENIACをはじめとする歴史的計算機が数多く展示されている。 初期の計算機は巨大な制御パネルや複雑そうな装置の塊であり、 熟練者でなければ近寄り難い気配を醸し出している。 計算機のサイズは急激に小さくなっていったが、 つい最近までは、 計算機といえばもっぱら特殊な人間が特殊な場所で特殊な用途のために使うものであった。 大規模計算が必要な研究者が大型計算機センターに出入りして 特殊な数値計算を行なうといった使い方が典型例である。

パソコンが出現してからは 一般の人間が家庭でも様々な用途に計算機を使うようになり、 最近では 存在が意識されることなく計算機が利用される機会も非常に多くなっている。 近視の人間が眼鏡を利用するように、 高速に移動できない人間が自動車を使うように、 弱点の克服という目的で計算機が使われることも多くなってきている。 ひと昔前は 機械を扱うことを最も得意とする人間だけが計算機のユーザであったのに対し、 現在は 機械の操作を最も苦手とする人間が計算機の最大ターゲットになりつつあり、 計算機の進化が量的な変化から質的な変化に転換しつつある激動期だといえるだろう。

計算機の使われ方が質的に180度転換しつつある現在であるが、 計算機を利用するためのユーザインタフェース技術には質的な大きな変化は起こっていない。 計算機の大きさやディスプレイ装置は大きく変化したが、 創成期の計算機の入力装置と現在のパソコンの入力装置は機能的にそれほど違うわけではない。 真に質的な変化を実現させるためには、 現在一般的なキーボードやディスプレイを使う操作体系を一新する必要があるが、 そのようなトレンドが現在 「ユビキタスコンピューティング」という言葉で表現されている。

ユビキタスコンピューティング

Xerox PARCのMarc Weiserが提唱した[1] 「ユビキタスコンピューティング」という言葉は、 「いつでもどこでも計算機を使える環境」という意味で使われることが多いが、 MITの石井裕が指摘しているように[2]、 その本当の主旨は計算機が「環境にすっかり溶け込み消えてしまう」ことを目指したものであった。 使い方がよくわからない装置やセンサに埋もれて暮らすのがユビキタスコンピューティングではなく、 センサや計算機の存在を意識しなくても自然に計算機を利用できる環境こそが ユビキタスコンピューティング環境である。 Weiserはその後 このような技術を「Calm Technology」と呼び直したし、 こういった環境は 「アンビエント」 「Disappearing Computing」などと呼ばれることもある。 計算機を持ち歩いて使う「モバイルコンピューティング」や、 計算機を服のように身につけて使う「ウェアラブルコンピューティング」は、 真のユビキタスコンピューティングに到るまでの途中段階の一形態といえるだろう。

あらゆる人間が計算機ユーザとなることを考えると、 「いつでもどこでも」計算機が使えるだけでは不充分で、 「いつでもどこでも誰でも」使える計算機が必要になる。 装置や住居を「誰でも」苦労なく使えるようにする 「ユニバーサルデザイン」という考え方が近年注目されているが、 これはユビキタスコンピューティングの考え方と親和性が高い。 現状の「ウェアラブルコンピューティング」は 特殊な人が特殊な用途に使うような匂いがあるが、 ユビキタスコンピューティングの究極の姿は ユニバーサルデザインと同じ方向を向いており、 「いつでもどこでも誰でも」使える機器を目指しているといえるだろう。

キーボードやディスプレイ以外の装置を利用して、 実生活の中で計算機を使えるようにする手法は 「実世界指向インタフェース」と呼ばれていた。 現在の計算機インタフェースはキーボードやディスプレイを使う グラフィカルユーザインタフェース(GUI)が主流であるため、 これら以外の装置を使うインタフェースのことを このように称していたわけであるが、 今後「実世界」で計算機を使うことがあたりまえであることが認識されるにつれ、 このような言葉が使われる機会は減ってくるであろう。 自働ドアや照明スイッチのように、 すでに実世界で広く利用されている装置も存在するが、 ユビキタスコンピューティングで利用したい汎用計算機は まだそのレベルに達していないといえるだろう。

ユビキタスな情報流

ユビキタスコンピューティング環境ではどのような情報が流通するのだろうか。 現在の計算機で利用されているあらゆる情報がユビキタス環境でも利用されることは確かであるが、 特に重要な用途は何だろうか。

計算機は人間の様々な要求を満たすために利用されるが、 計算機ハードウェアやネットワークがいくら進化しても、 人間の欲求は急激に変化するとは思われない。 最近のインターネットの進歩によって、 テレビや映画を見たり/ レストランを捜したり/ その場所の地図を調べたり/ メールやチャットで友達と通信したり することが簡単になってきたが、 こういった情報のやりとりは、 計算機やネットワークが存在する前から人間がずっとやってきたこととほとんど変わっていない。 結局人間の要求というものは、 美味しいものを食べたい/ 友達と話をしたい/ 面白い話を見聞きしたい/といった単純なものが多く、 こういう要求は昔も将来もそう大きく変わることはないだろう。 このような人間の要求の大部分は 検索コミュニケーションだと考えられる。 実際、パソコンの現在の最も重要なアプリケーションは 検索とコミュニケーションであり、 将来もこれは変わらないであろう。

検索というと パソコンのファイル検索やGoogleのようなWeb上のサービスが頭に浮かぶが、 実際は計算機を利用する仕事の大部分は検索操作であるといえる。 たとえばメールを書くという作業は 検索と全く関係無いと思われるのが普通であるが、 作業を分けて考えてみると、 メールソフトを捜す/ メール作成ボタンを捜す/ 送り先アドレスを捜す/ 送るべきメッセージを捜す (入力する)/ 添付ファイルを捜す/ 送信ボタンを捜す/ といった検索作業の繰り返しであることがわかる。 文章を作成する作業は検索とは認識されないのが普通であるが、 かな漢字変換は単語の読みから漢字を検索することだと考えると、 文字入力もその大部分は検索作業だということになる。 そもそも計算機を操作するために用意されているGUI部品は 何かを検索するために使われているものばかりである。 メニューやアイコンはプログラムや機能を捜すものだし、 フォルダは階層的分類にもとづいて情報を捜すために利用されているし、 スクロールバーは画面に入りきらない情報から必要な部分を捜すものである。 また、実生活においても検索は重要である。 たとえば休日の行動について考えてみると、 良いレストランを捜す/ 良い音楽を捜す/ 面白い番組を捜す/ 面白い映画を捜す/ 面白いニュースを捜す/ 聞きたい音楽を捜す/ 面白い展覧会を捜す/ 掘り出し物を捜す... といった行為はすべて検索行為である。 計算機の作業も日常生活も 人間の生活の多くの部分は検索行為であるから、 ユビキタス環境でも検索行為がが非常に重要であることは間違いない。

携帯電話やパソコンのキラーアプリは常に メールやチャットのようなコミュニケーションシステムであった。 メール/掲示板/SNSのなどのシステムを利用したコミュニケーションは インターネットの利用の大きな部分を占めている。 また、電話や携帯電話によるコミュニケーションは 多くの人間の生活になくてはならないものになっているし、 どのような世界でどのような環境であったとしても、 人間生活では様々なコミュニケーション手段が非常に重要である。 どのような環境であってもこれは同様であり、 将来出現するであろう様々な機器もコミュニケーション用途に 積極的に活用されることは間違いない。 ユビキタスコンピューティング環境においては、 誰でもどこでもいつでも活用できる 新しいコミュニケーション手段の出現が期待される。

ユビキタスコンピューティング環境中で情報の流れを自由に制御することが可能になれば、 情報を検索して利用したり他人とコミュニケーションしたりすることが自由にできるようになる。 情報の取得/交換/発信のような情報の流れを自由に制御するための 装置や対話技術が 今後のインタフェース技術において最も重要な要素となるであろう。

ユビキタスなデバイス

計算機はもともとエンジニアによって開発されたものであるため、 初期のものでは熟練したエンジニアでなければ利用できないような入出力装置が使われていたが、 現在でも、キーボードやマウスのように操作に習熟が必要でかつ 使える環境が限られているような装置が広く利用されており、 本質的にはずっと同じような装置が使われてきたといえるだろう。

現在広く利用されている入力装置は利用条件が限定されており、 多様なユビキタス環境で利用することができない。 普通のキーボードやマウスは 濡れた手で扱うことができないので、 台所や風呂では使うことができないし、 歩いているときや電車に乗っているときも 利用することができないため、 「いつでもどこでも」とはほど遠い状況にあるといえるだろう。 これまでのインタフェース研究の多くは 机の上に置いて使うキーボードやマウスのような装置の利用が前提となっており、 ユビキタス環境で利用できる装置や操作手法の提案はまだまだ充分ではない。

一方、実世界で広く利用されている 自動ドアは、 ユビキタス環境におけるユーザの要求に答えるために センサを有効に利用したインタフェースの好例であろう。 「建物に入りたい」というユーザの要求をなんらかの方法で検知して ドアを開けたいわけだが、 「人が建物に入るときは建物に近付くものである」 という一般的事実を利用し、 人感センサの検出結果に応じてドアを開けるというマッピングが 行なわれている。 建物に入りたいとき建物に近付くという行為は一般的なものであり、 わざわざ考えたり記憶したりする手間がほとんど無いために、 自動ドアはユビキタス環境における透明なインタフェースとして 成功しているのだといえるだろう。

このような単純なシステムであっても、 センサの場所が少し変わるだけで使い勝手は大きく変化する。 下の写真は英国でみかけた自動ドアであるが、 ドアを開けるためにはドアの左側のボタンを押さなければならない。 ドアを開けるために離れた場所のボタンを押すという操作は 全く直観的でないため、 ほとんどの人がボタンに気付かず、ドアを開けるのに苦労していた。

ユビキタスに存在する照明機器のインタフェースは 自動ドアほど直観的にできていない。 照明装置のスイッチは部屋の入口にあることが多いため、 照明を調整したい場合は部屋の入口に移動してスイッチ操作をしなければならない。 入口が複数個ある場合は、どの入口にスイッチがあるのか考える必要もある。 自動ドアの場合と異なり、 部屋の明るさを変えるという目的と スイッチを操作するという操作の間の 直接的なマッピングが難しいことが問題になっている。 照明を調整するという目的との齟齬が小さいインタフェース手法がもしあれば、 スイッチ操作以外の方法で照明を調整することができるようになるだろう。 ユビキタス環境で何かを検索したりコミュニケーションを行なったりする場合でも、 自動ドアのように直観的なマッピングが存在しないかよく考えたうえで 操作手法を考えるべきであろう。

近年の計算機のGUIでは直接操作(Direct Manipulation)という概念が重視されている。 直接操作とはユーザの操作に対して連続的/可逆的に システムが反応するようなインタフェースのことである。 たとえばマウスのドラッグ操作でウィンドウやアイコンが移動するようなインタフェースでは、 マウスの操作に対して連続的かつ可逆的にシステムが反応するので、 操作によって何が起こるのかをユーザは判断しやすいし、 問題があった場合は操作を取り消すことも簡単にできる。 一方、マウスのクリックによりウィンドウを閉じるインタフェースでは、 途中で操作を取り消すことができないし、 マウスを開くためには別の操作が必要なので、 ユーザに不安感を与えたり操作を間違えたりしやすいという問題がある。

ユビキタス環境におけるインタフェースも極力 直接操作的な手法を採用するべきであろう。 可逆的な操作が可能という意味では自動ドアもスイッチも合格であるが、 照明スイッチは連続的な操作ができないことが普通なので、 連続的な操作に改良する余地があるといえるだろう。 直線操作などを利用した直観的なインタフェースのことを 筆者はなめらかなインタフェース[3]と呼んでいる。 なめらかなインタフェースを実現するためには、 ハードウェアとソフトウェアの両方の工夫が必要である。 GUIに関しては多くの研究が行なわれており、 多くのユーザに利用されていることから、 なめらかなインタフェースがかなりのレベルで実現されているといえるが、 ユビキタス環境においてはまだまだである。

ユビキタス環境においてなめらかなインタフェースを実現するための装置として、 筆者らはMouseField[4]という装置を提案している。 MouseFieldは RFIDリーダと動きセンサを組み合わせた装置で、 RFIDを内蔵したオブジェクトを MouseFieldの上に置いた後で動かすことにより、 何をどれだけ動かしたかをシステムに通知することができる装置である。 たとえばRFIDリーダを内蔵したCDジャケットを MouseField上に置くとその音楽が再生され、 回転させて音量を制御したり スライドさせて曲を選択したりできるようになっている。 MouseFieldを利用することにより、 ユビキタス環境における直接操作をある程度実現することができる。 たとえば防水型のMouseFieldを風呂場に設置すれば、 その上にCDを置くとその場所で曲を再生することができ、 回転したり動かしたりすることによって 音量や曲目を選択することができる。 音楽を表現する何か(この場合はCDジャケット)を特定の場所に置くことによって曲を再生するという操作は 自動ドアと同程度に直観的である。 CDジャケットの回転操作/スライド操作はそれほど直観的とはいえないが、 このような単純な装置であっても、 GUIでマウスを利用するのに近い操作性を風呂のような環境でも利用できることは大きな利点であるといえる。 MouseFieldのようなロバストなセンサをうまく利用することにより、 ユビキタス環境においてなめらかなインタフェースを実現できる可能性は大きいといえるだろう。

ユビキタス環境の情報源

現在のネット上の情報発信源は、 マスメディアの発信であっても個人のブログであっても、 人間が作成しているものが大多数である。 情報の発信は手間がかかるものであるから、 ユニバーサルに誰でもどこでも情報を発信できるようにするためには、 手軽に情報を発信/共有できる方法が重要であり、 このため twittertumblr のような手軽なシステムが最近は人気を呼んでいるようである。 筆者が運営している書籍情報共有サイト「本棚.org」では、 書評を書くことなく本を紹介できるようにすることによって、 真面目に書評を書く必要がある情報共有サイトよりも 情報発信の敷居を低くする工夫をしている。

人間以外の情報源も今後は広く使われるようになるであろう。 一見人間が発信しているように見えるが、 実は自動的に情報が発信されているシステムが増えてくる可能性もある。 世界中には沢山のセンサがあり、そのデータをもとにして 天気予報のような情報が配信されているが、 単純なセンサ情報は現在ネット上でほとんど共有されておらず、 ある程度蓄積されて情報処理されたものしか情報発信されていないのは勿体ないことである。 個々の温度計や雨量計のようなセンサ情報を直接知ることができれば、 それらをまとめたデータよりも役立つ場合もあると思われる。 たとえば、 あらゆる家庭の温度計にアクセスすることができれば、 その近辺の気温を知ることができるだけでなく、 火災や泥棒を検出することもできるだろう。 オフィスでは、利用者がいないとき照明が消えるというトイレがあるが、 トイレの利用状況を示すセンサ情報が公開されていれば トイレの混雑度を知ることができて便利かもしれない。 オフィスビルには沢山のセンサがついているにもかかわらず、 ほとんどがひとつの目的のみに利用されており、 使えるセンサは増えているのにほとんど活用されていない。 センサ情報はいくらあっても困ることはないので とりあえずは何でもセンサ情報公開して使えるようにすることにより、 新しい応用が発見される可能性があるだろう。

家庭内でも様々なセンサを利用することができる。 各所に圧力センサがあればリモコンとして利用することができるし、 留守のときは泥棒検出センサとして利用することもできる。 家族の帰宅状況や就寝状況を知ることもできるだろう。 何かを検出するために必要なセンサを配置するのではなく、 電源コンセントのように、 何に使うかわからなくても最初から各種のセンサを用意しておくようになるかもしれない。

一見つまらない情報でも集積されると有用になることがある。 あるWebページから別のWebページへのリンクが存在するかどうかは、 それだけでは重要な情報ではないが、 膨大なページに対してこの情報を蓄積すると ページの重要度や性質がはっきりするため、 Googleのような検索システムにとって大変重要な情報になっている。 一台の自動車の位置やワイパーの状態を調べてもあまり意味が無いが、 沢山の情報が集まれば渋滞状況や降雨状況がわかるようになる。 自分の行動を記録するために カメラなどのセンサを身につけてログをとり続ける ライフログが最近流行りつつあるが、 沢山の人間が自分の居場所や行動をある程度公開すれば 様々なことがわかるだろう。 様々なセンサ情報をなにげなく公開し共有して情報源として利用することにより、 ユビキタス環境のキラーアプリケーションが出現する可能性があるだろう。

情報の出力先

様々な情報源から集めた情報をもとにして新しい情報を生成した場合、 なんらかの形でそれを提示する表示システムやアクチュエータが 必要になる。 現在一般的な計算機では 液晶ディスプレイがほぼ唯一の情報提示装置として利用されているが、 ユビキタス環境の情報源が増えるのと同時に 情報出力先も様々なものが必要になるだろう。 たとえば 家庭には何台かテレビがあるのが普通なので、 これらを情報提示装置として利用すると便利だろう。 Apple Inc.は 最近AppleTVのような製品を使って パソコン上の写真や映画や音楽をテレビの上で表示できるようにしているし、 居間のテレビに様々な情報を提示しようとする様々な製品が販売されている。 家庭で利用されるディスプレイ装置は今後急速に増えてくる可能性もある。 風呂でもテレビや映画を見たい日本人は多いだろうし、 台所にディスプレイがあれば、 番組を見ながら作業をしたりレシピを検索したりするのに便利である。 家中に大きなディスプレイを置くことはできないかもしれないが、 小さな領域に沢山のものを表示するためのズーミング視覚化技術などを利用すれば、 家中のどこでも情報を簡単に検索しつつ表示できるようになるであろう。

ディスプレイ以外の装置も有用な場合がある。 たとえば電話や電子レンジは音で情報提示を行なうのが普通になっている。 部屋に入りたいという要求に対し、 開く自動ドアという形で承認情報が提示されているということもできる。 状況に応じ、 情報の流れや情報の提示手法を自由自在に選ぶことができるようになれば、 媒体の違いを意識せずにコミュニケーションができるようになるだろう。

流れの制御の部品化

パソコンの Webブラウザ/メールソフト/チャットソフトや Web上のSNSシステムのように 情報流を扱うシステムは現在数多く存在し、 情報検索やコミュニケーションのために広く利用されているが、 このようなシステムのほとんどは重厚長大に作られており、 きめ細かく情報流を制御することが難しい。 SNSとして始まったmixiは、 友達関係の登録という基本機能以外に日記支援/書籍推薦共有/写真やビデオの登録など、 様々な情報の流れをひとつのサービスでまとめて面倒を見ようとしているし、 写真管理システムとして始まったFlickrでは、 友達関係を登録可能にすることによって 友人間の情報流を扱えるようになっている。 また 最近のチャットソフトは各種の情報共有機能を取り込んで巨大化しているものが多い。 このように、 それぞれのサービスが自前であらゆるサービスを提供しようとしている現状では、 友達関係のデータはmixiに登録し/ 写真はおもにFlickrで管理する/ といった風に 複数のサービスを組みあわせた使い方をすることは簡単ではない。 現状では、様々なシステムを併用したい場合には 同じデータをあちこちに登録しなければならない。

あらゆる情報流をひとつのサービスで扱えると便利なこともあるが、 閉じたシステムやサービスビからはユビキタス/ユニバーサルな世界への道は開けてこないだろう。 理想的には、様々なサービスを組み合わせることによって高度なことを 実現できるようになっていてほしい。 例えば、 同じ趣味をもつ友達が今どこにいるか調べたいような場合、 友達リストを管理するSNSのようなシステムからデータを抽出して 地図サービスで居場所を視覚化するようなことができれば便利であろう。 しかし現状ではこういう組み合わせを簡単に実現することはできないので、 そのような機能を地図サービスやSNSが実装しなければならない。 もしそのような機能を実装するとサービスはますます重厚長大になってしまうだろう。

様々な情報源と情報出力先を部品化することによって、 簡単に情報流を制御することができる「Plagger」というシステムが 近年ハッカーの間で注目されている。 Plaggerを利用すると、 SNS, RSS, メールなど様々な既存の情報源/情報出力先を部品化して それぞれの接続を定義することにより、 様々な情報源と情報出力先を細かくユーザが設定することができる。 自分だけが使っているようセンサのような特殊な情報源であっても、 Plagger形式に標準化することによって、 簡単に他の情報とやりとりすることができる。 形式をあわせればどのような情報流でも扱うことができるため、 一時はネット掲示板などで 特殊な情報流の制御に関する質問が出たとき、 「それPla」(それはPlaggerを使えばできるよ) という回答が頻出していたほど人気があった。 Unixではテキスト形式のファイルを媒介データとして 各種のツールを複合的に接続して使うことができるが、 Plaggerはこれをさらに広い世界に拡張したものと考えられるかもしれない。 現状のPlaggerは設定が難しいため誰でも使える状態とはいえないが、 情報流の部品化の有用さを実証したシステムといえるだろう。 近年、 各種のSNSで共通に利用できる OpenSocialというAPIが提案されている。 SNSを含むあらゆる情報流の部品化が望まれる。

全世界プログラミング

情報を自由に発信したり、 情報流れを自由に制御したりするためには 情報流の接続を定義するだけではなく、 情報流を自由にプログラミングができる必要がある。 APIを提供しているWebサービスが増えているのは良い傾向で、 誰もが簡単に世界中の情報を入手したり 世界中の装置を制御したりする マッシュアップが簡単にできるようになってきた。 このような状況では、 世界中の誰もが世界中の装置を自由に操作することができる 全世界プログラミングが 可能になりつつある。

全世界プログラミング環境では全世界の人間が全世界の装置を制御することができる。 センサを多用したソフトウェアを作るという点では、 マイコンボードを利用したセンサプログラミングに似ているが、 センサの知識/ハードウェア工作技術/プログラミングテクニックなどが乏しい人間でも 簡単に全世界のセンサのプログラミングを行なえようになる点が重要である。 全世界プログラミングが一般化すれば、 趣味のプログラミングが再び流行するだけでなく、 生活環境も大きく変わる可能性がある。 例えば、 電灯や家電製品を操作したいときはスイッチやリモコンではなく適切なセンサを利用するのが普通になれば、 家の設計方法も変わってくるだろう。 状況に応じて留守宅の画像を中継したり録画したりするプログラムが簡単に利用できるようになれば、 防犯の方法は大きく変わるだろう。 全世界プログラミングの普及により、 時代遅れのビジネスが消滅したり、新しいビジネスのジャンルが出現する可能性もあるだろう。

全世界プログラミングの普及には時間がかかると考えられるが、 現在でもセンサを利用したプログラミングはある程度実用化されているので、 段階的にレベルを上げていくことが可能だと思われる。

既に実用になっているもの
ある条件が成立した場合に特定の処理を実行させるというような 簡単なプログラムは広く利用されている。 目覚まし時計の時刻設定は、ある時刻になったときにベルを鳴らすというプログラミングだと 考えることができるし、 ある水量になると水道を停止する風呂の自動給水システムも一種のプログラミングだといえるだろう。 ある日付のある時刻になると特定のチャンネルの番組を録画するという ビデオ予約システムもこのようなプログラミングの一種である。

各種のセンサの利用
時刻以外の様々な条件を利用すると、 目覚まし時計をセットするのと同じぐらい簡単に、 以下のような処理をプログラムすることができるようになるだろう。 センサを単純に利用した実世界プログラミングの例として 以下のような応用が考えられる。

遠隔地のセンサの利用
前の例ではセンサの位置とアクションが発生する位置は同じであったが、 インターネットを介して遠隔地のセンサにアクセスすることによって 以下のようなプログラミングが可能になる。

新しい応用
センサに何の関係もないアクションを関連づけることも可能である。 現在はこのような応用はほとんど存在しないが、 新しいエンターテインメントやアプリケーションが生まれる可能性がある。

このようなプログラムを作成する場合、 ディスプレイ上でのエディタでテキストを編集するよりも、 具体的な操作で条件とアクションを指定する方がわかりやすい。 たとえばアナログ型の目覚まし時計では 針の位置を動かしてアラーム時刻をセットするようになっているが、 針の位置で時刻を表現するという情報提示手法や、 針の位置が一致するという条件指定は人間にとってわかりやすいため、 アラーム時刻をセットするという実世界プログラミングを 誰でも行なうことができるのだといえるだろう。 一方、一昔前のビデオデッキでは数字で時刻やチャンネルを指定するのが普通であったが、 時刻やチャンネルを数字で指定することは抽象的でわかりにくいため、 一般にビデオ録画予約は難しいと思われがちであった。 普通のプログラミングにおいても、 変数に名前をつけたり 条件や繰り返し操作を指定するような抽象的処理は難しいが、 ユーザから見えるものを実際に操作してプログラムを作成する方が わかりやすいことが多い。 従来型の計算機においては、 変数などを利用した抽象的思考を行なうことなく 具体的な操作をもとにしてプログラミングを行なうことができるようにする方法として 例示プログラミングが提唱されており、 また 扱う対象をすべて視覚化することによりイメージをつかみやすくする ビジュアルプログラミングのようなシステムも研究されているが、 全世界プログラミングにおいても同様の手法の適用が有効と思われる。 特にユビキタス環境では プログラムが扱う対象が実世界に存在する具体的なものであることが多いので、 これらの手法を自然に利用することができるという利点がある。

テキストを利用する従来型のプログラミングでは、 あらゆる対象をテキストで扱わなければならないため、 「居間のテレビで映画を見る」ことを表現するには、

watch_movie('West Side Story','livingroom','TV1')
という具合に 「居間」「テレビ」「映画」などに名前をつけて扱う必要があるが、 自分の目の前にあるテレビにわざわざ名前をつけて表現するのは面倒かつ間違いを誘発しやすい。 「TV1」のような名前のかわりに、 テレビそのものもしくは その写真のような代理物を使うことができれば、 はるかに直観的にプログラミングを行なうことができるはずである。 抽象的理解が必要なテキストをなるべく使わず、 なるべく実物を利用してプログラミングを行なう 実世界指向プログラミング の手法を開発するべきであろう。

インターネットの普及、センサの一般化、計算機のユビキタス化により、 世界中の情報を誰もが好きなように加工して利用できるようになった。 人間の歴史において、このようなことが可能になったのは初めてのことであり、 将来の展開が期待される。

ユビキタスインタフェースの展望

ユビキタス環境におけるインタフェースが これからの計算機利用の主流になることは間違いない。 自動車の運転に丸いハンドルが使われているように/ QWERTY配列のキーボードが文字入力の標準として利用されているように/ マウスがグラフィカルユーザインタフェースの標準として利用されているように/ なんらかの装置や操作手法が ユビキタス環境におけるデファクトスタンダードとなるはずである。 それがどのようなものであれ、 一度世の中に浸透してしまったものは簡単に変えることはできない。 車のハンドルの形を変えることもキーボードの配列を変えることも難しい。 ユビキタス環境のインタフェースとして適切ではないものが デファクトスタンダードとなって浸透してしまう可能性も大きいだろう。 ユビキタス環境のインタフェース手法は、 電気のスイッチやキーボードのように、今後何十年も使い続けられる可能性があり、 そのようなインタフェースを考えるということは大変刺激的なことであり、 その責任は重大だといえるだろう。 叡智を結集して準備しておく必要がありそうである。

誰でもどこでもいつでも情報を扱うようになると、 これまで述べた以外の新たな問題も発生するであろう。 ここではユビキタス環境における個人認証の問題及び、 ユビキタスな情報流の利用による予想外の事態について考えてみたい。

ユビキタス環境における個人認証

誰でも使える計算機がどこにでも存在するようになった場合、 どこでも利用できる便利な個人認証手段が必要になる。 従来の計算機はキーボードの利用が一般的だったので 文字ベースのパスワードが使われていたが、 パスワードは覚えにくく忘れやすい一方、 盗まれたり破られたりしやすいという問題があるし、 キーボードが使える環境でないと不便だという問題もあるため、 ユビキタス環境における認証方式としては問題がある。 パスワードにかわる認証手法として指紋や虹彩を利用する 生体認証も普及しつつあるが、 目や指を取り替えることはできないので、 一度情報を盗まれたら、二度と利用することができないという問題がある。 現在の技術を用いる限り、 盗んだり読み出したりすることが不可能な個人情報は脳内情報に限られている。 また、 自分は忘れないが他人には推測不可能な脳内情報としては 個人的なエピソード記憶を利用するのが最も効果的と考えられる。 筆者は、 個人的なエピソード記憶に関連する画像を認証に利用する 「画像なぞなぞ認証」という認証システムを提案している。 下図は、画像なぞなぞ認証を利用して mixiにログインしようとしているところである。 それぞれの画像に対して複数の回答が用意されており、 すべてに対して正答を選択したときだけ 正しいパスワードが生成されてログイン可能になる。

自分は絶対忘れないが他人にはわかりにくい画像と問題を選ぶことにより、 安全かつ使いやすい認証を行なうことができる。 個人的な体験にもとづく写真を利用する場合、自分が答を忘れる可能性は低いし、 他人には答はわからない。 自分の家族や友人だけが知っている写真を利用すれば グループ認証に利用することもできるし、認証の強度は自由に設定できる。 またキーボードを利用する必要がないので ユビキタス環境において認証操作をやりやすいという利点もある。

予想外の自体の発生に対する準備

場所や時間の制約を越えたコミュニケーションが可能になったのは喜ぶべきことなのだが、 遠い場所に住んでいる人間と簡単に意気投合したり喧嘩したりできるようになったため、 近傍の人間との関係だけに気をつけて進化してきた人類にとっては想定外の 問題が多数観測されるようになっている。 地理的/時間的制約が無い状態で情報流を自由に制御できるようになったことに起因する 不慮の事態の発生に注意する必要があるだろう。

たとえば、誰もがネットワークを利用することにより、 意見の一極集中が発生しがちであることが懸念されている[5]。 ネット上に様々な意見があるのは確かなのだが、 どのような意見でも同じように簡単に読むことができるし、 逆に自分が嫌いな意見は全く見ないようにすることも簡単である。 また、ネット上の掲示板などでは 声が大きな人物の意見はよく目にするけれども、 意見を書き込まない大多数の人間の意見についてはわからないことが多い。 このような状態がずっと続くと、 人間は自分の好みに近い意見をもつ集団の中における 極端な意見ばかり目にすることになり、 それが一般的意見なのだと勘違いしてしまう危険が高い。

単純な計算を繰り返すだけでもカオティックな結果が発生することがあることは よく知られているが、 単純な仕組みに見える規則やプロトコルからでも 予想外の影響が出る可能性はあるだろう。 全く新しい形で情報が流れるようになる場合、 その挙動についてはよく注意しておく必要があるだろう。

おわりに

計算機の歴史を眺めてみると、 インタフェースが簡単になるに従って、 計算機の可能性が広がっていることが実感される。 計算機が完全に視界から消滅していくにつれ、 計算機が真に万人のものとなり、 どこでもいつでも誰にでも利用されるようになるになるであろう。 このような明るいユビキタスコンピューティングの将来に向けた 研究開発の進展に期待したい。

参考文献

  1. Mark Weiser. Some Computer Science Issues in Ubiquitous Computing. Communications of the ACM, Vol. 36, No. 7, pp. 75-84, July, 1993.
  2. 石井裕. ユビキタスの混迷の未来. ヒューマンインタフェース学会誌, Vol.4, No.3, pp.129-130, 2002.
  3. 増井俊之, 水口充, George Borden, 柏木宏一. なめらかなユーザインタフェース. 情報処理学会 第37回冬のプログラミングシンポジウム予稿集, pp. 13-23. January 1996.
  4. Toshiyuki Masui, Koji Tsukada, Itiro Siio. MouseField: A Simple and Versatile Input Device for Ubiquitous Computing. Proceedings of UbiComp2004, pp.319-328, September 2004.
  5. 森健. グーグル・アマゾン化する社会. 光文社, 2007.