Mozilla Flux

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

ThunderBarとそれを支えるGloda

ThunderBarとは?

まずは、次の画像をご覧いただきたい。開発中のThunderbird 3(Mac OS X版)の検索時の画面だが、一見してこれまでとは大きく変わっていることに気付くはずだ。

検索バーが長くなっている。まるでFirefoxのロケーションバーのようだ。しかも、ツールバーのアイコンが「受信」と「作成」しかない。検索結果は1つのタブとして表示され、ヒットした項目の表示方法も従来とは違う。

この新しい検索バーこそが、Thunderbird 3の目玉機能の一つ、"ThunderBar"(サンダーバー)だ。Firefox 3のスマートロケーションバー、通称"AwesomeBar"を参考にしつつも、独自の進化を遂げている。

ThunderBarは、Thunderbird 2のクイックサーチ(件名と送信者の検索)と全文検索を統合している。もちろん、アドレス帳の連絡先も対象だ。FirefoxのAwesomeBarと同じように、ヒットした結果をリアルタイムで表示してくれる。上記画像のとおり、メールであればいつのものかもわかる。計画では、既読メール / 未読メール / 添付ファイル / ニュースグループの区別もアイコンなどで通知することになっている。ごく簡単にまとめれば、Thunderbird 3はデスクトップサーチの簡易版を自前で用意してしまったのだ。

他のアイコンはどこに行ったのだろう。「返信」や「削除」や「印刷」は? これらはすべてメッセージビュー画面に置かれる。どれもメール単位で処理されるものなので、メールを読む画面の近くにアイコンを置くのが自然というわけだ。だから検索タブを表示させているときは目にしないし、受信トレイのタブに移動してもツールバーには現れない。

Mozilla Messaging社のCEO、David Ascher氏によれば、ThunderBarはBeta 2から投入される予定だ。検索方法も柔軟になっており、まず人名を特定して絞り込んだうえで、トピックを検索することができる。このとき、自動補完機能がはたらくので、人名がうろ覚えでもかまわない。

また、"conversations"(会話)と呼ばれる検索機能もある。特定のメールをキーとして、内容が関連するメールをフォルダを横断して検索し、ピックアップしたデータを一連のものとして表示する。

Glodaの革新性

ThunderBarの背後にあるのがGloda(Global Databaseの略)である。ローカルフォルダに存在するメールのヘッダや本文、アドレス帳の情報などを、FirefoxのPlaces(履歴、ブックマーク、タグのデータベース)と同様にSQLiteを用いてインデックス化し、データベースを構築する(添付ファイルは名前や種類のみ)。検索時にはこのデータベースのインデックスを参照するので、基になったデータを参照するよりもはるかに短時間で結果を取得できる。

インデックス化の対象はオフラインのメッセージ限定だが、GmailのようなWebメールをThunderbirdで管理している場合でも、送受信したメールをローカルフォルダにも保存する設定にしてあれば問題はない。

Thunderbirdの初回起動時にインデックスの作成を開始するが、ユーザーが操作中のときはレスポンスを落とさないように処理への割り当てを減らす仕様のようだ。新規メールは当然インデックス化されるが、逆にメールを削除した場合は、インデックスに削除済みのマークを付けるだけで、明示的にデータベースを再構築するまではデータは削除されない。

一つ問題があるとすれば、ユーザーが大量のメールをため込んでいる場合の扱いだ。データベースが膨れあがれば、パフォーマンスはかなり落ちる。対策として、アカウント単位やフォルダ単位でインデックス化を抑止する設定が用意されるかもしれない。

まとめよう。Thunderbirdというメールソフトは、バージョン2でRSSリーダーを取り込んだが、バージョン3ではメールデータベースの管理ソフトへと進化した。それがGlodaの革新性の本質だ。