灯の持続時間などを調整して負荷軽減

開発でとくに気を使ったのは、いかに描画を軽く動作させるかでした。当初、1時間に2万の新たな灯がともると仮定して作成していましたが、すべてを忠実に再現すると非常に重くなってしまい、せっかくのキラキラもコマ送りのように不自然に表示されてしまいました。そこで同じ地点の灯を統合したり、灯の持続時間を動的に変えたりするようにし、これに対応しました。

サーバサイドでは、各クライアントからの灯の素データ取得のためのリクエストに素早く応答するため、都度CGIによって計算する方法は避けました。変わりに、ある時間単位ごとにアクセスデータを解析するプログラムをサーバ上で走らせておき、結果をテキストファイルに書き出しています。クライアントからはそのテキストファイルのみを読み込ませることで、負荷軽減を狙いました。

ユーザインタフェースに関しては、見た目はもちろんのこと、操作に関しても、簡単さと直感性をなるべく両立できるように私なりに考えてみました。


改めて「Firefox 3」に寄せられる期待を実感

Firefox 3リリース当日は、私もMozilla Japanさんのオフィスにて待機、リリースを心待ちにしておりました。そして日本時間の6月18日午前2時、ひとつふたつと灯がともりはじめ、すぐにキラキラ、ピカピカ、ギラッと日本中が光で埋め尽くされていきました。それは本当に感動的でした。午前2時にも関わらず、これだけの人々がリリースを待っていた。改めてFirefoxの魅力、そしてファンの期待を知りました。

Firefox 3リリース当日の「Firefox 3 の灯」。日本列島の形が浮かびあがるほど一斉にダウンロードが開始された

灯サーバがこの日記録したのは約20万ダウンロード(灯サーバでの統計は、Mozilla Japanサイトからのダウンロードに限定されており、また、後述するように、サーバが落ちてしまった分もあり、 Mozillaで公開している正式なダウンロード数とは数値が異なります)。1日に20万件というのは、こんなにも眩いものだということを初めて知りました。

ただすべての運用がうまくいったわけではありませんでした。アクセス集中のためサーバが1~2時間落ちてしまったからです。想定していた件数を大幅に超えてしまい、どうにもならなくなってしまいました。その際、Mozilla Japanのサーバまわりをサポートしている水越賢治さんには大変お世話になりました。その時々のサーバの状態にあわせて、最適なチューニングを昼夜を通して行っていただいたおかげで、その1~2 時間以外は、問題なく稼働することができました。

今回のソフトウェアを通じて、私自身、ダウンロードの臨場感や雰囲気を感じ、それを通じて、あらためて多くの人々のFirefox 3への期待を感じることができて嬉しかったです。そして、今も画面半分で「Firefox 3 の灯」を立ち上げ、幸せ満点な気分でこの記事を執筆しています。


今後もブラウザを活かした開発を

ブラウザはますます生活に浸透し基本技術となる中で、ブラウザが果たす役割にも多様性が出てくることになると思います。現在、私と筧康明(慶応大学)とで「siteskin」というFirefoxの拡張機能を開発中です。この拡張を導入すると、ブラウザを開いているその場所その時間に応じてブラウザのスキンが変わっていきます。単にウェブページを見るためだけのものであったブラウザに、新たに、実空間をも映し出す役割を与えています。


謝辞

サーバ運用のために多大なご協力をいただいた Mozilla Japan システムアドバイザーの水越賢治さん、素敵なバナーを作ってくださった慶応義塾大学4年 鈴木結美子さんをはじめ、UIを含め多岐に渡ってアドバイスを頂いた慶応義塾大学環境情報学部筧研究室のみなさまに、この場を借りて御礼申し上げます。また、このような機会をくださったMozilla Japanのみなさま、そしてなにより、ダウンロードをしてくださったみなさま、こころより感謝いたします。

著者プロフィール・あかつかだいすけ

都立航空工業高等専門学校(現・都立産業技術高等専門学校)機械工学科を卒業。在籍中からF1レーサーを目指し、カートでレース活動を行っていた。98年全日本F3選手権にスポット参戦を果たすが、結果が出せず諦める。

その後、フリープログラマとして京阪奈地区のソフトウェア研究開発に携わり、ソフトウェアの作り方や考え方を学ぶ。2003年上期 IPA未踏ソフトウェア創造事業「未踏ユース」、2006年上期 IPA未踏ソフトウェア創造事業で採択される。また「自分のために」をキーワードとしたちょこっとしたソフトウェアを公開している。現在は、フリープログラマおよび慶応義塾大学環境情報学部筧研究室の臨時研究員として日々の生活を過ごしている。