ホーム倉庫研究室調査報告書
Mozilla に関する調査報告
(2003.10.26 ヘンゼルの記憶)

Mozilla とは


Mosic を母としゴジラを父として生まれた Web ブラウザ。当時の正しい綴りは Netscape であった(「Netscape」と綴り「モジラ」と発音する、とコメントがあったらしい)。一時はブラウザの代名詞となった同ソフトもやがて IE によって市場を奪われてしまう。その後1998年に Netscape Communications 社が次世代ブラウザのソースコードをフリーウェアとする発表を行い、新たに Mozilla Project が誕生した。ここから生まれた Mozilla 0.9.4.1 を元に作られたのが Netscape 6.2 である。
2003/10/26現在の最新は安定化ビルドが 1.4.1、マイルストーンビルドが 1.5 となっている。また Firebird のバージョンは 0.7 である。
さらに詳しく知りたい人はは「Mozilla.org」や「ビギナーのためのネットスケープ7講座」を参照してほしい。

特徴


以下に Mozillaの特徴を述べる。
ただし特徴というものはある面から見れば長所でもありまた別の面から見れば短所ともなりえるものであることに注意してほしい。あなたの左隣にいる人は Mozilla を世界最高のブラウザと絶賛し、右隣にいる人は世界最低のブラウザと唾棄するかもしれないのだ。
オープンソース Mozilla はオープンソースである。ここで誰でもソースコードを入手することができるし、改造して自分だけの Mozilla を作ることも出来る。多くの人がデバッグに参加することでより完成度の高いソフトとなるかもしれない。 ソースなどあっても読んで理解できる人はごく少数にとどまるだろう。ほとんどのユーザーにとってなんのありがたみもない。責任が分散されるのか、長年放置されたままのバグが多数ある。
タブブラウザ Mozilla はタブブラウザである。画面に散らばるたくさんのウィンドウとは無縁だ。しかもタブをクリックすれば瞬時に表示するページを切り替えることができる。 実際のところ、いちいち「新しいタブで開く」で開かないとすぐにウィンドウでいっぱいになってしまう。先発の「Opera」や他の多くの IEコンポーネント利用タブブラウザに比べ非常に機能が限定されており、「タブブラウザ拡張」アドオンをインストールしない限り使い物にならないレベル。
マルチプラットフォーム(?) Mozilla はあちこちで使える。Windows、Linux、Mac OS X、OS/2、Solaris などさまざまなプラットフォーム用の Mozilla が用意されており、そしてさらに多くのプラットフォームにおいて Mozilla のソースを利用したブラウザが稼働している。もちろん Java で書かれているわけではないので、それぞれのプラットフォーム用にコンパイルされる必要はあるが。 Windows Only ユーザーであるあなたには何のメリットがあるのか判らないかもしれない。実際ヘンゼルには何のメリットもない。
W3C 準拠 Mozilla の表示は正しい。HTML 4.01 や XML 1.0 など W3C が定める多くの標準仕様に正しく準拠しているので、これらの仕様に基づいて作成されたページは正しく表示される。 現実にはバグや解釈の違いなどにより仕様通りに表示されないことがある。仕様への準拠を同様に謳っている「Opera」としばしば表示結果が異なるのは、どちらが正しいか?という問題以前に「準拠」を高らかに宣言することの意義を考えさせられる。そもそも準拠しているサイトの数に注目した場合、世界の標準は W3C ではなくむしろ IE だ。
アドオン Mozilla は拡張出来る。マウスジェスチャータブブラウザ拡張などさまざまなアドオンをインストールすることによって希望する機能を備えたブラウザになる。 Mozilla がアドオンをインストールしなければ使えない機能を、他の多くのタブブラウザは標準で装備している。Mozilla には Version が多数あるためアドオンが正常に動作するとは限らず、またたいていは日本語化されていない。このためアドオンを導入できない初心者にとって Mozilla は低機能のブラウザに映るだろう。もっともこのような初心者に Mozilla を奨める者は罰せられるべきだ。
テーマ(スキン) Mozilla は変身できる。ウィンドウフレームやツールバー、各ボタンの絵柄を自由に変更できるため、好きな外観で使用することが出来る。ヘンゼルは Walnut をこよなく愛している。 これらのページはほとんどすべて英語であり、また対応しているはずのバージョンで使えないこともある。ある特定のバージョンで実際に使用できるテーマの数は決して多くなく、「Opera」と比べるとどうしても見劣りしてしまう。ヘンゼルは Walnut が使えない Version の Mozilla にテーマ変更機能があると認めない。
セキュリティ Mozilla は安全である。IE ほどセキュリティーホールは多くなく(といわれることがあり)、IE のように OS に深く根ざしていないため、安全性が高い。IE のセキュリティーホールを利用する多くの危険なウィルスに感染する危険がない。 セキュリティーホールは IE と同じくらいある(といわれることがある)。ただマイナーなブラウザ用に作っても面白くないだけだ、とウィルス制作者は言っているかもしれない。あえてこれこれなどを挙げることも出来るが…。もっとも多くの一般ユーザーにとってウィルスチェックソフトを正しく使用しているならセキュリティーは大きな問題ではない。
なお興味がなかったので Messenger(メーラー)や Composer(HTMLエディタ)には一切触れない。

バグか? 仕様か? それが問題だ


Mozilla を最低のブラウザだというつもりはない。まして IE のフォーム上で IME が ON にならないという致命的な問題をかかえるヘンゼルにとっては、この問題が発生しないだけでも IE 以上の価値がある。
しかしながら Mozilla が非常に多くの欠点を抱えていることも事実だ。それらはバグであったり、仕様であったり、運営上の問題であるかもしれない。
ここではヘンゼルが問題と感じた部分について述べるが、その中には他の人にとっては全く問題にならないことも含まれるだろう。あなたにとってこれらが問題であるかどうか、またここに書かれていない他の重要視すべき問題があるかどうかは、実際に手に取って確認してほしい。

名前がかっこわるい

いきなり手に取らなくても確認できる問題。当初のゴジラを捩ったアイコンも恥ずかしいが、そもそも「Mozilla」という名称自体が日本人にはちょっと恥ずかしいモノがある。
それだけでなく Mozilla および派生製品の名称はたびたび問題を起こしている。これについては「ゴジラがMozillaを提訴?」「“不死鳥”PhoenixはFirebirdになれるか」「Mozillaの「Firebird」商標問題、和解の顛末」などを参照してほしい。
どうも Mozilla Project のメンバーは世間知らずのオタク集団という印象が拭えない。技術者などえてしてそういうモノだ、ともいえるが組織の上から下までがその状態では、世間に広く評価されることは難しいだろう。

Mozilla のサイトって…

とにかく重い。「もじら組」はそうでもないが、ひとたび「Mozilla.org 日本語版」や「Mozilla.org」およびその先へ進むとたいてい嫌になるくらい重くなってしまう。時にはページが表示されるまで数十秒も待たされることがあるのだ。
ただでさえ情報が分散しリンクが入り組んでいてわかりにくいサイト群なのに、これでは読むのを諦めて Mozilla の導入を見送る人が出ても不思議ではない。実際ヘンゼルも当初 IE の代替ブラウザを探したとき、よく判らず候補からはずしている。

導入がタイヘン

バージョンもページもたくさんあり、サイト内のリンクもぐちゃぐちゃでわかりにくく、簡単ではない。
以下はヘンゼルが通った道である。むろんすべての人が混乱するとは限らない。
  1. Mozilla.org 日本語版」→「Mozilla 1.4.1」→ インストール
  2. 1.4.1の「Mozilla アドオン」に日本語がないことにショックを受けアンインストール
  3. Mozilla 1.4.1」→「Mozilla 1.0.2」→ インストール
  4. 1.0.2の「Mozilla アドオン」に「タブブラウザ拡張」がないことにショックを受けアンインストール
  5. Mozilla 日本語パック」→「Mozilla 日本語インストーラ」→ 日本語版 1.4.1 インストール
  6. Mozilla 1.4 へようこそ!」から各アドインおよびテーマをインストール

中途半端なタブブラウザ

なぜかは判らないが Mozilla では他の多くのタブブラウザで採用している、target="_blank" なリンクなどの新しいページを新しいタブで開く機能がない。結果としてユーザーが明示的に「新しいタブで開く」ことを指示しない限り、まるでただの SDI アプリのように普通に新しいウィンドウがどんどん立ち上がってしまう。
この問題は「タブブラウザ拡張」を導入すれば解決する、という意見もあるだろう。しかし
  1. いちいちアドオンを追加しなければならない。
  2. 同アドオンのメニューが正常に日本語表示されないことが多い。
  3. Version によっては同アドオンが全く、ないしは正常に動作しない。
などの問題がある。

マウスジェスチャーがない/ダメダメ

Mozilla は標準でマウスジェスチャーをサポートしていない。「Opera」を使って一日でマウスジェスチャー教に入団したヘンゼルにとってこれは致命的。
というわけで「Mouse Gestures」アドオンのインストールは必須である。
ただこのアドオン、メニューがすべて英語。さらに反応がときどき鈍く、反応する範囲もページが実際に表示されている部分に限られる。つまり小さなページを表示しているとき、その余白部分ではマウスジェスチャーが効かないのだ。致命的なのは「サーバーが見つからない」ときで、マウスジェスチャーが全く使えなくなる。

リンクが visited になる瞬間

IE でのリンクはクリックしてリンク先のページを開いた瞬間に、visited として再描画される。たとえ新規ウィンドウや他のフレーム内にリンク先が表示されたとしても、である。
しかし Mozilla では、そのページが「更新」されるまでリンクのスタイルは visited にならない。
仕様だ、といわれればそれまでだが、ヘンゼルにとってははっきりきっぱり IE の仕様の方が望ましい。
ちなみにこの件に関する「Opera」での実装は最低で、リンクのスタイルは「再描画」されたときに visited となる。つまり他のウィンドウなどでリンク文字列が部分的に隠れた場合、次に現れると隠れていた部分だけが、visited なスタイルで再描画されてしまう。超かっこわるい。

テーブルの caption が(ノд`。)

Mozilla では<table>タグに対し margin: auto;などを用いてセンタリングしても caption 要素がセンタリングされない、という問題がある。それどころかそもそもテーブルを含む矩形内からはみ出してしまう。これについては Bugzilla.jp でも No.2496 で指摘されているが、結局 Mozilla の仕様、で決着がついているらしい(ノд`。)
ちなみに「HTML 4.01 仕様書邦訳概説」の「B.5.2 推奨するレイアウトアルゴリズム」において「レイアウトの観点では、ユーザエージェントは CAPTION要素が指定する表のキャプションを、1つのセルであると考える必要がある。」という記述がある。

ダウンロード

ダウンロードしたファイルをそのまま実行することが出来ない。すくなくともヘンゼルの見えている範囲では。IE はもちろん Opera だって出来るんだが…

入力フォームで文字が下にずれる

<input type="text">などの入力フォームにおいて、文字が下にずれて表示される。通常でも _ や _ などの下線が完全に隠れる程度にはずれていて、これらの文字が空白と区別つかないだけでなく、日本語入力時などでは IME の設定にもよるが未確定か確定か判別できないなどの不便さがある。
さらにフォームが再表示されたときなどに入力された文字が数ドット下にずれて表示されることがある。こうなると「コ」が「┐」に「口」が「冂」になってしまう。
この問題については Bugzilla.jp において No.2497 で指摘されているが、解決の見通しが立たず「対処方法」が紹介されているのみである。本家の Bugzilla.org では No.167001 にて報告されているが、その経過は絶望をもたらすようなものである。
以下ヘンゼルのアバウトな翻訳。
Koike Kazuhiko 2002-09-05 20:29
入力フィールドでアンダーラインが消えてるよ。
こんな感じ(訳注:Mozilla/Netscape 以外では正常に表示される)。
たぶん bug 156943 の修正の副作用だね。
Jaime Rodriguez, Jr. 2002-09-06 08:32
bug 156943 のデグレっぽいね。which was taken on the branch to address a concern for a major embeddor. Nominating for topembed(訳注:よく判らない)
Shanjian Li 2002-09-06 10:26
bug 156943 の修正を消したけどまだバグってるよ。ほんとにデグレ? bug 156943 の修正の前後でスクリーンショット比べてみてよ。
Frank Tang 2002-09-25 00:47
shanjian さんよろしく(?)。
Hideo Saito 2002-11-01 00:22
Win98SE で「line-height: 100%;」を \res\forms.css の input 要素の属性に追加してみたよ。文字がこんな感じで表示されるんだけど、この修正じゃだめ?
(訳注:修正内容省略)
Masayuki Nakano 2002-11-06 11:22
Bug 90884Bug 82265 は 20021100604-trunk/WinXP で直ってるんだけど…この問題は再現するね(^^;
Hideo Saito 2003-01-01 08:03
テスト用ページ作ったよ。
Hideo Saito 2003-01-01 08:05
で、こんな修正をしてみた。
そもそも layout/html/forms/src/nsTextControlFrame.cpp の関数 CalculateSizeStandard() でフォントの高さ mMaxHeight が、算出されたに行の高さ mEmHeight と違うから、フォントが上がったり下がったりするんだ。
この修正で両者が同じになるよ。
bug 156943 の修正で lang="ja" のときのベースラインも動かしたから、こうなったんだ。
Hideo Saito 2003-01-01 08:07
直した結果
Shanjian Li 2003-01-08 12:59
ftang さんよろしく(?)
Hideo Saito 2003-01-10 01:15
textarea 用の修正
高さを直してみたんだけど ftang さん見てくれる?
Hideo Saito 2003-01-10 08:34
textarea のテスト用ページ
Hideo Saito 2003-01-10 08:36
垂直スクロールバー用の修正
textarea で1行多く表示するとき、この修正だと垂直スクロールバーが表示されないんだ。
Hideo Saito 2003-01-10 08:38
これがその結果。
Hideo Saito 2003-01-12 02:12
この修正のうち 3つめはバグ対応じゃなくて仕様変更だった。説明が不十分だったからなかったことにして。
Frank Tang 2003-01-13 17:20
Saito さんはこのバグの修正に参加してるのかい?
出来ればあなたがわたしに見て欲しいのはどのパッチかメールで教えてくれる?
Hideo Saito 2003-01-13 17:45
混乱させてごめん。見て欲しいのは最初のパッチなんだ。
Frank Tang 2003-02-13 09:10
Windows XP 版では bugzilla のどの textフィールドでも現象が再現しないな。日本のサイトを試したけど、アンダーラインはちゃんと出るね。
解決したかな。
Masayuki Nakano 2003-02-13 11:34
いや 2003021308-trunk/WinXP でバグは再現するよ。ここ見て。
Yuying Long 2003-02-13 15:06
02-12 trunk build /WinXP でも出る。再開して。
Yuying Long 2003-02-13 15:29
再開。
Samir Gehani 2003-03-20 11:56
i18n 振り分けチーム: nsbeta1+/adt3(訳注:意味判らず)
Samir Gehani 2003-04-03 12:20
i18n 振り分けチーム: Simonに見てもらう。
Michael Buckland 2003-05-05 14:20
topembed バグ振り分けにおいて議論した。Minusing(訳注:意味判らず)
Vedran Miletic 2003-10-05 08:02
再開してる。
ヘンゼルの英語力ではところどころよく判らなかった(ノд`。)
ちなみに 2003/10/15 にリリースされた Mozilla Firebird でも問題は解決していないことを確認済み。

最後に


全体的に Mozilla に否定的な印象を抱かせる報告書となってしまったが、ヘンゼルがもともと IE ユーザーであり、それも日本語入力問題を除いて別に IE に不満があって他のブラウザへの移行を考えたわけでないことを割り引いて読む必要があるだろ。
セキュリティーホールの多さに辟易し、W3C を無視しがちな Microsoft の姿勢に反感を感じる者にとって、もし Opera のレンダリングが信用出来なければ(実際出来ないのだが)、Netscape/Mozilla がもっとも魅力的なブラウザに映るだろう。さらにソフトウェアに関する知識に溢れ、英語に対するアレルギーもなく、常に新しいモノをテストしてみるのが好きな人にとっては Mozilla こそが世界でもっとも優れたブラウザであると感じるに違いない。