Home > XUL Apps > Web Map > Background

Background of the Web Map Project 開発の経緯とかよもやま話とか

Abstract and Concept ソフトウェアの概要とコンセプト

これは、自分の辿ったWeb上での足どり(どのページを見て、リンクを辿ってどのページに移ったか)の情報を、自動的に記録し、二次元的に履歴化するソフトウェアです。(2004年11月9日の段階のスクリーンショット)

ダンジョンもののゲームで見られるオートマッピングのように自動的に地図状に記録していくということで、「Web Map」と名付けました。コンセプトは、「WWWの自分地図を作る」です。

開発の動機

1993年に発表されたMosaic以降、Hot Java、Netscape、Internet Explorer、いずれも「戻る」「進む」という形で履歴を一次元的に扱うインターフェースを踏襲してきました。Operaの「早送り」「巻き戻し」も、根本的にはこの一次元への呪縛からは逃れられていません。グラフィカルなWebブラウザのGUIはこの10年、本質的には進歩していないと言えるでしょう。(参考:もしNetscapeが勝っていたら……?(ITmedia News)、Browser Museum)

しかしながら、WWWは、リンクによって各々が二次元、三次元、あるいは四次元的に縦横無尽に連結された文書同士を辿っていくという、ハイパーテキストそのものです。利用者が形成するWWWそのもののメンタルモデルも、本来はそのような形になっているはずです。そのメンタルモデルと、前述の一次元的なユーザーインターフェースとの間には大きな隔たりがあると言わざるを得ません。

あるいは、現状が「戻る」「進む」という一次元のインターフェースであるため、初めてブラウザを利用するユーザは、WWWについて一次元的な誤ったメンタルモデルを形成してしまいかねません。その結果として、WWWならではの自由なブラウズに戸惑いを覚え、一次元的な使い方しかできなくなってしまうとしたら、webを活用できないという意味で、その人にとって大きな損失です。

ユーザーインターフェース設計においては、利用者に正しいメンタルモデルを形成してもらうこと、そして、そのメンタルモデルを形成しやすい形状を備えることが重要です。

しかるに、先進的なWWWブラウザのユーザーインターフェースも、一次元的なものではなく、二次元、三次元的なものであるべきなのではないでしょうか。

メタファを使うことによって、敢えて誤ったメンタルモデルを形成させ、それによって理解を助けるということにも、もちろん意義はあります。しかし、メタファと実際の構造との間に乖離が大きければ大きいほど、利用する上での可能性は狭まってしまいます。

Webを利用する上での可能性を最大化したい。Webを使うこと自体を、もっとワクワクするものにしたい。それが、Web Mapの開発の動機です。

何が新しいのか?

この手の「Web上での足どりを視覚化する」ソフトウェアの先例としては、Galactica Proxyなどがあります。

しかし、Galactica ProxyのようにHTTPプロキシとして動作するものだと、機能としては、足どりを記録・表示するのみにならざるを得ません。逆方向の利用、すなわち、履歴を元に「以前見たページを表示する」といった機能を実用的なレベルで実現するのは難しいです。そのようなニーズを満たすためには、やはり、Webブラウザのユーザーインターフェースとしてブラウザ内部に組み込む必要があるでしょう。

かといって、全く新しくWebブラウザを開発するのも大変なことです。コンポーネント化されたWebブラウザの機能(IEコンポーネント、MozillaのGRE、SafariなどのWebKit、ほか)を利用すれば、基本的な機能を持たせることは容易ですが、フル機能のWebブラウザと同等の機能を備えるためには、やはり多大な労力が必要です。一部分のインターフェースだけは面白くても、他の部分がおざなりでは、とても実用的なブラウザとは言えないでしょう。また、セキュリティ面にまで配慮しだすと、もはや個人レベルの手に負えるものではありません。

Web Mapは、XULアプリケーション、つまりMozillaおよびFirefox用の拡張機能として開発されています。この開発形態には、以下のような利点があります。

  • HTTPプロキシ型のソフトウェアとは異なり、Webブラウザと有機的に結合することで、「足どりビューワー」から「ユーザーインターフェース」へと昇華される。
  • 新規に開発したアプリケーションとは異なり、Mozilla/Firefoxの機能をそのまま利用できるため、安心かつ便利に利用できる。(例:ブラウザのタブインターフェースとの連携)
  • Mozilla/Firefox自体に拡張性があるため、他の拡張と連携することで、利用者自身が使い方の幅を広げられる。また、Web Map自体を拡張することもできる。

「プラグイン」のようにごく限られた範囲でのみブラウザと連携するのではない、「拡張」という独特の形態は、開発の手間の軽減のみならず、利用者にとっての利便にも繋がります。これは、非常に興味深いことだと思います。

「WWWの自分地図」の可能性

Web Mapで形成される履歴の姿は、誰が使っても同じになるということはなく、利用者のWebの利用の仕方が如実に反映されます。ブックマークしたサイトを見ることが多い人は孤立したノードが増えていくでしょうし、ポータルサイトをよく利用する人は、ポータルサイトの周辺にノードが増えていくことでしょう。

また、ノードの配置を自分で動かすことができるため、自分の見やすいように、あるいは思うように、地図を作り替えることができます。「ぼくの町」「わたしの町」の地図を作るような感覚で、自分の思い描くWebの姿をそのまま形にするツールとしても、Web Mapは利用できます。

  • 個々人の「Web観」を比較・分析する。
  • 直接の関連性を持たないサイト同士について、同じ話題を参照している様子を見ることで、サイト運営者の傾向を見いだす。
  • エンターテインメントとして楽しむ。

どうです、ワクワクしてきませんか?

Memo. 特記事項、今後の展望、その他の覚え書き

  • 同じドメインのページとそうでないページとでノード間の自動配置の距離を変えることで、自然とクラスタ化がなされてくる。ただし、現状ではドメイン名のみでの判断なので、コンテンツの内容に即したクラスタ化とは言えない。

    →将来的には(おそらく拡張の形で)、キーワードによるクラスタ化も行いたい。

  • 現状では、各ノードの視覚的な識別にはfaviconを使用しているが、これをスクリーンショットに置き換えたい(というか、元々はその構想だった)。XULアプリケーションという特殊な開発形態であり、また、自分自身がプログラミングについては明るくないため、スクリーンショットを取得する方法が分かっていない。

  • 現状では、「通った道(リンク)」のみを記録しており、先読みなどは行っていない。これは、処理が重くなるなどの問題があること、むやみやたらに先読みするのではなくメタデータなどを利用して効率的な先読みを行うためのノウハウが自分にはないことが、理由である。

    →拡張としてどなたか実装してくれませんかね?

  • 実装は、ユーザーインターフェースをXULとSVGで、制御をJavaScriptで、データの保持をRDFで行っている。メモリ管理などはMozillaのレンダリングエンジンとスクリプトエンジンに完全に丸投げしている状況。よって、メモリ消費量の制限や利用可能なノードの上限などは不明である。(ただし、相当なメモリ消費になることは想像に難くない)

References 関連リンク

参考文献

もしNetscapeが勝っていたら……?(ITmedia News)
2003年の記事。NetscapeとMicrosoftの「ブラウザ戦争」でNetscapeがもし勝っていたらどうなっていただろうか、という考えを述べた記事。Webブラウザのユーザーインターフェースについて、MicrosoftはNetscapeを追い落とすためにブラウザを進化させてきたが、Microsoftが完全に勝利したがために、現在では全く進歩しなくなってしまったと指摘している。
Browser Museum
Webブラウザの進歩の歴史をスクリーンショット付きで紹介している。
3次元サイトマップ(COULD内の構想記事)
あるWebサイトについて、現在閲覧しているページとサイト全体の構造とを行き来しながら、サイト内のブラウズを行うというアイディア。
SVG 1.1 勧告 日本語版
SVG 1.1 仕様書の広瀬行夫氏による邦訳。
Mozilla SVG プロジェクト
MozillaにおけるSVGの実装についての紹介。
計算式(TORAPE DirectX講座)
JavaScriptではなくDirectXでの話ですが、座標計算の基礎をすっかり忘れていた自分は、大変助かりました。

関連ソフトウェア

Galactica Proxy
HTTPプロキシとして動作し、Webブラウズ履歴を視覚化するソフトウェア。OpenGLによる3Dレンダリングで、まるで銀河系を旅するかのような美しい表示を行う。
iRider(えむもじら内の紹介記事)
履歴をサムネイル付きでツリー表示することのできるWebブラウザ。レンダリングエンジンにはInternet Explorerのものを採用している。
Clera(COULD内の紹介記事)
メインウィンドウの中の3D空間上に複数のブラウザウィンドウを配置・表示するWebブラウザ。複数のページを平行して閲覧するための「タブインターフェース」の発展系と言える。なお、レンダリングエンジンはInternet Explorerのものを採用している。
3Dウェブ検索 - gooラボ
Webページの画面を3D空間上に配置し、検索や閲覧を行うブラウザ。レンダリングエンジンにはInternet Explorerのものを採用している。
Welkin(The Web KANZAKI内の紹介記事)
RDF視覚化ツール。やってることはWeb Mapにかなり近いというか、これをWeb用に特化したのがWeb Mapみたいな感じですかね。データ形式がRDFだし。
RDF Gravity(The Web KANZAKI内の紹介記事)
RDF視覚化ツール。Welkinよりも高機能。
Last modified:2013/03/27 04:34:46