Articles

The story behind Google Chrome

Ben Goodger and Google Chrome

Google は昨日の午後、Web ブラウザで達成可能なことの限界を超える Web アプリケーション用にさらなるスペースを追加して、2 番目の Web ブラウザをリリースしました。 Google Chrome チームは、新しいブラウザとその重要なコンポーネントをゼロから作成するために、直接雇用と買収を通じて、過去 6 年間にさまざまな分野のドメイン エキスパートたちを集めました。 GMailやGoogle Mapsは、レッドモンドで発明されながら長い間放置されていたブラウザ技術を活用し、ウェブの限界に挑みました。 Firefox のコアに貢献し、ブラウザの拡張機能を書き、HTML を支持するだけでは、1500 億ドルの企業はここまでしかできません。Web への取り組みを全速力で推進するためには、完全なブラウザを所有する必要がありました。

  1. 成長中のフラストレーション
  2. 買収の後押し
  3. ゼロからの新しいブラウザ
  4. Rev your JavaScript Engines
  5. チームの紹介
  6. 概要

成長中のフラストレーション

Brian Rakowski は Google の最初の准製品管理者として 2002 年 7 月に入隊しました。 彼の最初の仕事は? デスクトップ メール クライアントに匹敵する機能と応答性を備えた GMail を立ち上げることです。 Gmail は、XMLHttpRequest、ソケット、プリフェッチなど、比較的眠っていたブラウザの機能を利用し、2004年当時のウェブブラウザで可能なことの限界を超えたウェブアプリケーションを作り出しました。 今日の Gmail は、Internet Explorer 7+ や Firefox 2+ の最小要件を設定し、ブラウザの限界に挑み続けています。 Maps や Mail などの Google ウェブ アプリのチームは、ウェブ ブラウザの最新機能に絶えず頭を悩ませ、場合によっては独自のランタイムを発明しています。 数年間 Opera で働き、Firefox のテストを作成した後、Ian は新しいブラウザの機能に関する仕事を続けるために Google に入社しました。 HTML5 とブラウザーのコンプライアンス「酸性」テストは、仕様、テスト、実装を通してウェブ ブラウザーを再定義するための Ian や他の人々による重要な試みですが、これまで Google は開発支援とブラウザーの機能を加速するための Gears などのブラウザーの拡張機能のみを提供することができました。 複数のブラウザーで新しいアプリケーション機能を実現する Gears。 複数のコンピューター間でブラウザーの設定とデータを同期させるための Browser Sync。 より多くのウェブの信頼を生み出すセーフブラウジング。 これらの拡張機能のそれぞれのチームは現在 Google Chrome に取り組んでいます。

Acquisition Boost

Googleは2008年8月18日に、Android モバイル オペレーティング システムのベータ リリースとともに、最初の公式ウェブ ブラウザをリリースしました。 Google は 2005 年 8 月に Android を買収し、最も急速に成長しているコンピュータ (および Web) 市場であるモバイル ハンドセットへの足がかりを作りました。 Androidは、WebKitベースのブラウザと依存アプリケーションを通じて、GoogleのWeb資産を強調します。 Googleは2005年夏、オタワのReqwirelessとそのモバイルWebブラウザーを買収し、WebインターフェースでAndroidチームと協力することになりました。 Web ビューは Android の不可欠な部分であり、Google Chrome は、グラフィックス エンジンを含む Android のコードの多くを共有しています。 Skia チームは以前、Openwave の人気モバイル ブラウザのグラフィックス エンジンに携わっていました。 Google Chrome ブラウザーには、Windows、Mac、および Linux 用の Skia グラフィック エンジン移植版が含まれています。

Googleは2007年5月にアプリケーション セキュリティ企業のGreenBorderを買収しました。 GreenBorder の技術は、アプリケーション間のブリッジを作成することにより、ウェブコードとネットワークトラフィックを自動的にサンドボックス化します。 GreenBorder 技術は、Internet Explorer や Firefox のインスタンスを仮想マシン・インスタンス内の「サンドボックス」に隔離しました。 これらのサンドボックスは Google Chrome のコード分離層を形成し、各 Web ページで実行されるコードから他のタブと親オペレーティング システムを保護します。

A New Browser from Scratch

Ben Goodger, Google Chrome の技術責任者は Mozilla の SeaMonkey アプリケーション スイートから Firefox Web ブラウザを組み立てるのに最も有名な人物です。 Manticore、Camino、そして後の Firefox はすべて、2001 年に現代に適した Web ブラウザを見直す試みでした。 ブラウジングはコミュニケーションスイートから舞台を移し、ユーザーインターフェイスはウェブの効率化のために再構築され、(一部の)レガシーな残骸は横に投げ出されました。 Google は 2005 年に Ben を雇い、自分たちのブラウザの貢献を強化し、最終的には現代の Web のために Web ブラウザを完全に再設計しました。 2006 年春、チームは WebKit の上に構築された新しいブラウザーのプロトタイプに着手し、Gmail や Google Maps のようなブロードバンド接続された常時接続のウェブ アプリケーション向けに設計されました。 ブラウザの専門家は、Web アプリケーションに余裕を与えることができるでしょうか。

現代のコンピューターは、マルチコア マルチギガヘルツ CPU、ギガバイトのメモリ、メガビットの帯域幅、およびかさばるハードディスクを備えています。 Web ブラウザは、ブラウザ タブを独自のプロセスに分離し、オペレーティング システムとのすべての通信をマルチスレッド化し、キャッシュ サイズを向上させ、利用可能な場合はより多くの帯域幅を要求することを恐れないようにすべきなのです。 Internet Explorer 8、Firefox 3.1、および Apple Safari は、最新のマシン用の Web ブラウザに新しいアプローチをとっていますが、Google Chrome には、他のブラウザ アーキテクチャでは現在不可能ないくつかの機能を実現するための再出発という利点があります。 Internet Explorer 8 の Loosely Coupled IE は、ブラウザ タブ インスタンスを部分的に抽象化し、業界は概してこの方向に向かっています。

Web アプリケーション固有のリソース監視は、それらが特定されたので、ブラウザの肥大化を減らすために多くの Web サイトを動機付けるはずです。

Rev your JavaScript Engines

Lars Bak とデンマークのオーフスにある彼のチームは、プログラミング コードをマシン コードに変換するランタイムである仮想マシンを何年もかけて書き続けてきました。 Lars は Sun の Java VM、HotSpot を書き、後に J2ME 用の VM をスリム化しました (CLDC HI プロジェクト Monty)。 数年前、Lars とデンマークの彼のチームは、x86 および ARM アーキテクチャ用に最適化された新しいインタプリタ型 JavaScript エンジンの開発を開始しました。 V8 はマルチスレッドであり、複数のコンピューティングコア上で新しい並列処理を可能にします。 V8 は JavaScript のコードをどのように使用するかを推測し、誤った推測に対してはバックトラックを実行します。 V8 は、2008 年末までに Web ブラウザで目にすることになる新しいエンジンの 1 つです。

Google Chrome は WebKit レンダリング エンジン (JavaScriptCore, SquirrelFish) と同じ JavaScript インタープリターを使用することもできましたが、チームにはデスクトップおよびモバイル ランタイム用にインタープリターを最初から書き直す機会があり、資金も提供されています。 Web アプリケーションの開発者は、ブラウザの速度を目に見えて低下させたり、アプリケーションのエクスペリエンスに処理の一時停止を引き起こすような機能の追加を避けています。 新しい分野での新しいスピードは、既存のアプリケーションに機能を追加します。 Google のプログラマーは、V8 の結果、より効率的なコードを作成し、複数のインタープリタに対してテストし、最新のコンピュータに最適化する必要があります。 たとえ Google Chrome がブラウザの市場シェアを大きく伸ばさないとしても、Google Web アプリケーションのための最高のシングルサイト ブラウザになることを期待しています。 Gears はすべての Chrome インストールにバンドルされており、以前のプラグインよりも迅速に Web ブラウザに新機能を追加します。 Gears ライブラリには、新しいローカル キャッシュ構造、ローカル データベース、位置情報、バックグラウンド タスク、およびファイル操作のサポートが含まれています。 Chrome は、Google Reader や Google Docs(そして私のブログ)といった Google 自身のアプリを含め、ウェブ開発者が利用できる Gears のフットプリントを増やします。 Chrome に含まれる現在の Gears コードは、ブラウザにすでに存在する V8 と sqlite のコードを複製したもので、近い将来に統合されることを期待しています。

Chrome、V8、および Gears は、Google の HTML5 への取り組みにとって新しい試験場となり、W3C などの上流の標準化団体と実装者としての新しい席を獲得することができるでしょう。 Chromium のコミット ログでさらに多くの人が明らかになると思いますが (更新: より完全なリストはこちら)、以下は Chrome スタッフの簡単な要約です。

Brian Rakowski、リード プロダクト マネージャー Brian は 2002 年に Google の最初のアソシエイト プロダクト マネージャーで、Gmail に割り当てられました。 その後、Google Browser Sync Firefox プラグインに携わりました。 Ben Goodger, Software Engineer Ben は、元 Firefox 1.0 プロジェクトリーダーです。 また、Firefox の拡張システムのオーサリングも行いました。 2005 年に Google に入社。 Mike Pinkerton, Technical Lead Chrome の Mac 対応を担当した Google チームメンバーの一人です。 Netscape 社に勤務し、Gecko を使用した AOL クライアントに携わった後、Camino プロジェクトを共同設立しました。 2005年9月にGoogleに入社し、現在もCaminoの開発をリードしています。 Darin Fisher, Software Engineer Darin は、Firefox のコードベースに頻繁に貢献していました。 彼は、ネットワークライブラリ、クッキーとパーミッション、Netscape Portable Runtime を専門としていました。 Darin は 2005 年に Google に入社しました。 Lars Bak, Software Engineer, V8 Lars は、Sun の Java HotSpot VM と J2ME の Monty VM のコア開発者でした。 Google に入社する以前は、組み込み機器向けのオブジェクト指向 VM の会社を共同設立していました。 チームを大学のオフィスに移す前は、デンマークのオーフスにある農場でV8を開発していました。 Kasper Lund, Software Engineer, V8 Lars Bak とは、仮想マシンの開発で長い付き合いです。 Brian Ryner, Software Engineer Firefox の元コントリビューターで、マウスホイールのサポート、Gecko レンダリングエンジンのコアの調整、パスワード管理、Linux インストーラの追加を担当しました。 Pam Greene, Software Engineer Pam は、長年の Firefox の貢献者です。 ブラウザに OpenSearch を追加し、Places/AwesomeBar での全文検索に貢献しました。 Ian Fette, Product Manager Ian は、Firefox の元コントリビュータで、アンチフィッシング、アンチマルウェア、スペルチェック、Safe Browsing API に携わってきました。 Arnaud Weber, Software Engineer Arnaud は、Netscape と Borland の研究開発ディレクターを経て、2006 年 9 月に「秘密のプロジェクト」に従事するために Google に入社しました。 Brett Wilson、ソフトウェアエンジニア Brett は以前 Google ツールバーの開発に携わっていました。 Firefox の履歴とブックマーク機能に貢献しました。 Mike Belshe, Software Engineer Microsoft に買収される前、Lookout Software で Chrome という Outlook アドオンの開発に貢献しました。 また、以前は Netscape と Good Technology に勤務していました。 Huan Ren, ソフトウェア エンジニア ブラウザとネットワーク リソースの相互作用を取り決めるネットワーク フロー制御を担当しています。 以前はマイクロソフトに勤務していました。 Erik Kay, ソフトウェアエンジニア AvantGo ブラウザ、Outlook および Outlook Express 用の Qurb アンチスパムソフトウェアの開発に携わる。 Glen Murphy, ソフトウェアエンジニア Glen は、ユーザーインターフェイスデザインを専門としています。 以前は、ユーザーインターフェイスに携わっていました。 Firefox の拡張機能。 Google Browser Sync, Google Blog Search Evan Martin, Software Engineer Chrome と Web 用の自動テスト ツールを書いています。 John Abd-El-Malek, ソフトウェアエンジニア Google の Windows スペシャリストチームの一員として、Google Desktop、Google Talk、Breakpad を Windows XP と Windows Vista に導入しています。 Amanda Walker、ソフトウェア エンジニア Amanda は、Chrome の次期 Mac バージョンの責任者の一人です。 Mark Mentovai, Software Engineer Mac 版 Firefox の現在の Intel ベースのアーキテクチャへの移行に深く関わっています。 また、Breakpadプロジェクトや、Chromeの多くのレベルのコードに携わってきました。 Carlos Pizano, ソフトウェアエンジニア Carlos は以前 GreenBorder に携わっており、現在も Chrome のサンドボックスに携わっています。 Mark Larson, Program Manager Markも以前はGreenBorderとそのサンドボックスの専門家でした。 Aaron Boodman, Software Engineer, Gears Aaron は JavaScript でユーザーエクスペリエンスを向上させます。 Gmail、Greasemonkey、Gears の開発でよく知られています。

Summary

Google Chrome original logo

Google のビジネスは、検索、広告、およびアプリケーションへの Web アクセスの速度と可用性に依存しています。 Chrome は、その重いアプリケーションに最適化された完全なアプリケーションで、コンテンツへのフロントドアをよりよく制御するための Google の 2 番目の試みです。 Google Chromeは、すでに人気のあるオペレーティングシステムに個別のアプリケーションを追加することで、Androidの仕事の上に構築されています。 Google は長年にわたって独自の Web ブラウザーのアイデアを温めてきましたが、独自のフル ブラウザー アプリケーションの実用的な実装を最近リリースしたばかりです。

Android, Chrome および Gears は一体となって成長し続け、既存の OS に個々の部品を拡張していきます。 Google は、Windows、Mac、および Linux 全体で強力なレバレッジを持つべきアプリケーション抽出レイヤーの新しいスイートを構築し、これらのプラットフォームにおける同社の運命を直接支配しています。

Internet Explorer、Firefox、および WebKit がそれぞれ標準実装とパフォーマンスを巡って競争しており、新しいブラウザ テクノロジーにとっては刺激的な時期となっています。 ブラウザ空間に Google Chrome を公式に追加することは、将来の Web を強化する Google の立場を強化し、コア Web アプリケーションに強力なシングル サイト ブラウジング エクスペリエンスを提供することになります。