■インデックス → Think difficult. → 名前のない… |
Ver.1: 2000.10.02 Ver.1.4: 2003.11.03 |
外崎さんとこがしばらくお休みなので、 その間にシコシコ更新して失いかけた(失い切った?)読者を取り戻そうと思っていたのだが、 こんなものを作らされたりしていてちょっと遅くなってしまった。 面目ない。
さてさて、今回はちょー真面目にインターフェースの話をするのである。 そしてそのテーマは、「名前」である。 ちょっと頭が痛くなる人もいるかもしれんが、がんばって読んで欲しいもんである。 なんでコンピュータを使ってると虚しくなるのか、多少はわかるかもしれない。
コンピュータを使っていると、とにかくいろいろな場面で名前をつけさせられる。 ファイルを保存する時にもそう。ネットワークにマシンを接続する時もそう。 OSによっては、まず自分につけられた名前を宣言しないと相手にもしてくれない。 メールアドレスだってウェブのURLだって名前の一種だ。
いま自分のいる部屋を見回してみて、自分が普段の生活の中で名前(それも固有名詞)で呼んでいるモノがいくつあるだろうか? 5個?10個? 100個? コンピュータの中に溜め込んでいる名前の数に比べて、部屋の中のモノの名前の数は桁違いに少ないはずだ。 しかも、部屋の中のモノにつけている名前はほとんどが一般名詞である。 テーブルとか、テレビとか、冷蔵庫とか、シャーペンとか。 コンピュータを愛称で呼んでいる人もいるかもしれんが(我輩はそんなことは決してしないが)、 そういうのを含めてもやっぱり現実にあるモノには細かい名前はつけていない。 たとえそれが複数存在していたとしても、だ。
コンピュータの中でJPEGファイルが複数存在していたら、それらにはそれぞれ違う名前をつけてやらないといけない。 なぜなら、そうしないとコンピュータが区別できないからである。 すべてJPEGファイルが"photo.jpg"という名前であることを許さないのである。 しかし実社会において、駐車場にとまっている乗用車を全て「車」だと理解したり、 机の上にある鉛筆を「鉛筆」と理解することには何の問題もないので、 鉛筆_01.pen、鉛筆_02.pen、鉛筆_03.penなどとチマチマ区別する必要なんぞないのである。
この違いは何か? どうして一方では名前をちゃんと重ならないように分ける必要があり、 一方では曖昧な名前、同じ名前が許されるのか? うーむ、6回目にしてようやくThink "DIFFICULT"というタイトルに値する内容になってきたようである。 さて、諸君はこの問いにどう答える?
コンピュータでは、名前は個々のオブジェクトを区別するために使われているが、 実社会においてはそんな厳密な名前付けが必要ないという理由は
2.の「個々を区別するために他の情報がある」というのは現実世界において非常に重要な役割を果たす。 例えば、部屋の中に3本のシャーペンがあるとする。 それぞれは色や大きさなどが同じ、要するに同じ製品を3つ購入しているものだとする。 それらを人間が区別するとき、何を情報として使っているか?
重さ? いちいち持ち上げてみるまでわからないし、そもそもシャーペン程度の重さでは人間には差が分からない。
臭い? 生ゴミといっしょに保存してあるならまだしも、犬以外には無理だ。
表面についた指紋? 我輩は犯罪者ではないんである。
というか、そもそも全部に我輩の指紋がついているから区別できん。
何のことはない。答えは「置いてある位置」である。 机の上にあるシャーペンと、電話の隣にメモ帳といっしょに置いてあるシャーペン、 そして机の後ろ側に落っこちて行方不明になっているシャーペン。 名前は「シャーペン」で同じだが、人間の脳は全て区別できている。 シャーペンという「名前」が重複していても何も矛盾が起きない。 「存在」は重複してないからである。 そしてその「存在」はどこにあるかで認識されてるのである。
「それだったらJPEGファイルだって、置いてある位置、つまりどのディレクトリに入ってるかで区別すれば現実世界と同じだ」 と思った人は、考える作業がまだまだ足りない。 そのディレクトリにも名前をつけないと使えないのだから。 結局、名前という解決手法から一切脱却できていない。 名前、言い換えると「キャラクタの羅列によってモノを区別する世界」から脱出するにはどうしたらいいか、 を今は考えているのだ。 ディレクトリ名やファイル名をずらずらと並べたパスという文字列でファイルが一意に特定できる仕組みはコンピュータ的には美しいが、 人間的には醜い。 これだから似たようなファイルがたくさんある時に、すごく虚しい気がしてくるのである。
UNIXでは基本的に、 オブジェクトに関して、名前(ファイル名)という属性を通してしかアクセスできない(あくまで基本的に、であるが)。 テキストファイルを開く、JPEGファイルを見る、MP3ファイルを鳴らす、 全て名前を見てやっている。 GNOMEとかのファイルマネージャを使っていても、結局は人間がファイル名を見て判断し、 それからアイコンをつかんで操作しているため、名前がなければやっぱり成り立たない。
名前、というかそれを記述するテキスト情報は有限個の文字を一列に並べて表現するため、 基本的に1次元である。 したがって、我々のまわりのモノが置かれている3次元空間に比べて、 次元を二つも落としてやる必要があるわけだ。 数学や物理をやっている人なら感覚的にわかるだろうが、 次元を一つ落とすとういうことは膨大な情報を捨てるということである。 3次元から1次元にすることで、ものすごくシンプル(=味気ないもの)にしているわけである。 あー、もったいない。
そもそも、文字の数を何の疑いもなく有限と思い込んでしまうあたりが、 米の国を中心とする「ぐろーばるすたんだあど」な野郎の修行の足りないところである。 お箸の国はそれでいろいろ苦労してるんだぞ、全くもう。 自分の名前が変な字にされてムカついたことのある人は少なくないはずだ。
では、どうしたらいいか?
現実世界により近いメタファを考えるなら、 やっぱり「位置」という情報をうまく使うのが重要だろう。 名前がピッタリ同じかどうかで区別する文字の世界では、 人間は非常に正確な記憶力を求められる。 しかし、「位置」にはピッタリ同じという他にも、 近い、遠い、遥か彼方、すぐ隣りなど、いくらでも途中の状態が有り得る。 1次元から3次元に増やすと、遥かに自由度が増すわけである。 さらに遠近の他に、より相対的な高い低いや厚い薄いの概念、 あるいは傾きや回転だって考えられる。 こういう情報を使わない手はないであろう。 傾きや回転(「姿勢」である)を表すのにさらに3つの次元が使えるから、 合計6次元まで使えるわけである。
ファイルの姿勢まで扱えれば、例えば
というわけで、ファイルに対しては名前以外の属性もいろいろ使ってあげて、 「モノ」としての輪郭をよりはっきりさせてやればいいのである。 上であげた以外にも、まだいろいろ考えられる。
できたての新しいファイルは明るくて暖かいとか、 大きいファイルはドラッグ&ドロップする時に重くなるとか、 何年も使わないファイルは錆び付いているので、 再び使うときには動きが鈍い(アクセススピードが落ちる)とか。 ゲーム用のジョイスティックでは一部で操作が重くなるような仕組みが作られてるので、 マウスにもそれを仕込めば「でかいファイルを操作するときは、本当にマウスも重くなる」という素晴らしい環境の出来上がりである。 こういうものを駆使すれば、コンピュータの中のモノに名前をつける必要はほとんどなくなるのではないか、 少なくとも今の100分の1くらいに減らせるのではないか、という気がしないだろうか?
名前のいらないコンピュータは、まだまだ先の話のようだ。
この「名前のない世界」に関しては、いつになく多くの感想メールを頂いたので、 ここにお礼を申し上げるとともに我輩の考えも合わせて紹介するのである。 頂いたご意見は大きく二つに分かれている。単純に言えば
「そんなの必要ない」「コンピュータと現実は違う」
「名前をつけてあれば、整理整頓がスクリプトで一発だ!」まったくおっしゃる通りである。 スクリプトでバシバシやることは、我輩も日常的に行なっているので、 その有り難みはよくわかっているつもりである。 我輩としてはあくまで、名前はあってもいいけどそれ以外の属性だって使えてもいいじゃないか、 という点を主張したいのである。 未来のシステムに移っても、 重さも臭いもあるファイルにチマチマ名前を書込んで管理する人がいたっていいのである。 そういうことを許容する懐の深さが未来のコンピュータには必要なのではないだろうか。 そういう意味では「名前のない世界」というよりは、 「名前だけに頼る必要のない世界」と書いた方がより正確だったかもしれない。
「面白そう」「VRっぽい」
「面白そう」、まさに我輩もそう思う。 少なくとも、名前だけで判断する必要がなくなった分、目に対する負荷は確実に下がるだろう。 似たようなファイル名から一つを選びだすのはものすごくたいへんな作業だぞ。 ファイル名が正確に分かっていれば検索が使えるが、わからんときは地道に目で探すしかない。 要するに、名前に頼った現状の最大の弊害は「目で探さないといけない」という点なのだ。
いわゆる「VR(Virtual Reality)に似てる」というのは、実はちょっと違う。 VR学会の秀逸なVRの定義にもあるように、 VRとは現実を模倣し、その本質を再現することを目標にしている。 しかし我輩が「名前のない世界」で提案したのは、 コンピュータの操作に「便利である限りは」現実世界に似た属性を取り入れろ、ということである。 つまり、より現実に近づくかどうかが尺度なのではなく、使ってみて便利なら現実を真似しとけ (=便利じゃない部分は無理に現実を真似しない)というスタンスなのだ。 このあたりは、もう少し時代が進んで多くの人が使える段階まで到達しないと優劣はつけられないだろう。
さらに別の人からは、「重くなるマウス」ではないが、
iFeelマウスというシロモノが発表されているとの情報を頂いた
(何でもiつければいいってもんでもないと思うが)。
月刊ASCIIの11月号の142-143ページにも載っているが、
特定の位置にマウスカーソルを置くと内部のモーターで「コツッ」と振動を起こし、手に感触を伝えるもののようである。
時代はこうやって少しずつだが確実に動いていくのだな。
ちなみにこのASCIIの11月号にはCrusoe特集もあるので、興味のある人はどうぞ。
PS.
いやあ、毎回これくらい賛否両論の感想がもらえると書き甲斐もあろうというものである。