これは圏です(はてな使ったら負けだとおもっていた)

きっと何者にもなれないつぎの読者につづく。

Web^{0}のすゝめ

例えばJavaScript掲示

JavaScript掲示板を書く場合、一体どういう実装になるのだろう。

筆者の知る限りでは*1、JSでファイルを外部に書き出す方法はない*2。ならば、どのように掲示板のデータを保存すればいいのだろうか。

答えは意外と簡単である。賢明なる読者諸氏の中には気付かれた御仁もあるかも知れない。そう、Cookieを使うのである。

Cookieは、ブラウザ側に何らかの情報を残しておくための機構である。例えば、ショッピングサイトのログイン情報をを保持することなどに使われる。
それを、掲示板のデータを保存するのに使うのだ。

確かに、奇妙な方法でもあるし、Cookieをそんな用途に使うのは誤りのような気もする。
Cookieを空にしてしまえば情報は消えてしまうし、そして何より、JSやCookieに非対応のブラウザでは―今時その様なブラウザはないかも知れないが―全く使い物にならない。

それに、Cookieのみを使うのであれば、当然他の人の書き込みを見ることも出来ない。これでは最早掲示板とは云えないのかも知れない。

統合型ブラウザの台頭

閑話休題

近年、Firefoxの人気は凄まじい物がある。
Firefoxといえば、MozillaFoundationが発表したオープンソースウェブブラウザである。操作性や拡張性の高さなどがウケ、今世界中で急速にユーザーを増やしつつあることはご承知の通りである。

その「拡張性」について考えてみよう。
FirefoxXULと呼ばれる言語で記述されたプラグインを使って、様々な機能を追加することが出来る。つまり、プラグインを追加していくことによって、ウェブブラウジングとは別の機能をその内部に内包できるのである。
これは見方を変えれば、Firefoxは統合型のインターネットツールである、と言う風に言い換えることが出来る。

統合型のブラウザを使っている内に、そのブラウザでメモを取ったり自分の予定を管理したりと云ったことをしたくなる人は当然出てくる筈である。
そこで、プラグインを新たに作って追加しても良いかもしれないが、それでは決められたフォーマットでしか書けないし(その方が良いという御仁もいるかも知れないが)、何よりプラグインが増えればブラウザ自体の動作も重くなる。

そこで、先に触れたJS掲示板の登場である。
複数で使用する”掲示板”という視点で見たとき、確かにJS掲示板は使えないかも知れない。だがしかし、メモや予定管理と言った点において、個人利用する分には自分一人だけしか見れないという方が、返って目的に合っている。
それに、クッキーを空にしてしまえばそこに書いた情報を一遍に消すことも出来てしまう。

更に、この掲示板が素晴らしいのは、、JSとCookieに対応してさえいれば、ブラウザの別を気にすることなく、誰でもこのサービスを受けることが出来、自分のPCに落としてもそのままで動くと云うことだ。

また、データの所在をサーバ側でなくローカルにすることによって、例えばそのデータに何らかの障害が発生した場合、サーバーで管理していれば複数の人に被害が拡がるおそれがあるが、ローカルで管理していれば、最小限に食い止めることが出来るのである。

Web^{0} = 1

このプログラムは、Cookieの内容を表示/編集するだかのだから、他のプログラムとつなぐ必要はない。こちゃこちゃこちゃっと書いて、それをすぐに内容に反映できるのだ。リロードする必要は全くない。

このような特徴は何処かで聞いたことはないだろうか。そう、今巷で話題になっている、Ajaxを筆頭としたWeb2.0の技術だ。Ajaxの「非同期通信でリロード不要」等と云ったうたい文句とよく似ているのである。

この例からも分かるとおり、JS掲示板のシステムの着想、紛れもなくWeb2.0から影響を受けたものである。
しかし、ページの読み込み以外、サーバとの通信を一切行わない点や、ローカルに落としてきても普通に動くという点に於いて、全く趣の違うものである。

Web2.0で見直された技術を使いつつも、インターネットを必要としないツールなのである。唯そこにウェブブラウザが有ればいいだけなのだ。

このような、Web1.0以前ともいえるようなツールを、Web^{0}と名付けたい。
この名前には、「最早Webではないが、Web2.0等に強い影響を受けた技術」という意味が込められている。

どんな数でも0乗すれば1になる*3。つまり、Web^0 = 1というわけだ。

コンピュータ単体を1としてみたとき、その1が組み合わさって出来た物が、Webである。そう言った意味で、Webの先進的な技術をその構成因子であるコンピュータ単体に還元する。そんなちょっと素敵な意味も込められた名前なのだ。

今後も、このような"古くて新しい"技術を使った、"新しくて古い"、素晴らしいツールが続々と飛び出してくることを願ってやまない

*1:筆者はJSに関してドシロウトである

*2:と調べもせずに云ってみる

*3:0^0については意見が分かれるところである