写真1●うまいものシリーズ つくばの飯屋「ホワイト餃子つくば店」
写真1●うまいものシリーズ つくばの飯屋「ホワイト餃子つくば店」  とても大きい餃子があります。もう餃子だけでお腹が一杯になります。焼きたてはとても熱いので、注意が必要です。
[画像のクリックで拡大表示]
 前回からネット上の情報を集める「Pragger」について説明しています。前回は、Praggerの「入力」「加工」「出力」という3つの機能のうち、「入力」について説明しました。今回は残りの「加工」と「出力」を説明して、Praggerの便利さを紹介したいと思います。

 前回説明した「入力」では、Praggerにある多彩なプラグインを使って、様々なサイトから情報をPraggerに取り込めます。その取り込んだデータを加工するのが、「加工」プラグイン群です。加工プラグインの用途の典型例は、情報の「抽出」です。例えば、こんな風に使います。

使いやすさを生み出すプラグイン

 私のある友人はブログを書いています。そこには、プログラミングの話や毎日の食事の話などがあります。私にとってプログラミングの話は面白いのですが、食事はいつも同じような店ばかり行っていて面白くなく、見なくてもよいと思っています。ところが、彼のブログのRSSをRSSリーダーに登録してしまうと、全ての更新情報が表示されるため、見なくてよい食事の話も見ることになります。これは無駄です。

 そこで、Praggerを使います。彼のブログのRSSをPraggerに取り込み、見なくてもよい食事の話を取り除きます。この作業は「Grep」というプラグインを使えば、プログラムを書かなくても簡単にできます。ちなみに最初のGrepプラグインには、特定のキーワードを含むエントリを取り出す機能しかありませんでした。例えばブログから、ゲームの話題だけを取り出すという具合です。そのうちユーザーの中に特定のエントリを除く機能も欲しいと考える人がいて、プラグインを改良してくれました。このようにユーザーが改良してくれる他の人も使えるようになるというのが、オープンソースの良いところだと思います。おかげで私も、必要なエントリだけを読めています。

 加工プラグインは他にもあります。例えば、大量にRSS情報がある場合に、最新の情報だけを取り出すプラグインや、複数のRSSの情報を一つにまとめるプラグインなどです。

 次に、「出力」プラグインを説明しましょう。出力プラグインは、このように加工した情報を様々な形で出力します。前に説明したRSSリーダーと連携するには、RSS出力プラグインを使います。Praggerに取り込んだ情報をRSSにして、RSSリーダーで読めるようにします。開発側からすると、既存のRSSリーダーを使うことで新たに表示ソフトを作らなくても済むというメリットがあります。

 この他の面白い出力プラグインの例としては、チャットお知らせプラグインがあります。例えば、誰かがブログを書いた時に、それをチャットで教えてもらえるのです。このようにPraggerにはたくさんのプラグインがあります。そして、これらのプラグインは組み合わせて使えます。

「集合知」で使いやすいソフトに

 さて最後に、Praggerの便利さはどこから来ているのか、私がどのようにこのPraggerプロジェクトを進めようと考えているかを説明したいと思います。Praggerは、私がオープンソースとして公開していて、また、誰でも開発に参加してもらおうとしてサイトを開きました。なぜ、オープンソースにしたかというと、Praggerは一人では開発できないと考えたからです。

 PraggerやPlagger以前でも、Webの情報を処理するソフトウエアはいくつかありました。例えば、RSSがないサイトから、RSSを作るサイトもたくさんあります。しかし、これらのサイトは機能面で不満がありました。全てのサイトにそれらを対応させるには一人や少数での開発では人手が足りないのです。そこで、オープンソースのソフトウエアを作れば、一緒に開発をしてくれる人が現れると考えました。実際、何人かの人がプラグインの開発を行っています。

 このような開発を進めるために、いくつか工夫をしました。そのうち一番大きいのは、Pragger本体をできる限り小さくしたことです。実はPraggerのコア部分のプログラムコードは40行程しかありません。Praggerの機能のほとんどは、プラグインです。ですから、プラグインを作るのが当たり前という形にできたのではないかと思います。また、プラグインの開発に手間がかからないようにしました。

 Praggerでは、プラグイン開発者同士があまりコミュニケーションをとる必要がありません。他のオープンソースソフトウエアの開発では、チームを組んで密にコミュニケーションをとりながら開発するのが普通です。一方Praggerの場合は、プラグインの開発はそれぞれが適当にやって、それぞれのブログで適当に公開する、という状況です。私はこの“適当”というのが重要だと思っています。気軽にプラグインを作ってもらえるからです。

 Web2.0というキーワードと同列で、「集合知」というキーワードも聞きます。多くの人がバラバラにプラグインを開発し、その成果を使えるPraggerも集合知と呼べるのでしょうか。PraggerはWeb2.0時代のRSSを乗りこなすツールとして作りましたが、それ自体の作り方もWeb2.0的に進められていると言えるでしょう。

 さて、集合知を使ったプロジェクトとしては、Wikipediaのように、皆で有用な情報を持ち合う形のサイトが有名です。同じように有用な情報を集めるプロジェクトとして登場したのが、Skypeの新しいバージョン3.1に搭載された「Skype Find」です。次回は、このSkypeバージョン3.1での新機能について見て行きたいと思います。