Login
Immutable PageDiscussionInfoAttachments
chmod/diary/2011-02-07

MMA

wiki のデザイン

また今日も若干の変更を加えた.

また,検討中の変更が以下である.

検索ボックス

今までは適当に似たような html を生成していたのだが,ほぼデフォルトと同じ仕様にした.これにより,i18nに正しく対応した. 違う点は、

   1 <input id="fullsearch" name="fullsearch" type="submit"
   2         value="テキスト" alt="Search Full Text"> 
   3 <input id="titlesearch" name="titlesearch" type="submit"
   4         value="タイトル" alt="Search Titles">

全文検索のほうが先にきている.これにより,エンターを押したときには全文検索が実行される.

ページパネルの削除

ページパネルとは,上部の編集ボタンなどのことである.

検索ボックスの設計思想

ところで検索ボックスのデザインも,強く思想に基づいてデザインされている.

Google Chrome は,ブラウザとして検索ボックスとアドレスバーを統合した.
確かにこれはよいアプローチであると思う.すなわち本質的に,どちらも必要な情報をあたえ,そしてリソースにたどり着いているだけである.
ただ検索の方には,ぶれを修正するステップが挟まれているだけである.

ぶれを修正するというのは,ようは足りないエントロピーを補うということである.つまり,検索のほうが,よりコンピューターに与えるべきエントロピーが少なくて済む.
これは,知識を外部化していくという現代的な風習・(知識集積所としての)wikiの目指すところとも合致する.
すなわち,知識を外部化するとともに,その索引さえも外部に一部受け持たさせるのである.

また同時に,検索は知識へたどり着くまでの距離を縮める.
ページにたどり着くまでに,リンクによる構造をたどっていく場合,どうしてもトップページを頂点に,ページまでに'入り口からの距離',あるいは'今いるページからの距離'が生まれてしまう.
これにより,'遠く'にあるリソースへのアクセス頻度が下がり,知識が生かされない場合が生まれる.

※確かに,これについては異論があるかもしれない.
全てのリソースをすぐ届く距離に配置することは大切なことではあるだから,
設計としてそれをできにくくすることも良いかもしれない.(※教化的設計を参照)

しかし,それについては,手段が違うように思われる.
もし全てのリソースの距離をなるべく短くさせたいなどのような要求には,
そういうことをを定めたガイドラインを用意するなどの「教育」で対処するほうが好ましいように思われる.
第二に,設計としては,ロケーションバーを短くしたりするほうが,よりよい対処方法であろう.
現在,のロケーションバーまわりの最大文字列数(だったかな?)は25文字程度と設定されていた気がするが,
より短くしてしまってもかまわないかもしれない.

だからこそ,wikiのような知識の集積所には,検索は有用である.
そして,その使用を奨励するような設計は重要である.(これも教化的設計である.)

※ちなみに,わざわざ内部検索を用意しているようなサイトでも,その検索ボックスはページの隅に追いやられていることが多いよう思える.
結果,わざわざそのサイトに独自の詳細で便利な検索が用意されていても,ユーザーはおおよそ Google などを利用することになる.
おそらく,このことは,よりGoogleを「単一で万能なコマンドライン」たらしめているのであろう.
(だからこそ,こちらの検索ボックスを使いやすくすることは,
既存の検索に対抗し,力をそぎ,ひいては自由を広めることにも僅かながら寄与しているのではないか.
これは,オープンであること,自由であることを求める部の文化とも,合致するのよう思える(※ジョークです.) )

教化的設計について

個人的に,上述の「設計としてそれをできにくくすること」を教化的設計と呼んでいる.
京都やアメリカなんかの碁盤目の街の構造なども,教化的設計がかいまみれる.

あるいは,例えば「美しさを意識しながらコードを書く風習を醸し出す」ことなんかも,場の空気の教化的設計かもしれない.
(こういうものついては,それを作るのは重要である一方,
設計したが排他的な空気などになってしまう危険性もあるので細心の注意を要するだろう.)

chmod/diary/2011-02-07 (last edited 2011-02-07 22:39:43 by chmod)