10月に購入した白いiPhone 4S、サードパーティ製の白いバンパーを装着しているのですが、はやくも薄汚れてきました。小学生のふで箱にある消しゴムをイメージしてください(したくないって?)。漂白剤でキレイになるものですかね……。

さて、今回は「Safari Extensions」について。単なるプラグイン実行環境ではなく、Appleが重視するHTML5方面で戦略の要となりうる存在であり、我々ユーザにとっても見逃せない機能を提供してくれる。iTunes以外は対応しないはずのAirPlay出力も、このSafari Extensionsで可能になるのだ。

What's Safari Extensions?

「Safari 5」には、機能拡張書類を動作させるための機構「Safari Extensions」が用意されている。従来からSafariには「SIMBL」というプラグイン処理系が存在するが(OS X ハッキング! 第304回 OS標準ハック仕様? の「SIMBL」を知る)、Safari ExtensionsはAppleが正式にサポートする機能であり、Appleが主宰する開発者ネットワーク「Safari Dev center」への参加が必須になる。

SIMBLとSafari Extensionsは、似て非なる実装だ。前者はInput Managerを利用したハックであり、いわゆるCocoaアプリを対象とするためSafari以外でも利用できる。開発手法も、Objective-Cを中心とするCocoaの流儀に則ったものだ。一方、後者の対象はSafariのみ、デジタル認証付き証明書による開発者の署名が必須なうえ、サンドボックス化された環境上で動作するためにセキュリティも確保されている。開発手法は、JavaScriptにHTML5というWeb標準を中心としたものだ。

機能拡張書類のインストールは簡単そのもの。環境設定パネルの機能拡張タブが「入」のとき、Finder上で拡張子「.safariextz」のファイルをダブルクリックすると、ダイアログが表示されて所定の領域(~/Library/Safari/Extensions)へのコピーが実行される。機能拡張書類のポータルサイト「Safari Extension Gallery」から直接インストールすることもできるので、そちらを参照してもいいだろう。

Appleが運営する「Safari Extensions Gallery」では、多数の機能拡張が公開されている

インストールはワンクリックで完了。Safariを再起動する必要すらない

Safari上のコンテンツをAirPlay経由で楽しむ

多数のSafari Extensionsが公開されているなかで、人気の高いカテゴリはTwitterなどのSNSサービスと連携するもの、そして動画や音楽といったマルチメディアコンテンツの再生支援だろう。筆者の場合、TwitterやFacebookはもっぱらiOSデバイスで利用しているため、Safariに期待するのは自ずと後者になる。

特に重宝しているのは、YouTubeやVimeoといったビデオ共有サイト上の動画を、AirPlay経由で"飛ばす"機能拡張だ。iOSアプリの『Safari』や『YouTube』では、当たり前のように利用されている機能だが、現状OS Xにおいて(正式に)AirPlay対応しているのはiTunesのみ。興味深い動画をOS XのSafariで見つけたとしても、直接Apple TVへ動画を"飛ばす"ことはできないが、「Media Center」と「YouTube5」という2つの機能拡張をインストールすると、それが可能になるのだ。

Media Center
http://hoyois.github.com/safariextensions/mediacenter/

YouTube5
http://www.verticalforest.com/2010/10/27/youtube5-version-2/

「YouTube5」が有効なとき、SafariでYouTubeのコンテンツを再生しようとすると、FlashではなくHTML5プレイヤーが起動される。さらに「Media Center」が有効化され、機能拡張の設定画面で「Send via AirPlay」がオンに、そしてAirPlayデバイス(Apple TV)のIPアドレスが適切に設定されていれば、準備はOK。あとは、HTML5プレイヤー上を右クリックして「AirPlay経由で出力」を選択すると、プレイヤー上のコンテンツがApple TVに出力される。

YouTubeなどの動画共有サイトから、直接AirPlayでムービーを"飛ばす"ことができる

「Media Center」の設定画面では、AirPlayの出力先デバイスとしてApple TVのアドレスを指定しておく必要がある

ポイントは、対象のサービスがYouTube限定でないこと。たとえば、先日サービスを開始したばかりの「Vid.ly」など、現在Apple TVでは直接再生できない(「インターネット」メニューに表示されていない)サービスでも"飛ばす"ことができる。Appleの「HTML5 Showcase」にある「Video」も再生できた。

HTML5ベースの動画変換サービス「Vid.ly」のビデオもAirPlayで飛ばせる

「YouTube5」の設定画面では、YouTubeのほかにVimeoとFacebookビデオのオプションも設定できる

問題は……AirPlay開始後約50秒でストリーミングが停止してしまうこと。以前は支障なく再生できていたため、Apple TVファームウェア(最新版はv4.4.3)の仕様が変わった可能性が考えられる。有用な機能拡張であるだけに、問題がFIXされることを待ちたい。

関連記事