Firefoxの開発総責任者Mike Beltzner氏が、MozillaWikiでFirefoxの新しいロードマップを発表した。Firefox 3.6からFirefox 4.0までと、Fennec 1.0から2.0までが対象となっている。大雑把なリリース時期と主要な機能も明らかにされた。
Firefox 3.6 / Fennec 1.0
mozilla-1.9.2ブランチをベースにするこれらのバージョンは、「Q3/Q4 2009」にリリースされると記されている。が、Fennecですら、ローカライズに対応したもう一つのBeta版が用意されるものとみられており、Q3すなわち9月末までに最終版が登場することはなさそうだ。Fennec 1.0は10月中として、Firefox 3.6は予定どおりなら11月上旬だが、Personasとの統合にこだわれば12月にずれ込んでもおかしくない。
目標は、「モバイルデバイスとWindows CEでFirefoxのリリースを提供するとともに、Firefoxを安定化させ、迅速にアップデートすることによってアプリケーションの応答性を良くする」ことだという。
主な機能は、次のようになる。
- プラットフォームの改善
-
- interruptible reflow
- compositorフェーズ1
- Windows 7との統合
- エンドユーザー向け機能の改善
-
- 軽量テーマ(Personas)
- フォーム履歴の補完(awesomeformcomplete)
- スピードと応答性の改善
-
- 非同期ロケーションバー
- TraceMonkeyエンジン(JavaScript処理)の改良
- Windowsにおけるスクローリングモデルの改良
- Maemo版・Windows Mobile版Fennecにおけるタイルキャッシュ
- セッション復元を最適化し、フォーカスされていたタブを素早く表示
- 起動の最適化
非同期ロケーションバーとフォーム履歴の補完については、当ブログでも紹介済みで、どちらも非常に使い勝手がよい。また、compositorフェーズ1は”Bug 352093 - Remove child widgets from content area”の修正を含んでいるのだが、これによって長年の懸案だったBug 215055も修正され、長大なページの途中で黒い矩形が表示される不具合が解消された。
リストには出ていないが、TraceMonkeyはjit.chromeがデフォルトでオンになるため、Firefox 3.5と比較した場合、ユーザーインターフェイス(UI)部分の処理が高速化される。加えて、interruptible reflowによってレイアウト処理の途中でもユーザーの入力を受けつけてくれるから、この点でもFirefoxの応答性はアップしている。
懸案となっているPersonasの統合に関しては、えむもじら『Personas の Firefox への統合』に新情報が掲載されているので参照してほしい。最近使用した「ペルソナ」(=Personasのスキン)はアドオンマネージャのテーマ欄に表示される(Bug 510909)が、デフォルト以外のテーマを使用している場合は再起動が必要で、「デフォルトテーマ+ペルソナ」の状態へと変更されるらしい。
この方法なら、粗っぽいがコンフリクトは避けられる。ただ、アドオン版PersonasのUIを継承する場合、簡単にペルソナをオフにできるわけだが、その際、ちゃんと元のテーマに戻してくれるかが心配だ。
そのほか、Firefox 3.6ではインストールされているプラグインが最新かどうかをチェックする仕組みが入る予定で、mozilla.comが用意したページにアクセスする形だが、そのページの実装スケジュールによると、9月30日にはen-US版を完成させ、10月31日にはローカライズも終えるとしている。
Firefox 3.7 / Fennec 1.1
mozilla-1.9.3ブランチをベースにするこれらのバージョンは、「Q1/Q2 2010」のリリースがターゲットだ。Firefox 3.7はもともと2010年の「late spring」とされていたので、5月あたりに出る可能性が高いものの、Firefox 3.6の開発が遅れると、3.7も6月にずれ込むだろう。Fennec 1.1については今のところ情報がない。ただ、Gecko 1.9.3の開発が順調なら、3月中のリリースもあり得る。
目標は、「プラグインを別プロセスで動作させ、全般的なアプリケーションの安定性と応答性を改良する。起動時間を高速化する」ことだという。
主な機能は、次のようになる。
- プラットフォームの改善
-
- プラグインのプロセスを分離
- compositorフェーズ2
- XULでアニメーションをサポート
- エンドユーザー向け機能の改善
-
- ブックマークの同期
- Webサイトをアプリケーションとして動作させる
- タスク指向のブラウジング
- スピードと応答性の改善
-
- TraceMonkeyエンジンの改良
- ページロードの最適化
エンドユーザー向け機能の欄は、それぞれWeave、Prism、Ubiquityの統合に対応している。PrismとUbiquityの統合は早くから決まっており、後者はTaskfoxのコードネームでテスト版ビルドの開発が進められつつある。これにWeaveの統合が加わると正式にアナウンスされた点はニュースである。
とはいえ、この時点では「ブックマークの同期」にとどまり、履歴の同期までは含まれない。利用者数とデータ量を考えれば、このような限定もやむを得ないところだ。
Electrolysisプロジェクト(コンテンツとクロームのプロセス分離+マルチプロセス化)からは、プラグインのプロセス分離が成果として投入される。Google Chrome(以下Chrome)では既に実装済みだが、これによってプラグインがクラッシュを起こしてもFirefox本体が巻き添えにならなくなる。
compositorフェーズ2では、描画領域の更新を管理するいわば司令塔を導入するものとみられる。描画更新処理をできるだけ効率よくスムーズに行えるようにするのが目的だ。現在のFirefoxは、Chromeと比較して、「描画処理では大きく水を開けられて」いるという。compositorの完成でこの差が縮まってくれるといいのだが。
「XULでアニメーションをサポート」とは、最近開発者ミーティングで議論されている、jQueryの統合を指すと思われる。拡張機能にさまざまなアニメーションエフェクトがかかるのは、ユーザーにとっても魅力的な話だ。この点ではThunderbird 3が先行しており、Firefox 3.7にも採用となると、jQueryはますますMozillaオフィシャルの様相を帯びてくる。
なお、既報のとおりWindows版のデフォルトテーマは更新され、メニューは「ページ」と「ツール」のアイコンにまとめられる。
Firefox 4 / Fennec 2
MozillaWikiには小数点以下の記載がないものの、実際にはFirefox 4.0 / Fennec 2.0と呼ばれることになるだろう。興味深いことに、「mozilla-1.9.4ブランチ」をベースにするとされており、これはGecko 2.0ではなく、Gecko 1.9.4を搭載することを意味する。
(09/08/23追記)Beltzner氏は"I imagine it would be Gecko 1.10."とコメントしている。Gecko 2.0でないことは確かでも、1.9.4の名称になるとは限らないようだ。
リリース時期は「Q3/Q4 2010」であり、Firefox 4.0も2010年中の出荷を狙っていることがわかる。筆者はFirefox 3.7から7〜10ヶ月後と予想していたが、実際のプランはそれ以上にアグレッシブだった。
目標は、「クロームとコンテンツのプロセス分離、APIを通じた新しい拡張メカニズム、全プラットフォームでUIの改変」であるという。
- プラットフォームの改善
-
- コンテンツとクロームを別プロセスで
- バイナリコンポーネントのバージョニング
- 新しい拡張プラットフォーム(Jetpack)
- エンドユーザー向け機能の改善
-
- ブラウザ同期(Weave)
- 全プラットフォームで新UI
- スピードと応答性の改善
-
- TraceMonkeyエンジンの改良
Electrolysisプロジェクトの当初の目的に沿って、Firefoxのプロセスはコンテンツとクロームに大別され、コンテンツに関してはマルチプロセス化を実現する。Jetpackは本体に統合され、Weaveの統合も履歴などを含む完全なものとなる。
UIの更新が全プラットフォームに及ぶとされた点もいちおう新しい情報だ。タブをトップにもってくる計画は、これまでWindows版を対象にしていた。MacやLinuxだけ現行のままとは考えにくく、当然これらのプラットフォームにも反映されると推測されたわけだが、今回公式に確認されたことになる。