Firefoxの拡張を作ってみて、改めてWeb2.0の世界を感じる

スカパーの予約をするのに、パソコン側(自作ハードディスクレコーダーとも言う)での予約と、スカパー機側での予約をしなくちゃならないのですが、つい忘れるのでカレンダーに入れておきたいなーと思ったのです。

スカパーの番組表は、テレビ王国の番組表を使っているのですが、そこにiEPGというのがついています。iEPG対応のパソコンでこれをクリックすると、自動的に予約をしてくれるというものらしいです。が、わたしは普段使っているMacではなく、ハードディスクレコーダー専用機として使っている旧Windows機で予約をしている上、そいつもiEPGなんていうしゃれたものに対応したチューナーではありません。そこテレビ王国に、「カレンダーに入れる」という機能がありますが、普段使わないカレンダーに入れても仕方がありません。わたしのカレンダーは、Google Calendarなのです。

が、確かGoogle CalendarはAPIで外から使えるようになっていたし、iEPG自体はファイルを開いてみたところ、単なるSHIFT_JISで書かれたテキストファイル(しかも、今時XML形式でもなく、非常に使いづらい。さすがソニー)なので、こいつを変換して、Calendar APIを使って入れてしまうFirefoxの拡張を作ればどうにかなるんじゃないかと思ったのです。

さっそくFirefoxの拡張の作り方を確認。思ったよりも簡単で、JavaScriptと、XULというファイルを指定通りに置けば、右クリックに新しいメニューを付けることができるようです。1.5対象のファイルですが、基本を学ぶには、Building an Extensionがおすすめ。日本語に訳されているところもポイント高いです。

わたしのプログラミングの学び方は、例を大量に見て、パターン認識するというものなので、次は例探し。MacはShellコマンドが使えるので、JARファイルだろうが、ZIPファイルだろうが、解凍(もちろん圧縮も)可能です。それで、iEPGファイルを読んで、別形式に変換するという拡張と、有名なGoogle Calendar Quick Addを見ながら、ファイルを作り、Google Calendarに送信、イベントを作成、という拡張を作ってみました。↓こんな感じ。まだディフォルトではないカレンダーに入れる方法とか、手を入れたいところは結構あるのですが、うまくいったので満足。

firefox_ext.jpg

改めてGoogleが激しくWeb 2.0というのを感じました。近年「サイト」という概念が非常に薄れてるように思うのです。RSSを拾ってしまえば、ほとんどそのサイトに行かなくても内容が読めてしまいますし(実際そうしてるし)、こうしてAPIを使って、受信ばかりでなく送信も出来てしまえば、あえてGoogleのサイトへ行かなくても、自分のところで完結することさえ可能です(例えばiCalで受信するようにしていれば、本当にGoogle Calendarそのものへアクセスしなくても事が足ります)。Amazonも結構そうで、あえて自分のところへ呼び込んで、滞在時間を長くしなくても、世界中のサイトが(このサイトもそうですが)Amazon経由で商品を売っています。現実の世界に当てはめるなら、駅前の本屋で売ってるにも関わらず、その本も利益も全部Amazonのもの、駅前の本屋はその代わり1冊につき微々たる手数料を手に入れられる、というイメージでしょうか。ブログもそうですよね。サイトとしてのまとまり以上に、ひとつひとつのエントリが検索され、一人歩きしています。GoogleツールバーやGoogleデスクトップも、利用者がGoogleにアクセスしていることを意識せずに、Googleのサービスを利用するという意味で、「サイトへのアクセス」と「サービスの利用」が切り離された一形態と言えます。そんな中でもGoogleやAmazonは、自分のサイトに客が来なかったとしても、ちゃんと自分のところにお金が転がりこんできて、ビジネスとしても成り立つ仕組みを考えているわけです。

それって、今までの「いかにアクセスを増やすか」とか「客を囲い込む方法」とは全く逆の考え方なわけで、データを完全に開放し、開放することで、「サイト」ではなく「サービス」の利用者を増やすというその考え方がどんどん主流になるんだろうなあと思う今日この頃でした。

コメント