Mozilla Flux

Mozilla関係の情報に特化したブログです。

Firefox 3.2を補強する三つの柱

昨日の速報に引き続き、Firefox.nextに取り込まれる予定のMozilla Labsの研究成果について分析していこう。

Mike Connor氏とは何者か?

内容に触れる前に、まず、"Firefox.next and Mozilla Labs"の筆者、すなわちPrism・Personas・UbiquityがFirefoxに取り入れられることを明らかにした人物について説明しておく。

Mike Connor氏は、Firefox開発者の中で総責任者のMike Beltzner氏に次ぐナンバー2の地位にある。Beltzner氏をマネージャとすると、Connor氏はチーフプログラマといったところ。Firefoxのモジュールオーナーとしてプログラム全体を管理し、1.9.1 Branchへのチェックインを単独で承認する権限をもつ。いわば別格の存在だ。

その彼が、「我々は、とくに三つのプロジェクトのいくつかの側面を組み込むことに焦点を合わせると決めた」と述べたことの意味は大きい。開発責任者クラスの間ではコンセンサスができているのだろう。正式には開発者会議の決定が必要になるものの、九分九厘通ると見て間違いない。

Firefox.nextは3.2の先も含むのか

昨日の時点では、分析が不十分だったため、統合が3.2より先で行われる場合もあるという書き方をした。しかし、原文をみると、「ユーザーは、3.1後の次のFirefoxでこれらの新機能を目にすると期待すべきである」とある。「十分な時間をかけて調査しており、最も有用な部分を特定して改善することに自信を持っている」ので選んだとも。

明らかに、Firefox 3.2ですべてを取り込むつもりだ。また、考えてみれば、Firefox 3.1はTraceMonkeyなど、バックエンドでの改良が目についた一方、タブプレビューパネルが外されるなど、フロントエンドはあまり変化がなかった。3.2でフロントエンドに顕著な変更を加えるのは自然な流れともいえる。

では、次に新機能の具体的な内容をチェックする。

Personas

Personasは、Firefoxの外観を簡単に変更できるようにするものだ。テーマと違ってメインウィンドウにしか適用されないが、再起動なしで簡単に「ペルソナ」を切り替えることができる。10万人以上のユーザーが存在し、50以上のペルソナが作られているという。

Firefoxと統合するにあたって、Personasの課題は何か。次のようなことが挙げられている。まずは、動作を極力軽いものにしなければならない。言い換えれば、ペルソナをパッと切り替えられるようでないとダメだ。また、ユーザーがデフォルト以外のテーマを使用していても不具合を起こさないような仕組みがいる。そして、多種多様なペルソナが提供されるチャンネル作りも必要だ。

こうした課題をクリアするためには、Personas側だけでなく、Firefoxのコードやデフォルトテーマも修正することになる。それでも、見積りでは、PersonasをFirefoxに組み込む作業だけなら約3か月で終了するという。ただ、ペルソナを集中管理するサーバーの整備にはさらに時間がかかるだろう。

作業予定期間が短い点は示唆的だ。Firefox 3.2がバックエンドにあまり力を入れないとすると、Firefox 3.1のリリースから6か月後には次のバージョンを出すつもりと考えられる。3.1も当初はそうした計画だったことを思い出してほしい。この場合、開発4か月目あたりでフィーチャーフリーズにしないとリリースが間に合わない。そうしたことを踏まえてPersonasの作業日数を計算しているとは考えられないだろうか。

Ubiquity

Ubiquityは、『UbiquityはFirefoxの一部となれるか』で説明したとおり、Firefoxにコマンドライン型のユーザーインターフェイス(UI)を加え、キーボードから入力された自然言語的な命令に基づき、さまざまな処理を行っていくプログラムだ。20万人以上のユーザーが存在し、コマンド数は数千にのぼるという。

Firefoxと統合するにあたって、Ubiquityの課題は何か。次のようなことが挙げられている。現在のパーザ(命令の処理エンジン)は全面的に書き直し、パフォーマンスを大きく引き上げねばならない。命令のローカライズをどうするかも問題だ。そして、UbiquityがWebサービスを利用して命令を処理する以上、Webサービスのローカライズにも対応する必要がある。つまり、英語版ではgoogle.comを使うとしても、日本語版ではgoogle.co.jpを使うといったように切り替えていく。あとは、セキュリティをどう確保するか。

Ubiquityの拡張性はひとまず脇へ置き、命令数も絞るようだが、基本的にコア機能はそのままFirefoxに組み込むプランとなっている。これは相当に骨の折れる作業になるだろう。ローカライズにかかる負担だけでも並大抵のものではない。しかし、コマンドプロンプトを呼び出して英語のコマンドを打ち込む方式では、英語圏のユーザーにしかメリットがない。こうした隘路に突き当たるので、マウスベースのUIが提案されているわけだが、あくまでコマンドを打ち込む方式を維持するつもりだろうか。だとすると、ロケーションバーと融合させるのかといったUI上の課題も残る。

スケジュールでは、7月末に最終のリリース候補版を完成させるそうだ。こちらもPersonasに劣らずタイトなスケジュールに見える。

Prism

Prismは、Webアプリケーションをホストし、あたかもデスクトップアプリのように動作させる一種のブラウザだ。

Firefoxと統合するにあたって、Prismの課題は何か。次のようなことが挙げられている。いろんなWebサイトをスタンドアローンで動作させられるようにする仕組みが、Windows、Mac、Linuxすべての環境で実行可能でなければならない。また、ユーザーが迷わず利用できるように、シンプルで直感的な操作方法を用意すべきだ。たとえば、ドラッグしたブックマークをスタートメニューにドロップしたらアプリが作成されるといったように。加えて、アプリを作成可能なサイトかどうかは、自動的に判別すべきかもしれない。

Prismに関しては、ラフなスケジュールもまだ決まっていない。どのような作業工程を経てFirefoxに組み込まれることになるのか、今ひとつはっきりしない。他の二つと比べ、多少の温度差を感じる。

何か忘れてないか?

Mozilla LabsのホームページではPersonasやPrismと仲良く並んでいるのに、今回選外になってしまったのがWeaveだ。Firefoxの設定やデータをサーバーにバックアップし、複数のFirefoxでの同期を可能にするプログラムである。

Foxmarksが人気を誇っている状況からすると、WeaveをFirefoxに組み込めばユーザーから大いに歓迎されそうなものだ。統合に要する負担が選ばれた三つより重いとも考えにくい。なのにあえて外したのは、大量のデータを保管できる信頼性の高いサーバーを揃えるのが難しいからか。

(09/03/16追記)Weaveの統合も検討されていることが判明した