FutureInsight.info

AI、ビッグデータ、ライフサイエンス、テクノロジービッグプレイヤーの動向、これからの働き方などの「未来」に注目して考察するブログです。

Googleが独自プロトコルSPDYやインスタント検索で狙うリアルタイム性による緩やかなユーザの囲い込み

GoogleがSPDYと呼ばれる一般的なWebアクセスに使われているHTTPを独自に改良し、25%程度のスピードアップを実現するプロトコルをChromeに実装し、実際にGmailで利用しはじめた。

また、日本でもいよいよ打ち込んだ文字に直接反応してリアルタイムに検索結果が表示されるGoogleインスタント検索が有効化されはじめた。

SPDYのSever PushとServer Hint

個人的な興味もあって少し調べてみたがSPDYはChromiumの以下のページが詳しい。

SPDYの特色は主にSever PushとServer Hintと呼ばれる機構である。
Server Pushは文字通りサーバ側からリソースを勝手にプッシュしてくる機能である。通常のHTTPアクセスはクライアントであるブラウザ側から○○のデータを下さいという形で必要なデータを要求する。しかし、SPDYでは、サーバ側からこのリソースが必要でしょ?というものを能動的に送りつける。クライアントからの要求がない分、クライアントとサーバのやりとりは一回減り、結果的にデータの取得はスピーディになる。
ただ、通常のケースではサーバ側から何が送られてくるかわからないのに、そのリソースをうまく活用するのは難しいと思われる。また、すでにクライアント側がそのリソースをキャッシュしている可能性もある。この場合、ネットワークリソースが無駄になる。
Server Hintはどのコンテンツが更新されているかなどのクライアントが必要となるだろう情報をあらかじめサーバ側から送りつける機能である。こちらはSever Pushと比較するとまたプログラミングに利用しやすい気がする。機能自体もHTTPとリンクヘッダーを利用して実装されているようで、現実的に役に立つ場面が多そうだ。

独自ブラウザでリアルタイム性が強化されることでそのブラウザにユーザが囲い込まれる

上で書いたようにこのSPDYという仕組み自体は特に難しいことをしているようには思えない。GitHubにもSPDYプロトコルを解釈できるHTTPサーバの簡単な実装があり、それほど他のWebサーバ、クライアントに組み込むことは難しいことではいだろう。
ただ、このSPDYアルゴリズムを実際にWebアプリケーションに利用するとなると話が違ってくる。Sever PushとServer Hintは特にサーバ側がどのような挙動をするかをクライアント側でかなり細かく把握できている状況じゃないと、うまく利用するのは難しいと思う。Gmailという巨大なWebアプリケーションとChromeというクライアントの両方を抱えているGoogleのみが実際に投資に見合う形で活用、運用できる芸当ということだろう。他にこのような独自アルゴリズムを利用して効果がありそうなのはFacebookぐらいしか思いつかない。
SPDYを解釈できるChromeでのみGmailへのアクセスが強化されるということになれば、Gmailユーザは知らない間にChromeのみが実現できるリアルタイム性に慣れていき、他のブラウザを利用したときに違和感を感じるようになる。

Googleインスタント検索の技術的バックグラウンド

最近日本でもGoogleインスタント検索が有効化されはじめた。

このGoogleインスタント検索でおもしろいのは以下のGoogle技術的背景だと思う。

Google インスタント検索は、キーワードの入力中に検索結果を表示する新しい検索機能です。Googleサーチテクノロジーとインフラストラクチャの限界を広げ、より的確な検索結果をよりすばやく表示できるようになりました。「人は文字入力には時間がかかるが、読むのは早い」というのがGoogle の技術的見解です。通常、キーを押してから別のキーを押すまでの時間は 300 ミリ秒ですが、ページの別の部分に目を移すまでの時間はたった 30 ミリ秒(10 分の1)です。つまり、人は文字を入力しながら検索結果に目を通すことができるのです。

つまり僕らは文字入力を行っている間に視覚の方はreadyになっており、データの読み込みを待機していたわけだ。この待機時間を減らすことは結果的にGoogle検索を利用することではなく、他の検索サービスを利用したときになにか口には出来ない違和感をユーザに与えるという結果につながるのでないかと思う。

Googleのリアルタイム性の追求によるユーザの囲い込み

このリアルタイム性の追求による他のWebアプリと差別化を図るという概念のパイオニアがmalaさんである。2007年の講演だが、この基本的な考え方は今でも変わっていない気がする。今読んでも非常におもしろい。以下はその講演メモ。

Gmailや検索のような基礎的なアプリケーションでリアルタイム性の強化にさらに力をいれはじめていることを考えると、Googleのリアルタイム性への追求もいよいよ次の次元に向かっている気がする。
僕らは知らない間にGoogleのリアルタイム性に飼いならされ、他のWebサービスを利用した時に「遅!」と感じてしまい、緩やかにGoogleから離れられなくなっていく。これはデータなどで囲い込む従来のロックインとは異なる緩やかな囲い込み技法だ。
特に新しいWebサービスが出てきた時に、最初からリアルタイム性をユーザが求めてそのWebサービスをdisるのは筋が悪い。できたら、新しいWebサービスが出てきた時には革新性や有用度で評価し、リアルタイム性がイマイチでもそれがGoogleにより飼いならされた結果なのだと考えて多めに見るくらいがちょうどいいのかな、と思った。そっちの方がおもしろいWebサービスが世の中で広がっていきそうだし。
[おまけ]Twitterもやっているのでよろしければフォローしてください => gamella