2009-04-05
Gecko 1.9.2では古いプラグインAPIを削除
情報は二週間前に出ているのだが、いっこうに話題にのぼらないようなので、ここで書くことにする。Firefox 3.5 RC1がリリースされた後というから、今年5〜6月のことになるが、TrunkではGeckoレンダリングエンジンからOJI (Open Java Interface) 、LiveConnect、XPCOM plugin APIの三つが削除される。仕様が古くなったためだ。
三つのAPIを使用する代表的なプラグインは、Sun MicrosystemsのJavaプラグイン、Steven Michaud氏のJava Embedding Plugin(JEP)、そしてRealPlayerプラグインである。これらは、Geckoの仕様変更に伴ってTrunkで使用不能になるが、うちJavaプラグインについては、最近のものであれば対応済みだ。
SunはMozillaと協力しながら、NPAPIとNPRuntimeをベースにした新しいプラグインを開発した。Java SE 6 Update 10のリリースノートには次のような記述がある。
このリリースでは、次世代 Java Plug-in が提供されます。IE および Firefox 3 では、デフォルトで次世代 Java Plug-in が使用されます。 Firefox 2 では、デフォルトで初期の (古い) Plug-in が使用されます。
現在の最新バージョンはJava SE 6 Update 13だから、これを使用していれば問題ないのだが、実は新しいプラグイン形式に対応しているのはWindows版とLinux版だけで、Mac OS Xでは「近日公開」という扱いになっているのだという。JEPは、Mac OS X上でSafari以外のブラウザでも最新版のJavaを使えるようにするプラグインなので、SunがMac OS版Javaプラグインを新たにリリースすれば、それが代わりになる。これに対し、RealPlayerプラグインは、RealNetworksと協力してNPAPIとNPRuntimeに対応したバージョンを開発中とのことである。そのため全プラットフォームでしばらくの間使えなくなる見込みだ。
結局、影響を受けるのは、WindowsとLinuxでは、Java SE 6 Update 10より古いJavaプラグインとRealPlayerプラグインを使っているTrunkユーザー、Mac OS Xでは、JavaプラグインとRealPlayerプラグインを使っているTrunkユーザーとなる。
なお、今後もGecko 1.9.2の互換性問題には注意が必要だ。Firefox 3.5の開発責任者の一人Robert O'Callahan氏によれば、Firefox 3.5がベースとするGecko 1.9.1は、Gecko 1.9の新アーキテクチャを利用してさまざまな機能を実現するに至ったが、その分アーキテクチャ自体に手を入れる余裕がなかった。Gecko 1.9.2では、アーキテクチャの改良に力を注ぐそうだ。となれば、Firefox 3へ移行したときほどではないにせよ、アドオンが動作しないケースが数多く出てくると考えるのが自然だろう。
(09/04/11追記)
コメント欄で あ さんからご指摘をいただいたほか、「新秀の介の日記」(2009-04-10)でも報じられているが、OJIがTrunkで削除された。Mac OS XのTrunkユーザーはしばらくJavaプラグインが使えなくなるようなので、とくに注意してほしい。
参照先のスレッドを見直してみたが、どうもLiveConnectだけはFirefox 3.5 RC1のリリース後にすべきとの意見が出たのでそうするものの、それ以外は準備ができ次第削除するつもりらしい。なのでXPCOM plugin APIも5月を待たずして削除される可能性が高い。
(09/06/13追記)XPCOM plugin APIが削除された(Bug 488042)。
(09/06/27追記)
XPCOM plugin APIの削除は上のもので終わりではなかったようだ。削除が続いており(Bug 498164, Bug 499329)、一部のアドオン(例:IE Tab)に影響が出ている模様。また、LiveConnectの削除も始まった(Bug 499322)。
(09/07/04追記)LiveConnectも削除済みになった(Bug 442399)。
Firefox.nextで「軽い」アドオンが加わりそう
あくまで第一報のレベルだが、Firefox.next(Firefox 3.5の次のバージョン)では、「軽い」アドオンなるものが導入される見とおしだ。Firefox 3.5の、そしてFirefox.nextの開発総責任者Mike Beltzner氏がmozilla.dev.planningに立てたスレッドで、その一端を垣間見ることができる。
そこでは、「軽量テーマ」の導入が検討されている。といっても、Personasのスキンのことではない。あれはあくまでFirefoxの表層に彩りを添えるもの。テーマとは違う。Firefoxのアドオンとしてのテーマは、ユーザーインターフェイス全般に影響を与える。
とはいえ、スキンの変更が含まれていないわけではないだろう。今のところわずかな情報しかないが、開発者の中でNo.2の立場にあるMike Connor氏の発言を見るかぎり、軽量テーマの中にアイコンセットの変更が含まれていることは確かなようだ。これに加えて、Personasのスキンがさまざまなダイアログに適用される形になれば、テーマの体裁はいちおう整う。
開発者が新しいアイコンとスキン用の画像を揃えれば、比較的簡単にFirefoxのテーマを作成できる仕組み。もしできれば、これまでテーマ作成に参加していなかった人も、参加するようになることが期待できる。ユーザーにとってもテーマのバリエーションが増えるメリットがある。
(09/04/06追記)
後述の検討リストを見直してみると、「allows anything to be customised but doesn't mean recreating an entire theme
」という注が付いていた。また、「icon sets for add-ons to use」という項目もあった。
既存のテーマをカスタマイズすることで、別のテーマを作成できるようにするのだろうか。しかも、Firefox側でアイコンセットの候補を用意して。<追記終>
ここまでは、テーマの話だった。拡張機能のほうはどうだろう。実は、Firefox.nextの検討リストに「extensions 2.0 using greasemonkey & html」という項目が挙がっている。タイトルだけで説明がないため、これまでは意味をつかみかねていたのだが、軽量テーマの件を知った今ならわかる。これは、「軽い」拡張機能の導入を検討するものなのだ。
Greasemonkeyは、Firefoxの有名な拡張機能で、JavaScriptベースのユーザースクリプトを処理するエンジンである。ユーザーは、このGreasemonkey用のスクリプトを別途組み込むことで、Firefoxの機能を拡張することができる。
世界中で多数のユーザースクリプトが発表されており、欲しい機能が拡張機能の中に見つからないときでも、ユーザースクリプトの中にならあるというくらい、種類は豊富だ。ユーザーのニーズにきめ細かく対応している点も特徴である。
当然、拡張機能は作っていないが、ユーザースクリプトなら書いているという人も出てくる。こうした層を開発者として取り込めれば、拡張機能はより豊かなラインナップを手にできるだろう。上のタイトルからすると、「拡張機能 2.0」は、「GreasemonkeyとHTML」を使うと読めるが、GreasemonkeyそのものをFirefox本体に取り込むというよりは、同じようなユーザースクリプトの処理エンジンを実装する趣旨ではないかと思う。ただし、あくまでも拡張機能なので、生のスクリプトではなくHTML(の拡張版? XML?)でコーティングするわけだ。
現在でも、ユーザースクリプトの代表格であるAutoPagerizeをアドオン化した「AutoPager」のようなケースはある。しかし、こうした例は一部で、ユーザースクリプトを手軽にアドオンに移植できるわけではない。Firefox.nextでは、こうした苦労も大幅に減らせるのではないだろうか。
ダウンロードボタンをクリックした後で
Mozilla.comの英語(en-US)版では、ユーザーがFirefoxのダウンロードボタンをクリックした後に表示されるページの内容が更新された。まずは新画面を見てほしい。
何が変わったのだろうか。まず、ページにFirefoxのロゴを入れた。新規ユーザーにFirefoxというブランドを認識してもらうためだ。また、手動でダウンロードするためのリンクも目立つようにした。
インストールのステップを説明する内容を従来の四段階から三段階に圧縮し、一列に並べた(従来は二列)。その代わり、説明は多少詳しくなっている。
ページの下段にはヘルプや使い方のヒントなどへのリンクが置かれた。これによって、インストール前にFirefoxの動作に関する情報を集めやすくなった。
さらに、ダウンロード時に使用されたユーザーのブラウザとOSを判別し、インストール手順などがその環境に合うものに調整される仕組みも備えた。Firefox 3がサポートしていないOSの場合だと、警告が表示される。
最後に、変更前のページを使用している日本語版の画像も掲載しておく。比較すれば、新ページにいろいろ工夫が凝らされているのがわかるだろう。ただ、Mozilla.comがページを新しくした以上、日本語版もそのうち対応するはずだ。
実験的アドオンがインストールしやすく
米国時間で4月9日にMozilla Add-ons(AMO)のアップデート(5.0.4)が予定されている。その際、実験的アドオンのインストールプロセスが変更される予定だ(Bug 441739)。
具体的には、AMOのアカウントを取得しなくても、実験的アドオンのインストールが可能になる。「実験的アドオンをインストールする」という項目にチェックを入れるだけでOKだ。これまでもアカウントの取得は無料で、さほど手間はかからなかったとはいえ、わざわざアカウントを取ってまで……と敬遠していた人はけっこういるのではないだろうか。今後はそうした手間が不要になる。
そのほか、このバージョンアップで、カテゴリーごとのページは表示が刷新される(Bug 475605)。アドオン互換性センターもようやく表示がFirefox 3.5に対応する(Bug 483077)。マイナーアップデートながらも、見所は多い。
(09/04/10追記)
アップデートが実施され、予定どおりアカウントなしで実験的アドオンをインストールできるようになった。アドオン互換性センターもFirefox 3.5に対応した。
他方、カテゴリー別ページの刷新は見送られ、v5.0.5で実施されることになった。その代わり、新しいモックアップを見ると、右上に検索バーが置かれている。カテゴリーを絞ってアドオンを探すこともできるようだ。






