日別アーカイブ: 2014年5月19日

Yahoo! TVの番組ページにあるYahoo!カレンダーへの登録リンクをGoogleカレンダーへの登録リンクに変更するChrome拡張機能をリリースしました

おがた (@xtetsuji) です。

長いタイトルの通りなんですが、手元でずっと使っていたChrome拡張機能の一つをChromeストアで公開しました。

どんな拡張機能なの?

何をするものかというとこのブログ記事のタイトルまんまなんですが「Yahoo! TV の個別番組ページにある Yahoo! カレンダーへの登録リンクをGoogleカレンダーへの登録リンクに変更する」拡張機能です。

Yahoo! TVを選んだ理由

正直、Yahoo! TV は今日本にあるテレビ番組サイトの中では一番使いやすいなと思って使っています。各番組ページにパーマリンクがあるところがいいんですよね。Bingテレビとかだとパーマリンクとかなくて、番組表の上にモーダルダイアログのように出てしまう。番組ページは固有のURLであってほしい派なので、昔も今もYahoo! TVに落ち着いています。

昔は日刊スポーツがテレビ番組サイトを運営していてそこもシンプルで良かったんですが、2012年頃になくなってしまってガッカリしたあとで落ち着いたのがYahoo! TVでした。

Yahoo! TV の各番組ページには、昨今流行りのFacebookやTwitterへのシェアボタンなどもついていたりするのですが、Yahoo!だからではありますが、カレンダーへの登録リンクというのはYahoo!カレンダーへのリンクなんですよね。Yahoo! Japanには失礼ではありますが、「Yahoo!カレンダーって誰か使っているの?」っていう感じで、私も結構ハードなGoogleカレンダーユーザだったり、周囲を見てもみんなGoogleカレンダーのユーザなので、ここに併記でもいいからGoogleカレンダーへの登録リンクを付けて欲しいって思うわけなんですが…。まぁ要望送っても付けてくれないだろうなと思って、自分で拡張機能を書いてしまいました。もともとはブックマークレットだったものを成長させたものです。

Yahoo! Japan自体は良いサービスをたくさんリリースしていて、Yahoo! TV以外にも色々とお世話になっているんですが、まぁ今見てもYahoo!カレンダーは使う気になれないですねー。Yahoo!自体もカレンダーでGoogleと戦う気は感じられない。

インストール方法

Chromeストアで公開したので、Google Chromeユーザは当該ページに行ってインストールすることができます。

プラグイン紹介ページ

今のところ (初期バージョン 0.0.0.1) では、tv.yahoo.co.jp へのページ読み取り権限くらいしか要求しません。本当に単純なことしかしていないので。

インストール権限は最小限

これをインストールすると、以前はYahoo!カレンダーへの登録リンクの部分がGoogleカレンダーへの登録リンクに変身します。

具体的には以下のようなリンクが…

プラグインのインストール前

以下のように変わります。

プラグインのインストール後

カレンダーに登録ボタンを押せばGoogleカレンダーへの登録画面になります。

ちょっとした機能の話

機能としては、Google Event Publisherという機能を使っていて、たんにイベント情報を所定の全ユーザ共通のイベント登録リンクにクエリ文字列を伴って渡しているだけです。

ということもあって、現状この制限でできていないのが「番組情報全てを渡す」という部分。ちょっとでも長いとクエリ文字列の長さの制限に引っかかってしまうからです。これはEvent Publisherを使っている分にはどうしようもない。やるとしたらYahoo!カレンダーの番組ページ側でコピー支援をすることくらいかな。

一応、イベント概要部分に番組紹介の一番最初の抜粋を入れるようにしたのですが、うまく入らない場合があって、それはまぁ後でいいかと割り切ってリリースしました。手元で自分だけが使う状態にしておくと、そういう改善意欲が湧いてこないってのがあって、GitHubで公開して、Chromeストアにも載せるという作戦に出たわけです。

まぁコードはZIPを伸長したりGitHubでも公開しているので見られますが、ひどいひどい。私がまだJavaScriptを全然知らない時に見よう見まねで書いたブックマークレット時代のひどい痕跡がそのままなんですが、まぁ動いてくれるし危険なこともしていないし、公開することで自分も改善意欲が湧いたり、誰か綺麗にリファクタリングしてくれるかなとか思って公開しました。そういうライフハックです。

要望ありましたら、Twitter @xtetsuji にご連絡くださるか、http://tetsuji.jp/ に書かれている私への連絡方法のどれかでご連絡いただければ、出来る限り対応します。

Chrome拡張機能の開発方法やChromeウェブストアへの公開方法といった話については、また後日ブログを書こうと思います。ではでは。

2014年8月21日追記