界面駭客日記(14) - Wiki Wiki Webとその仲間
増井俊之
インターネット上で不特定多数の参加者と議論を行なうための仕組みとしては、
従来はネットニュースがよく使われていましたが、
現在はこれに変わって
メーリングリストやWeb掲示板が広く使われています。
ネットニュースもWeb掲示板も、
既存のメッセージリストに対して
新しくメッセージを追加していくという手法は
共通していますが、
近年、
共有されたWebページを参加者が直接編集して
情報を追加/編集していくことにより
協調作業を支援する
「Wiki Wiki Web」という新しいタイプのシステムが出現し、
徐々に人気が高まっています。
Wiki解説本 -
The Wiki Waye: Quick Collaboration on the Web.
Bo Leuf, Ward Cunningham.
http://www.amazon.co.jp/exec/obidos/ASIN/020171499X/
Wiki Wiki Webとは
Wiki Wiki Web (以降「Wiki」と略記)は、
オブジェクト指向分析やパターンランゲージなどの
コンサルティングを行なっている
Cunningham & Cunningham, Inc.
(http://www.c2.com/)
が開発した協調作業のためのツールで、
ひとことで言えば
「誰でも編集可能で簡単に相互リンクを貼ることができるような
Webページの集合をサポートするCGIスクリプト」ということになります。
Wikiはわずか300行のPerlスクリプトで実現された
小さなシステムですが、
以下のような強力な特徴を持っています。
- 「WikiName」で表現されるキーワードに対応したWebページの集合を扱う
「WikiWikiWeb」、「WikiName」のように
大文字と小文字が交互に混ざった単語がWikiNameと呼ばれ、
各WikiNameに対応したWebページ(Wikiページ)を作成することができます。
- Wikiページはブラウザを使って参加者が自由に編集/セーブできる
Wikiページの「編集」ボタンを押すことにより、誰でも
Wikiページを修正することができます。
テキスト中では、
下図に示したような簡単なマークアップタグを使用して
整形を指定することができます。
たとえば
「----
」と記述することにより
横線を表現することができます。
WikiName | 別ページへのリンク |
空行 | 改パラグラフ (<p>) |
---- | 横線 (<hr>) |
tab * | リスト項目レベル1 (<ul>, <li>) |
tab tab * | リスト項目レベル2 |
tab 1 | 数え上げ項目 (<ol>, <li>) |
tab : 説明 | 定義リスト項目 (<dt>, <dd>) |
行頭空白文字 | <pre> … </pre> |
tab 空白文字 : tab | 引用 |
''文字列'' | 斜体 |
'''文字列''' | 強調 |
URL | リンク |
Wiki Wiki Webのおもなテキスト整形規則
(http://c2.com/cgi/wiki?TextFormattingRules)
-
テキスト中に含まれるWikiNameは自動的にキーワードとして扱われ、
その名前をもつWikiページへのリンクとして扱われる
テキスト中のWikiNameは
それに対応するWikiページへのリンクとなります。
ページが存在しない場合は自動的に新しいページを生成する
ことができます。
たとえば、あるWikiページのテキストを編集して
「I created a NewPage.」
という文字列を入力すると、
「NewPage」がWikiNameなので新しいページの候補となり、
整形後のHTMLではリンクとして表示されます。
「NewPage」という名前のページが既に存在する場合は
普通のリンクとして表示されますが、
まだ存在しない場合は単語の右側に「?」が表示され、
新しいページを作成可能であることが示されます。
Wiki Wiki Webを使う
既存のWebページを誰でも編集して修正してしまえる点が
Wikiの最大の特徴です。
一般に、Webページは大事な情報源ですから、
気楽に修正するなどとんでもないと普通は考えるところですが、
Wikiのページは
参加者が自由に書き換えることにより
議論を進めるという考えにもとづいて作られているので
書き換えは全く自由です。
Wiki Wiki Web FAQの先頭部分
Wiki Wiki Web FAQの一番下の部分
上図はWiki Wiki WebのFAQページの先頭部分と一番下の部分です。
これだけだとごくシンプルなWebページに見えますが、
左下の「Edit」リンクをクリックすると
下図のようにページ内容編集画面があらわれて
内容の修正が可能になります。
Wiki Wiki Web FAQの編集画面
編集後「Save」ボタンを押せばFAQページが本当に書きかわってしまいます。
このように大事なページは
通常はページ管理者しか編集できないようにするものですが、
Wiki Wiki Webでは誰でも編集できるようになっているのが面白いところです。
強調フォントを指定するためのマークアップ「'''」及び
横線を指定するためのマークアップ「----」が使われているのが
わかります。
Wiki Wiki Webの利用法
Wiki Wiki Webでは、
誰でも自由にWebページを新しく作ったり編集したり
することができるので、
普通のWebページでできることは
ほとんどすべて実現できることになります。
このため
非常に幅広い用途に利用できる可能性があります。
意見交換のページに
自分の名前と意見を順番に書き加えていけば
掲示板のように使うことができますし、
アイデアを記述したページに対して
様々な意見を書き加えていくことにより
アイデアを洗練させていくこともできます。
Web上でブレーンストリーミングを行なうことも
できるでしょう。
10年ほど前は
計算機を利用したグループ作業の支援
(CSCW: Computer-Supported Collaborative Work)
を行なうシステムの研究が盛んでしたが、
インターネットのインフラのおかげで、
わずか300行のPerlプログラムでCSCW環境ができて
しまっている点に驚かされます。
Wiki Wiki Webの仲間たち
オリジナルのWikiは
英文字のWikiNameしか扱うことができないので、
Wiki拡張した各種のシステムが開発されて日本で使われています。
「Tiki」はtodo.orgで運用されているWikiクローンで、
PerlではなくRubyで記述されています
(http://todo.org/cgi-bin/jp/tiki.cgi)。
また、
Rubyのマニュアル記述フォーマット「RD」を採用した
RWiki (http://www.jin.gr.jp/~nahi/RWiki/)、
PerlやCGIなどの著作が多い結城浩さんの作った
YukiWiki
(http://www.hyuki.com/yukiwiki/yukiwiki.cgi)
など、各種のWikiクローンが作られており、
これらを採用した沢山のWikiページが各地で運用されています。
Wiki Wiki Webの将来
現在のインターネット上で掲示板は大きな意味を持っていますが、
World Wide Webが発明された時点においては
掲示板システムや
それのもたらす文化については誰も予想していなかっただろうと思います。
Wiki Wiki Webも掲示板のように
大ブレイクする可能性を秘めたシステムだと思います。
一方、
Wiki Wiki Webは発明されてからあまり時間がたっておらず、
まだよく知られていないうえに、
Wikiの枠組はあまりにも柔軟であり広い用途が考えられるため、
初めて使うユーザにとっては使い方がわからず途方に暮れることが
あるようですし、
他人のWebページを編集するという行為に対する抵抗感も普及を
さまたげているように思われます。
このためWiki Wiki Webは
インターネットのユーザに対してまだまだ大きなインパクトを
与えるに至ってはいませんが、
今後の普及と発展に注目していきたいと思います。
Toshiyuki Masui