2008年5月第2週,米Googleの地図サービス「Google Maps」に,「地域の写真」というユーザーが撮影した写真を表示する新機能が追加された。同機能を開発したのは,Google Mapsの日本向けの機能を開発しているチームだったという。Googleの「20%ルール」から生まれた新機能について,開発を主導したTech Lead兼Managerの上田学氏に話を聞いた。

(聞き手は玉置 亮太=日経コンピュータ,中田 敦=ITpro
米国カリフォルニア州マウンテン・ビューにて


今回Google Mapsに追加された「地域の写真」とは,どのような目的の機能ですか。


GoogleのTech Lead兼Managerである上田学氏
[画像のクリックで拡大表示]
 Google Mapsに,ユーザーが作成したコンテンツを重ねて表示することで,Google Mapsで見ている地域を「散策」できるようにする機能です(写真1)。

 例えば「YouTube」に投稿されたビデオに付与されている「ジオ・タグ」(地域情報)と,Google Mapsの場所をひも付けて,投稿コンテンツの中でも厳選されたものをGoogle Mapsに重ねて表示できるようにします。

 写真については,風景写真に特化した写真共有サイトの「Panoramio」の写真を表示させています。

Panoramioとは,初めて聞くサービス名です。

 Panoramioはスペインの会社で,Googleが2007年に買収しました。風景写真を撮影したユーザーが,写真を地図にひも付けてアップロードして共有するサイトです。日本人のユーザーは少ないのですが,外国人観光客が撮影した日本の写真も大量に投稿されています。

 「地域の写真」機能は元々,日本向けの機能を開発している「日本チーム」が開発したものです。ただ,日本だけに提供するのはもったいないと考えて,リリース初日から全世界に向けて機能を公開しました。

開発の経緯を教えてください。


写真1●Google Mapsに追加された「地域の写真」機能
[画像のクリックで拡大表示]
 Googleでは,エンジニアが「面白い」と思ったことが,実現する仕組みになっています。この機能も,日本のエンジニアから出てきたアイデアが実現したものです。

 Google Mapsの利用状況を調べていると,ユーザーは地図上にある「面白い場所」を見ている傾向が浮かび上がってきます。

 例えば,ニューヨークの「自由の女神像」を地図から探している人や,「ナスカの地上絵」や「ピラミッド」といった歴史的な建造物をGoogle Mapsの衛星写真で見ている人が,たくさんいるのです。そういう人々に,「面白い場所」の「面白い写真」を見せられないかと思って生まれたのが「地域の写真」という機能になります。

 そもそもの開発のきっかけは,定期的に行っているブレーン・ストーミングでした。2007年夏ぐらいに行ったブレーン・ストーミングで,このような機能があったら面白いのではないかと話していました。すると2週間後に,あるエンジニアが「機能ができた」とデモを見せてくれたので,われわれのグループでも「これは面白い」「これは行ける」と確信して,実際にプロジェクトが立ち上がることになりました。

正式なプロジェクトになる前に,デモが完成していたのですか。

 やはり,エンジニアが作ったデモがあるとアイデアが理解できるようになりますからね。その後は,Googleのインフラに機能を実装して,Googleの製品として恥ずかしくない水準になるよう,つまり何千万人ものユーザーが利用できるように開発を進めていきます。

 Googleでは,アイデアを思い立った人が実際のプロジェクトでもリーダーになります。そうして開発した機能が完成すると,また新しいアイデアを生み出す段階に入り,新しいグループが生まれて新しいプロジェクトが始まります。Google社内には,そうやって有機的に生み出されたグループがたくさん存在します。

 このような開発スタイルを実践していく上で,Googleの「20%ルール」は重要な役割を果たしています。20%ルールとは,Google社員は自分の本来の仕事以外に,自分の時間の20%を使うことができるというルールです。週に1日分,自分がやりたいプロジェクトに費やせる時間があるということです。

 「地域の写真」のデモを作ったエンジニアも,この20%ルールを使用してデモを完成させました。

正式なプロジェクトになった「地域の写真」には,何人の開発者が投じられたのですか。

 実際に開発に携わったのは,数人だけです。東京にいるエンジニアと,カリフォルニア州マウンテン・ビューにある本社のエンジニアが担当しました。人数は時期によって変動していますが,フルタイムの仕事として携わったのは数人というレベルになります。

 Googleでは,何十人,何百人という人員を1つのプロジェクトに投じるという開発スタイルを採っていません。アプリケーションを動かすインフラストラクチャがしっかりしていますので,「Googleのインフラストラクチャ」を活用する手法をマスターしていれば,比較的少ない人数でも何千万人というユーザーが利用するアプリケーションを開発できるからです。

 われわれGoogleのエンジニアが使用しているインフラストラクチャは,基本的には一般の開発者に公開している「Google App Engine」と変わりません。もちろんわれわれはトレーニングを受けていますので,一般の人に比べて自由に利用できる機能はありますが基本的には同じものです。

Googleのインフラストラクチャを開発しているチームに,日本人エンジニアはいますか。

 います。東京にいるエンジニアも担当しています。インフラストラクチャも,基本的には少数精鋭で開発しています。インフラストラクチャのような大きなプロジェクトも,小さいグループで開発するのが,Googleの流儀と言えるでしょう。というのもメンバーが雑談しながら物事をどんどん決めていくのが,効率の良い開発スタイルであるという考え方があるからです。

 Googleは,誰かに売るためにインフラストラクチャ技術を開発しているわけではありません。ファイル・システムの「GFS」なども,何か問題があって,それを解決するために必要に応じて開発したものです。

 われわれのようなアプリケーション開発者は,「その機能を使ってユーザーが喜ぶのか」という視点でアプリケーションを開発しています。今回の「地域の写真」のような機能も,日本のユーザーに喜んでもらえるようなものを作ろうと思って開発が始まりました。

「地域の写真」のような機能は,直接の売り上げなどを測定しにくい機能だと思います。エンジニアの評価は,どのように行われるのですか。

 基本的には,ユーザーにどれだけ喜んでもらえたのか,どれだけ使ってもらえたのかが機能の効果を測定する指標になっています。