Mozilla Flux

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

Fennec 1.0 Beta 3 + Weave 0.6

Nokia版Firefox Mobile(Fennec Maemo)の1.0 Beta 3とWindows Mobile版Fennecの1.0 Alpha 3がリリースされてしばらく経つが、記事を書いていなかったので、Weave 0.6と併せて紹介しておきたい。

Nokia版は、OS2008を搭載したN810とN800のInternet Tabletを対象とする。Gecko 1.9.2a2preベースのXULRunnerを基盤としており、BuildIDは「20090820194839」。Namoroka Alpha 1よりも新しいエンジンだ。

リリースノートによれば、次の点が変更されている。

  • 再デザインされ、はるかに速くなったスクロール
  • ビジュアルテーマの大きなリフレッシュ
  • タイルキャッシュ機能により、パン処理時にページのより多くの部分を節約
  • 方向ロックを伴うキネティックなパン処理の改良
  • ズームサポートの改良
  • iframesをスクロールする機能
  • 他のバグや洗練の問題を数多く解決

タイルキャッシュという見慣れない用語が出てくるが、これは何だろうか。froystig『Rendering with tiles in Fennec.』によれば、次のような内容だ。

まず、ビューポートを「タイル」と呼ばれる四角形のグリッドに分割する。当面このタイルは幅と高さの絶対値を持つ固定されたものである。可視領域に入ったタイルはレンダリングされ、一定の時間が経過するまでキャッシュが保持される。次に、ユーザーがスクロールしてビューポートを移動すると、新たにレンダリングすべきタイルが現れるが、スクロール処理中はレンダリングを行わず、処理を終えて新たな可視領域が確定した時点でレンダリングを行う。つまり、無駄な処理を省くことでリソースの消費とスピードの低下を抑える仕組みといえる。

この理解をもとにリリースノートの記述を読み返してみると、どうやら「パン処理」はスクロールによる縦方向の移動を含んでいるようだ。そのため「キネティックなパン処理」もメインはスクロールになる。画面をいったんホールドしてから上下に大きく振ると、勢いをつけた形でスクロールするが、これを指しているわけだ。blog.pavlov.net『Fennec 1.0 Beta 3 for Maemo』によれば「キネティックなパン処理」も大きく改良されたという。

もう一つ、CSS3のメディアクエリー(IT戦記『MediaQuery まとめ参照)を積極的に利用している点も注目に値する。Mark Finkle’s Weblog『Fennec - Of Screens and Orientation』が説明しているように、スクリーンサイズとピクセル密度を基準に、たとえば大きな画面には大きな画像を、小さな画面には小さな画像を表示して、だいたい同じような表示になるように調整しているのだ。

さて、ここからはデスクトップ版(Windows、Mac OS X、Linux)をWindowsで動作させ、それを踏まえて簡単なレビューを行いたい。

起動時、Beta 2のときと同様に、ランタイムライブラリが欠けている旨のメッセージが出た。Fennecの起動自体は問題ないものの、うるさく感じる。筆者はBeta 2のレビュー後にPCを買い換えたが、同じ現象に遭遇しているため、おそらく環境固有の問題ではない。

スタートアップ画面は、Beta 2と似ているけれども、ブックマーク画面を呼び出すボタンがなくなった。加えて、Weave Syncをインストールしていると左上のアイコンが独自のものになる。

ツールバーのデザインはBeta 2から変わっていない。ブックマーク済みのWebページを表示すると星形のアイコンに色が付く。ただ、そのアイコンをクリックした際に編集・削除の選択画面が出るのは新しい。「編集」を選ぶと、タイトル・URL・タグの入力画面に移行する。ちなみに、画面右上のマークは、前の画面に戻るためのものだ。


スマートロケーションバーは、結果の表示画面がかなり洗練された。従来はタイトルのみだったが、URLとファビコンが加わり、ブックマーク済みかどうかもスターの有無で判別できるようになっている。

タブ表示やEV SSL対応サイトの表示関係はBeta 2と同じ。

設定画面は、配色の変更を除けばあまり変化していない印象だが、画面最上段のメニューボタンは削除されたようだ。アドオンマネージャはBeta 2のユーザーインターフェイス(UI)が維持されている。やはり青が基調の配色ではあるが。


実際にコンテンツを表示させてみると、たしかにスクロールはスムーズになっている。とはいえ、スクロールが止まるまで描画されない個所が出てくるのは、率直に言って見づらい。また、Flashコンテンツの表示がおかしく、YouTubeで音声だけが出て動画を閲覧できない現象は、Beta 1以来直っていない。さらに、JavaScriptを利用してドロップダウンメニューを表示させているページでは、メニューが出ない。

JavaScriptの処理性能をSunSpiderベンチマークでチェックしてみたところ、Firefox 3.5.3が「1551.6ms +/- 9.7%」だったのに対し、Fennec 1.0 Beta 4は「1649.0ms +/- 3.9%」となった。JITの恩恵を強く受けていることは間違いない。

Weave Sync 0.6との連携についても紹介しておく。本バージョンからWeaveはUIが変更され、about:weaveから設定画面を呼び出す形になっている。設定画面は一つのタブになっており、○で囲まれた+ボタンを押すと個別のメニューが現れる。


サーバーと同期する場合の方向性を設定できる点に特色がある。双方向のほか、上りのみ・下りのみとすることも可能だ。

クライアントの改良のみならず、Tapestry『0.5 Server release』にあるようにサーバーシステムも刷新され、全体として同期のパフォーマンスはかなり向上した。

残念なのは、Fennec版Weaveで自動ログイン機能が使えないこと。そして、Weaveを呼び出すボタンが見当たらないところも問題だ。デスクトップ版ではabout:weaveと打ち込めばいいだけだが、実機だと手間がかかるはず。設定画面をブックマークしておくのも一つの手だが、あくまでユーザー側の暫定的な回避策であり、ボタンを復活させるべきだと思う。

Fennecの今後についてだが、もうすぐBeta 4が出て、その後Beta 5となる。これが最終Beta版で、ローカライズされたバージョンがリリースされるのもこのタイミングだ。それからRCフェーズに移行し、製品版となる。

製品版をリリースできたとして、最大の問題は採用の見込みだろう。アテはあるのだろうか。この点について、Mozilla Corporationのモバイル部長(Vice President for mobile)であるJay Sullivan氏は、Lifehackerのインタビューに対し、自信を見せている(『Mozilla VP on What Firefox Mobile Means for Your Phone』)。SamsungやNokiaと協力関係にあるというのだ。

実際に、NokiaのInternet Tablet(N810など)にはGeckoベースのWebブラウザが搭載されてきており、N900のMaemo Browserも同様だ。FennecがNokiaの要望を取り入れつつ開発を進め、製品化されれば、Maemo Browserを置き換える可能性も出てくる。もしそうなれば普及度を心配しなくてもよくなり、Nokiaとの契約から収入も見込めよう。

Nokia版の開発を先行させている理由の一つに、こうした財政上の理由があるのかもしれない。Windows MobileだとMicrosoftが標準を規定してしまうのでそうはいかない。ビジネスに結びつけるのは難しいが、逆に開発を慌てるべき事情もない。「統一されたWeb」という理念を重視し、じっくりと開発が進められていくと考えられる。