generated at
9. Wiki


身の回りのあたりまえのものは、実はすごい考察の結果のデザインかもしれない
そういうものを発見してレポートしてください



SFCのよろず情報

階層脳からの脱出
フォルダやファイル名で消耗してませんか?
分類に苦労してませんか?

階層脳とは
階層的に分類しようとする
正しい場所に整理しようとする
c.f. ときめき片づけ術

階層管理の問題点
名前を考えるのが大変
構造を考えるのが大変
分類に悩む
「こうもり問題」
A社B製品に関するクレーム情報はどこに置く?
整理状態をキープするのが大変

Wikiとは
サーバ上の文書をブラウザで編集できるシステム
Web上の情報共有に利用
Webページをユーザが自由に編集
他ページへのリンクを簡単に設置可能
簡易マークアップ

Wikiの例

Scrapbox
実用的なWiki
200万ページ以上 (2019)

Wikipedia
MediaWikiで作った百科事典

Wiki ≠ Wikipedia
WikipediaはMediaWikiで作った百科事典
Wikipediaのことをウィキと呼んではいけない
USB ≠ USBメモリ
ケータイ ≠ 携帯電話?

Wikiの利点
手軽な情報共有
手軽な情報編集
どこでも使える
HTMLを知らなくても良い

c.f. Web上にデータ保存
Dropbox
Evernote

c.f. Web上のメモ共有サービス
GoogleDocs
Googleに買われた後オープンソースに

ブラウザの編集機能
最初のブラウザは編集機能があった
Tim Berners-Leeのポリシー
Netscape Composerあたりまで

Netscape Composer

Tim Berners-Lee
Webを作った人
World Wide Webの基本技術の発明
HTTPの関連技術の開発


Wikiの歴史
1991 WWW誕生
1993 NCSA Mosaic登場
1995 c2.comでWiki Wiki Web公開

Wiki Wiki Web @ c2.com
Ward Cunninghamが作成
Perlで331行
文芸的プログラミング
「キャメルケース」
WikiName」のような記法
自動的にリンクになる

Wiki Wikiバス

Wiki Wikiバス

Ward Cunningham
Wiki, デザインパターン, Extreme Programming (XP)

Wiki Wiki Web

Wiki Wiki Web


西尾氏のScrapbox
Wikiに関する考察多い

すべてのWikiページは書きかけ
いつでも編集可能
編集が行なわれないページはサポートが無いソフトウェアのような印象


Wikipediaに代表される「Wiki」は、多くの人々に使われるソフトウェアに成長しました。
「XP(エクストリームプログラミング)」は、現在主流となりつつあるアジャイルな開発方法論です。
設計の定石集である「デザインパターン」は、今や開発者の必須知識となっています。
Wiki、XP、デザインパターン。一見、何の関係もなさそうに思えるこの3つは、実は同じ起源から発生した兄弟です。
しかもその起源は、ソフトウェア開発とは何の関係もない異分野の人である、建築家クリストファー・アレグザンダーの理論に端を発しています。
本書では、アレグザンダー(パターンランゲージの発明者)、ウォード・カニンガム(Wikiの発明者)、ケント・ベック(XPの提唱者)らが織りなす40年の歴史物語を辿りながら、優れた創造を行うための共通原則に迫ります。

著者コメント
私は6年前よりWikiの設計思想について調べてきました。
建築家クリストファー・アレグザンダーの思想にその答えがありました。
アレグザンダーとWikiを巡る歴史物語をまとめた本を書くことができました。
「デザインパターンのどこがいいのかわからん!」
「XPって本当に役に立つの?」
「Wikiに何を書けばいいんだろう...」
そう思っているあなたへおすすめします。

デザインパターン
ソフトウェア開発におけるデザインパターン(型紙(かたがみ)または設計パターン、英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。

江渡本目次
序章 パターン,Wiki,XPの起源へ
1章 クリストファー・アレグザンダーによる美の原理の追及
2章 アレグザンダーの6つの原理
3章 パターンランゲージ
4章 時を超えた建設の道
5章 パターンランゲージによる建築の実際
6章 アレグザンダーの現在
7章 オブジェクト指向
8章 ソフトウェア開発へのパターンの適用
9章 デザインパターン
10章 プロセスへのパターンの適用
11章 エクストリームプログラミング
12章 HyperCardによるパターンブラウザ
13章 WikiWikiWeb
14章 Wikiモードによるコミュニケーションパターン
15章 Wiki設計原則
16章 Wikiエンジン
17章 Wikipedia
18章 Wikiの現在
終章 時を超えた創造の原則
著者プロフィール

Wikiの問題点
編集モードの切換えが面倒
Wiki用のタグを覚えるのが面倒
古い記述と新しい記述の区別がつかない
ページタイトルを変えるのが難しい
リンクも全部変更の必要あり

Wikiの問題点
小さなデータを管理し辛い
大きなページになりがち
ページ構造やタイトルを最初から真面目に考える必要がある
後から変更するのが難しい
孤立ページができる可能性がある

Wikiタグ

Wikiの拡張
動的なページ生成
JavaScriptでページ生成
パラグラフ化
パラグラフ単位の編集を可能にする

Wikiの拡張
IF部品の利用
投稿フォーム
投票ボタン
PDAのWiki
e.g. PalmWiki
掲示板との融合

早い時期に結城浩氏作成
様々なシステムに真似られた
結城浩氏作成の簡易Wiki
Perlで100行
YukiWikiをPHPにしたもの
増井雄一郎氏開発

Wikiクローン
たけうちひとし氏
Ruby
関氏
Ruby

Wikiクローン
Wikipedia用に開発
海外でポピュラーなWiki
Python

Wikiサービス

7行Wiki


Wikiと掲示板の比較
Wiki = ストック型
いつでも参加できる
古いデータが消えてしまう
掲示板 = フロー型
データが消えずに時間順に並ぶ
古いデータの編集不可

Wiki掲示板システム
Wikiと掲示板を併用

Wiki型ページ

掲示板型ページ

メーリングリストとWiki
メーリングリスト = フロー情報
Wiki = ストック情報
併用するとうまくいく可能性あり

QuickML + Wiki
QuickMLとWikiを併用
ストック情報とフロー情報の両者を適宜利用

メーリングリストのWikiページ

qwikWeb
MLに流れたメールが自動的にWikiページになる

デモ: qwikWeb

qwikWebの問題点
メール記事を後で編集できてしまう
あらゆるメール記事が意図せずWebページになってしまう

Gyazz

Gyazz
Wikiの問題点を改善
編集モードが面倒臭い
セーブが面倒
逆リンクが無い
特殊なタグ記法
古い記述と新しい記述の区別がつかない

Gyazz
オートセーブ
簡単なタグ記法
アウトライン編集
あらゆるバージョン保存
日本語インクリメンタル検索
画像リンク表示
自動桁揃え
行/桁変換
画像なぞなぞ認証
アイコン表示
編集情報をチャットで通知


デモ: Gyazz

どこでも読める
どこでも書ける
リンク情報をたどるのが便利


文芸的プログラミングを実現

単語接続情報を定義
Slime: Android版IMEなどで利用


デモ: 推薦Wiki
ジャンルを問わず良いものを推薦
小さな集団で情報共有
とっておきの店/場所の公開を促進する

Wikiに書いたものをすぐにスライドショー可能



Scrapbox
Gyazzの新実装

ページ数の推移

Scrapboxの例

データベースとしての応用

写真管理システム

Scrapboxの特徴
WYSIWYG直接同時編集
自動セーブ
簡単で強力なタグ記法
タグとページタイトルの区別なし
逆リンク
アイコン記法
情報の古さの表示
プレゼンモード

c.f. 同時編集
Etherpad
GoogleDocs
Dropbox Paper

簡単なタグ
[...] で大体大丈夫
内部リンク
[増井俊之] => 増井俊之
外部リンク
[http://pitecan.com/ Pitecan] => Pitecan
[Pitecan http://pitecan.com/] => Pitecan
画像
[https://embed.gyazo.com/2ca52bb6470dc8833878b0e1d59e3cce.png]
順番を気にしない / 画像かどうかを気にしない

強力な編集/表示機能
Emacs的テキスト編集
アウトライン編集
画像/動画挿入
アイコン挿入

Wikiの問題点 (再掲)
編集モードの切換えが面倒
Wiki用のタグを覚えるのが面倒
古い記述と新しい記述の区別がつかない
ページタイトルを変えるのが難しい
リンクも全部変更の必要あり

Wikiの問題点 (再掲)
小さなデータを管理し辛い
大きなページになりがち
ページ構造やタイトルを最初から真面目に考える必要がある
後から変更するのが難しい
孤立ページができる可能性がある

階層脳からの脱出
フォルダやファイル名で消耗してませんか?
分類に苦労してませんか?
Scrapboxがあれば情報整理がかんたん

階層脳とは
階層的に分類しようとする脳

階層管理の問題点
名前を考えるのが大変
構造を考えるのが大変
分類に悩む
「こうもり問題」
A社のBという製品に関する問合せ書類はどこに置く?

Scrapboxによる解決
タグを書くだけで情報が勝手にクラスタリングされる
すべてがFlatになる

Wiki的システム
本棚.org
地図帳.org
ユーザ登録せずにページを編集

Web上で書籍情報共有

デモ: 本棚.org

位置情報共有
店、観光地、レストラン、...

Wiki的システムの問題点
荒らされやすい
2015/6 本棚.orgがボロボロにされた
直感的でない?

Wikipediaの編集履歴
「Abortion」の編集履歴

まとめ
Wikipedia以外にあまり使われていない
なにかと面倒なことが多い
Webサービスは若干利用されている
うまく実装すればかなり便利
e.g. Scrapbox
Scrapboxを使おう!