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公開
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を併用
ストック情報とフロー情報の両者を適宜利用
qwikWeb
MLに流れたメールが自動的にWikiページになる
qwikWebの問題点
メール記事を後で編集できてしまう
あらゆるメール記事が意図せずWebページになってしまう
Gyazz
Gyazz
Wikiの問題点を改善
編集モードが面倒臭い
セーブが面倒
逆リンクが無い
特殊なタグ記法
古い記述と新しい記述の区別がつかない
Gyazz
オートセーブ
簡単なタグ記法
アウトライン編集
あらゆるバージョン保存
日本語インクリメンタル検索
画像リンク表示
自動桁揃え
行/桁変換
画像なぞなぞ認証
アイコン表示
編集情報をチャットで通知
どこでも読める
どこでも書ける
リンク情報をたどるのが便利
文芸的プログラミングを実現
単語接続情報を定義
ジャンルを問わず良いものを推薦
小さな集団で情報共有
とっておきの店/場所の公開を促進する
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上で書籍情報共有
位置情報共有
店、観光地、レストラン、...
Wiki的システムの問題点
荒らされやすい
2015/6 本棚.orgがボロボロにされた
直感的でない?
Wikipediaの編集履歴
「Abortion」の編集履歴
まとめ
Wikipedia以外にあまり使われていない
なにかと面倒なことが多い
Webサービスは若干利用されている
うまく実装すればかなり便利
e.g. Scrapbox
Scrapboxを使おう!