キーパーソンに訊く,ITの今

「言葉本来の力を活かしたインターフェースを作りたかった」─Ubiquity開発者Aza Raskin氏インタビュー

この記事を読むのに必要な時間:およそ 4 分

―― UbiquityとUNIXなどのCUIとの違いを教えてください。

Ubiquityの発表当初は,FirefoxをCUIで操作できるようにする拡張機能で,UNIXのCUIに似た印象を持つ方も多かったと思います。そこで,Ubiquityと一般的なCUIとの違いを聞いてみました。

Raskin:

UNIXなどのCUIは,30~40年前にデザインされたものです。ユーザはコマンドをオプションの意味まで覚えなければならず,また実行してみるまでコマンドの用法が正しいかを知ることができません。

Ubiquityは,入力中に絶えずフィードバックがあります。コマンドは途中まで打てば補完されますし,結果のプレビューも表示されます。ユーザは自分の操作が正しいのかを実行前に把握することができるのです。人間を相手に会話をしているときのように,会話の先を予想して,⁠ユーザの手を引っ張ってあげる」のが,Ubiquityというインターフェースの特徴です。

また,このようなインターフェースは,目が見えない人や年をとった人にも使いやすいと感じるものであることがわかっています。

―― Ubiquityコマンドはプログラマにとっては比較的容易に記述できるかもしれませんが,ふだんプログラミングを行わない人には敷居が高いのではないかと思います。プログラマではない方でも,自分でタスクを自動化できるようする方法はあるのでしょうか。

Raskin:

私もそのことについては考えています。1つは,IBMが開発している「CoScripter」という拡張機能のような方法があります。ユーザの操作を覚えておいてくれて,それを実行する方法です。

さらに,ブラウザは履歴などのデータにより,ユーザがどのような行動をしたかを知ることができます。したがって,そこからユーザがよく行う処理を類推し,提示することができるのではないかと考えています。

現時点では,まずはコマンドを書きやすく,共有しやすく,探しやすくすることを考えています。自分でコマンドを書けなくても,だれか他の人が書いているかもしれない。そのような人たちを紐づけるしくみです。

ユーザの行動から,それに関連するコマンドを提示したり,そのほか友人が使っているお勧めのコマンドを紹介してくれるようなサービスも検討中です。

―― 現在Ubiquityコマンドは英語をベースにしていますが,他の言語でコンピュータを操作することは可能になるのでしょうか。

Raskin:

ローカライゼーションは難しい問題です。ただ,Mozillaのコミュニティではぜひやりたいと申し出てくれている人が各国にいます。日本語などかな漢字変換のような処理が必要な言語でも,うまくコマンドを入力することもできるようになりそうです。

ローカライズをうまく行うためには,言語を意識せずに利用できるものにする方法があります。そうすれば,どんな言語へも対応しやすくなるのです。コマンド入力以外のインターフェースの可能性もありますね。

もう1つ,データの力を有効利用する方法もあります。たとえば「Google翻訳」は,膨大なデータを持っているからこそ多くの言語への翻訳が実現できます。Alan Kayも「データはアルゴリズムの10倍の力を持つ」と言っていますが,Ubiquityでもデータを有効に利用すれば,たくさんの言語でコマンドを入力できるようになるかもしれません。

たとえば,ユーザが何をしたいときにどのようなコマンドを入力しようとするかというデータがあれば,それに基づいて適切な処理を実行させることもできるでしょう。

―― Firefox Add-onsのような場所にUbiquityコマンドを集約して配布し,自動更新するようなしくみは用意されるのでしょうか。

Raskin:

はい。すでに用意しています。おそらく⁠Ubiquity Library⁠という名前になると思いますが,そこではユーザによって公開されたUbiquityコマンドをMozillaが再配布するようなしくみを考えています。 そこではバージョンチェックが行われ,アップデートがあったときには,通知/自動更新などユーザが自ら選択できるようになります。

また,⁠Ubiquity Library⁠では,どのくらいの人がそのUbiquityコマンドを使っているのか,どのくらい人気が伸びているのかなどもわかるようにします。

そして,先ほどの話とも関連しますが,ユーザがよく行くサイトなどのブラウジングパターンを履歴から解析し,それに合ったUbiquityコマンドを紹介するようなしくみも考えています。

“Ubiquity Library⁠はもう間もなく公開予定です。最初は今挙げた機能すべては搭載されていないと思いますが,今後継続的に機能を追加していく予定です。