nextgenweb
google gears

Google Gearsを改めて検討する―狙いはオフライン機能だけではない

次の記事

Jimmy Wales: Wikia Searchの新APIは“検索結果に対するFacebookみたいなもの”

Googleの次世代ウェブ・プラットフォーム、Gearsについては、ウェブ・アプリケーションをオフラインで利用することだけが(あるいは主にそれが)目的だという誤解が広まっているようだ。事実は、Googleの野望はとてもそんなところに収まってはいない。Gearsのブラウザ拡張機能はそのような誤解をはるかに超えて多機能であり、広範囲な影響を与えるものだ。MySpaceが実装しているGearsはオフライン機能などとはほとんど無関係なのがなにより良い例だ。

Gearsが登場してまだ1年少々しか経っていない。最初のバージョンがリリースされたのは、2007年5月だった。バージョンアップの経過は ここにまとめられているが、要約すれば、Gearsには4回の主要なアップデートで順次機能の拡張が行われている。今年に入ってからも6月と8月にバージョンアップが行われている。

Gearsの全体としての目標は、ウェブ・アプリケーションにデスクトップ・アプリケーションと同等の機能を与えることにある。その手段として、さまざまな種類のOS(Windows、WindowsMobile、Mac OS、Linux)上のさまざまな種類のブラウザ(Firefox、Safari、IE)のエクステンションがサポートされている。Google独自のブラウザ、Chromeがリリースされたが、ChromeにはGearsがあらかじめインストールされているため、ユーザーは後からGearsをインストールする必要がなくなった。 これによってChromeは一種の「スーパー・ブラウザ」となっている。

Gearsというテクノロジーが長期的に意味するところは明らかだ。Gearsのような拡張機能の助けを借りて、ブラウザがますます強力になるに連れて、デスクトップ・アプリケーションをインストールする必要がますます薄れていく。(つまりWindowsとOfficeというMicrosoftの2大「金の成る木」が絶滅危惧種に転落する)。.

しかし、事態が本当にそこまで行くには、Gearsや同種のテクノロジーは現実にブラウザにデスクトップと同等の機能を与えることを実現する必要がある。(もう少し詳しくいえば、従来はブラウザの中だけで作動していたウェブ・アプリにデスクトップ・アプリ並の機能を与える必要がある)。

それでは、現状はどうなっているのか確認してみよう。現在、Gearsは以下のような分野でウェブ・アプリケーションの機能強化に利用できる。(デスクトップと携帯の双方で)。

  • クライアント側でのデータベース管理 – ほとんどの対話的なウェブサイトは、サイト内で生成される情報とユーザー側で生成される情報の双方を収集、管理するためにデータベースに頼っている。現在、このデータベースはほとんど全ての場合、サーバ側に置かれている。ごく簡単な処理を除いて、なんらかの対話的処理を行うにはユーザー側から処理要求をサーバに送り、サーバ側で処理が行われるのを待つ必要があった。これに対して、GearsのデータベースAPIを利用すると、ウェブサイトはクライアント側(つまりユーザーのコンピュータ上)にデータベースを構築できる。これによって処理の実行速度をアップできる他に、オフライン機能も提供される。(サーバのデータベースにアクセスできない場合でも処理が可能になる)。
  • クライアント側でのウェブ・ページ生成 – 簡単にいうと、Gearsは、サーバ側のウェブサイトにアクセスできない場合でもローカルに利用できる、ウェブ・サーバを設置することができる。このLocalServer APIを利用すると、ウェブサイト側ではオンライン状態の間にページのキャッシュをユーザー側に置き、オフライン状態でもサイトの表示を継続することができる。同時に、オンライン状態でも、キャッシング機能によって反応・処理を高速化することが可能だ。
  • デスクトップ・ショートカット – ウェブ・アプリがデスクトップ・アプリのように機能するには、デスクトップ・アプリと同じように起動できる必要がある。そこでGearsでは、デベロッパーがウェブアプリのショートカット・アイコンを簡単に作れるようにしている。ユーザーはデスクトップやローンチ・バーにアイコンを置いてダブルクリックでオープンできる。従来もデスクトップ用のショートカット・アイコンを作ることは不可能ではなかったが、Gearsの機能を利用すると、ユーザーがアイコンを直感的な操作で簡単に設置することができるようになる。またグラフィックスの品質も高く、複数のサイズがサポートされる。また将来はアイコンに対話的機能が付加される予定だ。(たとえば、ウェブ・メールの場合、未読メッセージの数が表示されるなど)。
  • 複数ファイルのアップロード – 現在、ウェブサイトに複数のファイルをアップロードしようとする場合、ユーザーはファイルを一つずつ選択して処理していく必要がある。(ウェブサイトがFlashやJavaベースのファイルローダーを実装していない場合)。Gearsを利用すると、ユーザーが複数のファイルを選択して一度にアップロードすることでき、手間と時間が大いに節約される。
  • 位置情報の利用 – ユーザーの現在位置を知ることができる携帯デバイスの場合、Gearsはブラウザがこの位置情報を利用したアプリケーションを走らせることを可能にする。位置情報APIは、一回ごとに位置情報を利用することもできるし、ユーザーがあちこち動き回るのを連続的にモニタすることもできる。ユーザーの位置情報にアクセスするには、ユーザーの意に反したスパイ行為を防ぐために、特別の許可ダイアログが用意される。
  • バックグラウンド処理 – 複雑なJavaScriptを利用したアプリケーションを利用していると、ユーザーは往々にして処理が終るまでかなりの時間待たされることになる。これに対して“WorkerPool” APIと呼ばれるAPIを利用すると、時間のかかる処理をバックグラウンドで実行させることによって、ユーザーのアプリケーション利用の体感速度をアップすることができる。その結果、ウェブ・アプリが固まる回数が少なくなり、きびきびとした使用感に改善される。

GoogleのGears開発チームはユーザーの声を反映して新たな機能を次々に追加してきた。ユー
ザーから要望されている以下のような機能も将来のアップデートで追加されるものと思われる。

  • プログレスバー – 巨大なファイルを1個、あるいは小さいファイルをいくつもアップロードしているような場合、処理がどのあたりまで進んだのか知りたい場合がある。これまでは、ユーザーはカーソルがぐるぐる回ったり砂時計が動いたりしているのをじっと見ている以外方法がなかった。Gearsでは、データがサーバにどれほど転送されているか知ることができるようになる。
  • ファイル転送の再開 – 巨大なファイルのアップロードが何らかの理由によって中断された場合、すべてご破算にして、一からアップロードをやり直す他なかった。Gearsではアップロードが中断したところから再開できる機能を追加するとしている。
  • ライブのポップアップ表示 – GrowlやTwhirlのようなマイクロ・ブログ・ツールを利用しているユーザーは、何か新しいメッセージが投稿されるたびに、画面の隅にポップアップ表示されるのに慣れている。将来のGearsでは、どんなウェブサイトも、ユーザーがブラウザを開いていないときでもこういしたポップアップを表示させることができるようになる。(ただし、クリックすると送信者のウェブサイトに飛ばされるスパムがうるさくなりそうなので、メールの受信ポップアップ機能はユーザがオフにできるようにしてもらいたい)。

長期的にみると、現在われわれが使っている強力なグラフィックス・カードの能力を十分に生かすような高度な3Dグラフィックスのサポートも行われるだろう。また、ファイルを右クリックするとメニューにGearsを利用したアップロードのオプションが現れるようになる。ウェブ・アプリはOSの起動と同時に、あるいは(ネーティブなデスクトップ・アプリと同様)、OSの機能が許すかぎりさまざまな方法で自動的にロードされるようになる。

GoogleのChris Princeが去る5月にGoogleのI/Oデベロッパー向けカンファレンスで行った、Gearsに関する情報豊富なレクチャーのビデオを下にエンベッドしたので、時間があればご覧になるとよい。

Nik Cubrilovicの次世代ウェブについての記事も、現在熾烈化しつつあるプラットフォーム戦争を展望する上で有益だ。(ウェブ・アプリケーションの機能を強化しようと試みている大手テクノロジー企業はGoogleだけではないことに注意)。

[原文へ]

(翻訳:Namekawa, U)