オブジェクト指向ブログ

オブジェクト指向ブログ Object Oriented Blog (OOB)」というブログの新しい書き方を構想します。まず今までのブログのイメージを見てみましょう。

時系列順

1日目 記事
2日目 記事
3日目 記事



365日目 記事

時系列順に記事を投稿していく形態では、時間が経過するとどこに何を書いたか分からなくなります。例えば、456日目に237日目とほとんど同じ文章を書いたりすることも起きるでしょう。そのとき、「ああ237日目に書いたな」と思い出してリンクするのはほとんど無理っぽい。もちろん、実際のブログは記事名と本文から検索できるので、これほど酷くはないですが、それでも日付順に並んでいる限り、原理的にはこのスパゲッティ化の問題を克服できません。日付順だとリンクしにくい問題は、行番号とGOTO文の問題に似ています。

対象指向

話題┬記事─記事…
  └記事
話題┬記事─記事…
  └記事

  • OOBの三本柱
    • 隠蔽
    • 継承
    • 多様

これを解決するのがオブジェクト指向ブログ(OOB)です。日付順ではなく内容の関連性に従って記事を並べます。BlogにWiki的な話題による分類機能が加わるといったイメージでしょうか。さらにその方針を支える大きい三つの柱があります。順に見てみましょう。

隠蔽化 encapsulation

記事を文脈から切り離して、断片的な部品として再利用できるようにします。
「この前あそこの記事で言ったようにアレをコレして…」と、ブログ全体を把握するグローバルな理解を読者に要求せず、なるべくローカルで完結し、その記事だけ読めば分かるようにします。「隠蔽」という原則は、例えば記事の訂正はその記事で行うことに適用できるでしょうか。次の日に前の日の記事を訂正しても、読者が両方の日の記事を読んでいるとは限りません。

継承 inheritance

意味的関連のある記事を読めるようにし、差分だけ書けば済むようにします。
これはハイパーリンクで簡易的に実現できます。説明する事項が多いが、それがある程度テンプレ化している場合に、同じようなことを一から全部書いたりコピペしたりせずに、リンクして新しく付け足す部分だけ書いた方が楽でしょう。コピペでも貼るときは楽でしょうが、コピペをしまくると、後で何か訂正が生じた場合に、修正作業が大変になります。

多様性 polymorphism

読者(の読み方)によって、一つの記事でも異なる様相を示すようにします。
これを実現するのはAjaxでしょう。例えば、リンク羅列型のニュースサイトで、特定のジャンルをページ遷移なしに数を絞ることができる、などという場合に相当するでしょうか。あるいは、初心者に対しては長文で丁寧に説明し上級者には省く、年齢性別によって異なるレビューが表示される、など色々想定できます。XMLが向いています。

解説

オブジェクト指向自体がよく分からないし、あくまで比喩で大雑把なイメージを描いただけです。ただ、書き方をOOBに変えれば、体系性のある話題を継続的に扱うブログの生産力が、10倍とはいわなくても数割程度は、何となく増えそうな気がします。もちろん三日しか書いてないブログとか一日一行しか書かないブログでは、あまり有り難味がないと思います。かえって面倒くさいでしょう。

しかし、例えばこのブログで言うと去年の年間更新日は300日ちょうどで、もし一日1000字だとしても30万字はあります。それだけの量がアドホックに書いてあれば、ほとんど保守不可能になります。というかなっています。細々とした雑務の多さが洒落にならない。書き捨てでも構わない、という場合も多いでしょうが、私の場合は過去の間違っている記述が気になります。昔の記事を削除してしまうこともできますが、今度はロングテールのアクセスを自ら減らしてしまいます。

ところで、「既存の情報にリンクして説明を省く位は今でもやっている」という意見があるかもしれません。しかしアドホックなリンクではなくて、OOBでは手続きを踏んでリンクします。例えば前回述べたような「索引」のページを作って、必ずそこを経由するようにします。つまり「記事→索引→外部」と二回リンク(→)を貼ることになります。

これは手間が増えているように見えますが、外部サイトが引越ししてURLが変わったりしたときに、索引のページだけ直せばいいので、保守性が向上します。ここで、まとめサイトに貼れば済むではないかと思われるかもしれません。しかし、そのまとめサイトが引っ越す場合も当然あるわけです。外部に丸投げせず、自サイト内でやった方が記述をコントロールできますし、アクセスも逃しません。

コントロールというのは、特に成人向けコンテンツなどの区分けをしたいときに有効です。漫然とそこら辺にエロ・グロ画像が貼ってあると、読者に「不快」と言われることもあるでしょう。気にしなければ済むかもしれません。しかし、特に広告や著作権などが絡んでくると、放置しておくことでリスクを抱えることもあります。管理なんて面倒くさい、ヤバくなったら消す、という逃げ方がネットでは一般的ですが、何年も続ける長期的ブログを構えたい場合に、こういう手段もある、ということです。

ところで原理だけ述べて、どうやれば実現できるのかは、あまり書いていません。昔の「ホームページ」へ戻れば時系列でないからいいかというと、CSSを使ってなかったりすると、やはり保守性が低いのでダメでしょう。前の記事のように、はてなユーザならはてなグループのキーワード機能を利用すれば、手間は掛かりません。しかしブログツールやCMS、更にそれをカスタマイズすれば、より近い機能が得られるでしょう。さらに将来的な展望としては、Ajax関連の技術が解決するかもしれません。

例えば、XMLへの完全移行によって(はてダはHTMLベース)、記事を横断した要素単位での操作ができるかもしれません。これは妄想ですが、現在でもユーザは既に認証しているので、18歳以下はこの単語は表示されないとか、問題があるIDに対しては、当たり障りのない表現に置き換わっているとか…。やや別の話になってきますが、そうなると新たな問題もまた発生するでしょう。

前回

萌え理論Blog - ブログのインデックス化

前回はブログに索引をつければ整理しやすいのではないかという話をしました。既存サービスで可能な範囲の話なので、常識的で意外性はあまりありませんでしたが、今回のOOBから振り返って見ることで、なぜそういうことがしたかったのか、が理解して頂ければ幸いです。