2005.10.02
ブログがWebにもたらしたMVCモデル - コンテンツ、デザイン、テクノロジー
ITの世界では、「MVCモデル」というものが知られている。

「MVC」とは、「Model」 「View」 「Controller」の頭文字で、ごく大ざっぱには

M (モデル) - データ
V (ビュー) - 見せ方
C (コントローラ) - ロジック

のような意味だ。これを混ぜてしまうのではなく、別々に切り離す設計にしておくと、うまくいくと言われている。

このMVCの考え方は、ITだけではなく、Webそのものにも適用できそうに思う。

M (モデル) - コンテンツ
V (ビュー) - デザイン
C (コントローラ) - テクノロジー

という感じだ。

かつて、まだブログもなかった頃は、みんな「ホームページ」を作っていた。HTMLを手書きしたり、ツールを使って、ページを1枚1枚作っていた。

この状態では、コンテンツ、デザイン、テクノロジーがごちゃまぜになっている。テキストを書きたいだけだとしても、一応デザインを考える必要があり、HTMLやFTPなどの技術を覚える必要があった。

もちろん、そうして無理やりでも覚えさせられ、経験することにはいい面もある。しかしこれでは、「テキストを書きたい」という単純な目的の達成のために、よりむずかしいプロセスや知識が必要になってしまう。これでやる気がしぼんでしまったり、途中で挫折しやすい面が大きかった。

これがブログの登場・普及により、ただテキストを書くという以外にほとんど何もしなくても、Webにコンテンツを公開できるようになった。

デザインは、それなりにすぐれたスキン、テンプレートがあらかじめ用意されている。デザインが得意な人は、自分でスキンを作って、入れ替えたりできる。

技術を持っている人は、プラグインを作ったり、改造したり、自分自身でブログシステムを作ったりできる。

このように、まさしくコンテンツ、デザイン、テクノロジーが分離されたのだ。

この分業化により、Webにかかわる人間の全方位的なスキル・バランスが失われるという面も確かにある。しかし、これもITでよく言われる「関心の分離(separation of concern)」により、生産性が飛躍的に高まった。

Webをつくるプロセスにおいて、コンテンツ、デザイン、テクノロジーの3つは、やはり「別の仕事」だ。それらは別種のスキルを必要とする以上、1人の人間にその3つのスキルを強制するよりも、設計が分離されて、好きな部分だけできるようになって良かったと思う。

個々の人間のスキル・バランスもたしかに大事だが、この場合、くっついてしまっていた3つの仕事を分けることで、3種類の「価値」が爆発的に解放され、それぞれの領域が大きく発展したわけで、そのメリットのほうがはるかに大きかったと思う。