マシンのパワーとポテンシャルを引き出すためにUIの簡素化を

日頃から腹に据えかねることがある。せっかくのいいマシンを持っていても、そのパワーをまったく生かせていないユーザーに遭遇すると頭痛がする。「交通渋滞の原因になるからそこをどけ!」とノロノロ走るドライバーに対して言いたくなる感覚に、それは酷似している。ガッカリしたり腹が立ったりするのである。

友人に言わせれば、「君、そんなことは大きなお節介というものであって、マシンのパワーの1パーセントしか生かせなくても当人が満足しているならそれでいいんだよ」ということになる。

たしかに、自己満足の世界ではそうなのだが、「その程度のマシンなんだ」という認識で得意満面に話をされることに閉口する。無邪気なだけにタチが悪い。

車であれば、ハンドルとブレーキ、アクセル、クラッチ、ギアレバーを操作できれば、基本的な操作は行える。発進、加速、停止、方向転換。アクセルをベタ踏みすれば何も考えずに最高速度まで加速できるだろう。

いまのコンピュータは、多くのユーザーにとって「ペダル」や「つまみ」などにあたる部分が多すぎるのだろうと自分は考えている。

自由度がありすぎて、逆に全体像がつかみにくくなっているのだろう。

コンピュータは、「何にでもなれる存在」だが、「足が100本で手が50本の動物。必要に応じて胴まわりが30cmから3kmまで伸縮する」と言われているのと同じで、人は自分がコミュニケーションしようとしている相手を理解できず、どのようにコミュニケーションしてよいか分らなくなってしまうのだろう。

具体的なことをいえば、どの階層のどの部分にどの機能があるか、ということが必然的ではなく、学習と経験によって慣れていくしかないのが現状だ。

ではどうするか?

現在のGUIの上にラッピングレイヤーを1階層増やすことを考えている。ユーザーには直接GUIは触らせないということでしか、GUIの煩雑さを解消できないのではないか? ただ、既存のGUIベースのアプリケーションについてはそのまま使えなくては意味がない。GUIベースの資源を生かしつつも、人からは直接触れないようにする。

そのかわり、ラッピングレイヤーでは自然言語による命令を受け付ける。「来週の水曜日の予定を表示」「田中さんの実家の電話番号は?」「来月の第3日曜日の予定をキャンセル」といったものだ。

「どのアプリケーション」の「どのドキュメント」といった管理は隠蔽して、ユーザーからは「○○をしてほしい」という要求のみ伝えるようにする。ラッピングレイヤーでは、この命令を解釈して、GUIベースのアプリケーションをコントロールする。

自然言語の解釈によるアプリケーションコントロールというと、各社が家庭用ロボットなどに搭載している機能のように見えるが、Webベースのアプリケーションやメールへのアクセスが関の山で、実際に日常的に利用しているアプリケーションをコントロールできるわけではない。

自然言語によってユーザーからの命令を受け付けて、それを解釈し、デスクトップアプリケーションをコントロールする。それが研究開発中のMac OS X用人工知能インタフェース「Newt On」だ。

人工知能と銘打ってはいるものの、人並の知能を実現しようとしているものではない。チューリングテストをパスするようなものでもない。人の作業が円滑かつ最小限の労力で行えるようにする「ちょっとだけ賢い(ような気がする)道具」という位置づけだ。

スタートレックや古典的なSFの世界で描かれていた、人の言葉で操作するコンピュータ、というレトロSF風味の人工知能的な存在を実現してみたいと思った。しかも、気がつけば現時点のコンピュータで十分に実現可能であり、サンプルを作ってみたら良好に動作したため、いろいろと開発を進めている。

2足歩行ロボットに限らず、人型の「ロボット」という代物は、メーカーや技術者が自分の好きなようにコンピュータを作るための「方便」なのではないかと思っている。結局、2足歩行はいらない。移動しなくてもいい。外出するときには携帯端末のアシスタント機能を使う……というところに落ち着くだろう。

コンピュータがユーザーを教育して、徐々に使いこなせるようにする、というところまで行けたら素敵だ。知らないことややりたいことはコンピュータと相談してくれ、という感じだ。

Copyright By Piyomaru Software. All Rights Reserved