WWWを表すモデル
2つの概念
World Wide Webというこの特異な仮想空間を適切に表現するモデルとして、全く異なる2通りのモデルが考えられるのではないかと思う。- 階層構造によるモデル。
- 全て一意の独立したリソースとしてのモデル。
ディレクトリ構造
まず階層構造によるモデルだが、これは人間にとっても非常に考えやすい概念である。一般的なファイルシステムにおいてディレクトリ構造が取られているように、まず大きな一つの“箱”があって、ジャンルを大分した一回り小さい箱が幾つか存在し、それを開く事を繰り返すうちに目的のリソースに辿り着くという考え方は確かに論理的で迷う事が無い。例え迷いこんだとしても、一つ上の階層に戻る事でその位置を把握することが出来るからだ。内容の似通ったリソースは必ず周囲に存在する。
ニューラルネットワーク
対する独立した一意なリソースとしてのモデルだが、これは頭脳におけるニューロンの構造、つまりニューラルネットワークを基盤とした概念とも言える。それぞれ点在するリソースは、ハイパーリンクという“線”によって結ばれている。関連深いリソース同士は太い線によって結ばれるが、殆ど出入りの無いリソースはやがて忘れ去られていく。一見すればジャンル毎にかたまっているようにも見えるが、基本的には複雑に入り組んだ蜘蛛の巣のような構造だ。どのリソースが上でどれが下という概念は全く無い。
検索エンジンにおける適用
YahooとGoogleという、有名な検索エンジンを例に取ってみよう。Yahooのディレクトリ検索は、文字通り階層構造を重視したシステムだ。ジャンル毎に大別されたアンカーが沢山あり、それをクリックしていく事で少しづつ目標に近づいていく。Yahooを離れて辿りつくのは、殆どがそのサイトのトップページであるということも興味深い。
対するGoogleのキーワード検索は、ニューラル構造(≒ハイパーリンク)をデータベース化し、最も繋がりの深いと思われるリソースに直接線を延ばす。そのリソースがサイトの何処に位置していようとお構い無しだ。極めて直接的にアクセスできるためにGoogleは好かれるし、また嫌われもする。
各サイトにおける適用
企業・個人を問わず、殆どのWebサイトは階層構造によって構築されている。つまりはトップページがあり、コンテンツ一覧があり、それ順にを辿っていく方式である。サイトの規模によって、2層構造とか3層構造のようにデザインする。パン屑ナビゲーションは、まさに階層構造の特長を最大限に生かした誘導方法だ。
オブジェクト指向
プログラミングの世界を一歩覗き見ると、右を向いても左を向いてもオブジェクト指向だ。既にスタンダードな概念として広く浸透しており、Goto文を利用した非構造的なプログラムはスパゲッティプログラムとして酷く詰られる。Webの世界でも Document Object Model(DOM) が普及しつつあり、これまでのHTMLの書式も次第に見直されつつある。Webサイトという一つの「オブジェクト」を階層的に配置するそのディレクトリ構造は、まさに現在もてはやされているオブジェクト・モデルなのではないか。
オブジェクト指向?
しかし、オブジェクト指向もどきをそのままWebに持ちこむのは非常に危険だ。何故ならば、それは直線的なリソースへのアクセスを大幅に制限するからだ。ある末端に位置するリソースへリンクを繋げたいと考えても、まずその親ノードから考えなくてはならない。その上のノードも経由する必要があるかもしれない。大別されるジャンルが異なるならば、最悪の場合ルートノードを介してアクセスしなければならない。ユーザに複雑な行程を踏ませなければならなくなる。つまりは「必ずトップページにリンクを張ってください」が現実のものとなり得るのだ。
Goto文が嫌われるように、無断リンク・直リンクもまた嫌われる。適切に階層構造を踏まないその道筋は、階層構造として不正だからだ。リンクは常に良心的な検索エンジンと親しい知り合いからのみされるべきであって、裏口からの出入りは不法侵入だ。
ニューラルな考え方
ハイパーリンクは元々リソースに対して直線的に関連付けるものである。故にWebは発展してきたのだ。一枚一枚ページをめくったり、膨大な蔵書の図書館から必要な資料を探し出す煩雑さを、ハイパーリンクは軽やかに解決して見せた。わざわざ複雑な手順を介する事無く、 ― 実に1クリックで ― 要求したリソースを拾い上げることが出来る。或いは一行プロンプトに簡単なキーワードを一つ入力してエンターキーを押すだけで、関連する情報がずらりと並べられる。
どちらがより良いのか
Webという単語を手元の辞書で引いてみると、「蜘蛛の巣」や「網状の物」といった訳語が出てくる。設計段階におけるWebは、確かにニューラルなものだった。そして今もそれが最適のはずである。全てのリソースは独立しており、直接的にアクセスされるべきであり、するべきなのだ。トップページへのリンクの強要は、Webの利点を大きく阻害するものに他ならない。
しかし、階層構造が全く駄目なわけではない。寧ろユーザビリティの見地から見るならば、積極的に推し進めるべきものでもある。ニューラルな構造は確かに便利だが、同時にたくさんの迷子を生み出すこともある。まるでそれは何重にも入り組んだ迷路のようだからだ。パン屑ナビゲーションによる道しるべは、適切な出口を見つけるための重要なヒントとなる。
トップページの位置付け
トップページという概念は極めて特殊なものである。オブジェクトモデルで考えるならばそれはルートノードだが、ニューラルな構造で捉えるならばただの他のリソースの情報を記した一断片に過ぎない。それがサイトマップとして機能するならばなお有益だが、Enterとしか書かれていなかったり、Flashを見せ付けられるだけならばただの屑だ。必要以上にデザインに凝ったり、重いものにすると限りなく利用価値が落ちる。OperaのホットリストやMozillaのサイドバーがもっと普及したら、もしかするとトップページのデザインはがらりと変わるのではないかと思う。簡潔なトップページはユーザのためのサイトマップとして再利用できるからだ。同ブラウザのこの機能は、フレームに替わるWebの希望の星とも言える。
トップページはサイトの顔としてではなく、使いやすい拠点(≒HomeBase)として機能させるのが最適だ。
2つのモデルが混在するWeb
Yahoo、Google双方ともキーワード検索・ディレクトリ検索を用意しているように、これからのWebは2つのモデルを上手に組み合わせたスタイルが一番良いのではないかと思う。それぞれの美味しい所だけを繋ぎ合わせて、他方の機能を阻害しないようにしなければならない。つまりは階層的にもアクセスできるし、一意にも辿りつける。具体的にWebデザインに適用するためには、例えば詳細なサイトマップを用意しつつ、全てのページに検索用のテキストボックスを忍ばせておくという方法がある。ユーザを迷子にならせないためには、階層的に現在地を表したパン屑ナビゲーションが最適だ。リンクに制限を付けたり、連絡を求めさせたりはしない。
自分のサイトという概念に囚われずに、積極的に関連するリソースにリンクを張っていくと良い。いわゆる「文中リンク」がハイパーリンクとして最も理想的なものだからだ。そこであたかも貴重なユーザを逃がしてしまったかのように思えるかもしれないけれども、有益なリンクを提供したサイトには、また戻ってきてくれる可能性が高い。積極的にリンクし、される事によってそれぞれのリソース間を結びつける“線”はより太くなり、複雑になる。結果として、その文書はより脚光を浴びるようになることも少なくない。
モデルを意識した改革
理想論ばかりを言っていても始まらないが、理想の無い計画もまた破綻する。まず手始めとして、トップページの扱いを改善してみようかと考えた。相変わらずトップページは“顔”にしかなっていない。寧ろ全てのページをトップページにするくらいの意気込みは必要かもしれない。勿論、コンテンツと関係の無いナビゲーションをべたべたと貼り付けるという意味ではなく、一意的にアクセスした時に違和感が無いように、という構想の中でだ。
具体的には、「
float
による段組は再利用性に欠けるのではないか」という疑問点からだろう。