
5/31に世界同時開催された、Google Developer Day 2007 にいってきました。
北海道からはるばるの参加でしたが、とても有意義な時間を過ごすことができました。
開発者としてとてもよい刺激を受けたとともに、僕の中でのGoogle好感度が格段にアップしました。
Kynote & Speech
ご挨拶 - グーグル株式会社 エンジニアリング ディレクター マグラス みづ紀

まずは挨拶から。
Google初の世界同時イベントで、このDeveloper Dayには世界で5,000人が参加しているとか。
世界10カ国で同日開催されるこのイベントは、シドニー会場に続き、東京会場が二番目で、Google本社のMountain Viewが最後です。
(ご挨拶されたマグラス みづ紀さんはとても美しい方でした!)
基調講演 - Google,Inc. UberTechLead/Manager Greg Stein

Greg Stein氏の講演は、Googleのオープンソースについての考え方でした。
- Googleのオープンソース活動は2002年頃から始まり、その頃はまだGoogle SOAP Seach APIしかなかった
 
- 2005年頃から、Google Maps API、Google Code等、続々APIが公開される
 
- sitemaps.orgは、Google,Microsoft,Yahooで設立し、CreateiveCommonsLisenceを用いている
 
- ライセンスをCreativeCommonsにすることで、利用者に安心感を与えることができる
 
- 自社のライセンスはつくらない。Apache、BSD、GPLを使用
 
- ソースコードの80-90%は公開しても問題ない
 
- オープンソースは市場を劇的に変える - Amazon,eBayの出現
 
- Googleはインフラ(APIs)を提供
 
- iGoogle,Mappletsを利用すれば、世界中のGoogleユーザへのリーチを得ることができる
 
ゲスト講演 - 株式会社はてな 取締役(最高技術責任者) 伊藤 直也

はてなの伊藤直也さんからは、はてなのサービスの紹介や、はてなのサービス作りの基盤は「クリエイティビティ」「コミュニティを信じる心」「技術」。「WebAPIは技術者をempowermentし、サービスによってユーザもempowermentする」というお話がありました。
いつもブログ等で拝見しておりましたが、こうして直接話しが聞けてとても刺激をうけました。
グーグル最新情報 - グーグル株式会社 シニア プロダクト マネージャー 及川 卓也

及川さんからは、Googleの最新情報がありました。
Google Codeの日本語化がされるようです。これはとてもありがたいことです。
iGoogleガジェットコンテストが開催されるようです。これは是非とも参加するしかないでしょう!
そして本日のサプライズ!Google Gearsの発表です。
GoogleGearsはWebアプリケーションがオフラインでも動作するようになるブラウザ拡張です。
他にもJavascriptを効率的に動作させる機能もあるようです。これはすごい!
前々からGoogleReaderがオフラインでも読めるといいのにと思っていましたが、早速GoogleReaderはGoogleGearsに対応しているようです。
このほかにも、「5分で出来るGoogleツールバーAPIを使ったカスタムボタンの作成」も披露してくださいました。
Breakout Session2
午後のセッションは2つの会場に別れて行われます。
どれも話を聞きたかったのですが、今回はこちらを聞くことにしました。
後日Videoやプレゼンの資料が公開されるようですので、今回聞けなかったものもチェックできるようです。いいですね。
Google Gadgets API - Sophia Brueckner

Sophia Bruecknerさんからは、GoogleGadgetsAPIについてです。
- Gadgetsを利用して、先日名称変更されたiGoogleカスタマイズできる
 
- ワールドカップの試合状況をリアルタイムに提供するガジェットが人気を博した
 
- 世界中で10,000,000のリーチ
 
- もっとも人気のガジェットであるWikipedia検索のガジェットは、14歳の少年が作成した。すごい!
 
- ガジェット経由で自ページへのトラフィック増を期待できる
 
- ガジェットはXMLで作成
 
- ローカライズにも対応
 
- Gadgets For your webpage - どこにでも設置できる!
 
- Gadgets内のFlashアプリにてGadgetsのuserPref(ユーザデータ)を取得可能
 
Gadgetsの作成はとても簡単!らしいので、ガジェットコンテストもありますし何かつくってみたいですね。
面白いガジェットとして、マウスポインタを目で追うガジェットや、Pony(馬)の世話をするガジェット、金魚の世話をするガジェットが紹介されていました。
また、Googleでは、GMail、Calendarのガジェットがよく使われているようです(笑)
Google Desktop Gadgets - James Yum

James Yumさんからは、Google Desktop Gadgetsの紹介です。
- ガジェットはユーザが求めている!(結構人気があるみたいです。知らなかった・・・)
 
- ガジェットには、UniversalGadget(Webで動作。HTML+Javascript)と、DesktopGadget(XML+Javascript)がある
 
- ヌードルタイマーのガジェット(日本製)や、バッテリー残量を教えてくれるガジェットが人気
 
- SDKを利用すればガジェットを簡単に作成できる
 
- AdvancedAPIs(DesktopGadgets特有のAPI)
 
- CommunicationAPI - GoogleTalkの機能を利用しガジェット同士の通信を可能にする
 
- QueryAPI - Googleデスクトップのインデックスから検索(非常に高速)
 
- EventAPI - ブラウザを開いた等のイベントを扱うことが可能
 
- 2007年はガジェットの年になるらしい
 
- ActiveXを通して、WindowsAPIも扱うことが可能
 
- VBScriptもサポート
 
- デスクトップアプリケーションと同様のことが可能
 
デスクトップガジェットにはまったく興味がなかったのですが、なかなか面白そうです。挑戦してみようかしら。
公演中に、「たまたま」本社の友人がリストにいたので、実際にチェスのガジェットを披露してくれました。リクエストに答えてくれた友人がとても素敵でした。
Google AJAX API - 小俣 裕一

小俣 裕一さんからは、AJAX APIの紹介です。
- AjaxAPIには、SearchAPIとFeedAPI(それにMapsAPI)がある
 
- SearchAPIは、ローカル、Web、News、ブログ等のサーチを選択可能
 
- FeedAPIは、SlideShowコントロール、Blogロール、TuneBarコントロールが使用可能
 
- AjaxAPIsを用いると、簡単なUIも適用してくれる - すぐに利用可能
 
このAjax Feed APIは、弊社Webサイトのリニューアル時に実際に利用してみました。
ほんとに数行のJavascriptコードで実装できてとても簡単です。
簡単なUIも適用してくれるので、レイアウトにそれほどこだわらないときはすぐに利用が可能ですので非常に便利です。
ほかにもVideoやSlideShowも扱えるみたいですので、どんどん利用していきたいと思います。
Software Engineer in Google - 鵜飼 文敏

鵜飼 文敏さんからは、Software Engineer in Googleと題して、Google内での開発の様子を紹介してくださいました。GDD日本スペシャル講演です。
鵜飼さんは、本日でちょうど入社1年(6/1入社)になるとのこと
- グーグルの開発センターは世界各地にあり、それぞれの場所でそれぞれのプロジェクトに参加し作業をしている(ローカライズだけをしているわけではない)
 
- ソフトウェアの開発は、一人が全ての工程(設計~テスト)の責任を持つ
 
- プロジェクトは非常にたくさんあり、ボトムアップで発生する
 
- ひとつのプロジェクトは2~6名
 
- イノベーション重視 - 早くどんどん作る!
 
- オープンなコミュニケーション - IM, ML, Wiki ,Docs, Blog等
 
- 最近はWikiより、リアルタイムに共同編集できるDocs & Spreadsheetsに移行しつつある
 
- プロジェクト開始時にはDesignDocを作成
 
- DesignDocには、背景・目的(Why?)、設計(How?)、メンバー(Who?)、セキュリティー・プライバシーについての考察、テスト・モニタプランなどが記載される
 
- DesignDocは、他の人が見てどんなプロジェクトか分かる程度のもの。後から自分がみて理解するためにも重要
 
- 主な言語は、C++, Java, Python, Javascript。最近は動画のためにActionScriptも。あとは独自言語のSawzall
 
- あらゆるコードはひとつのリポジトリで管理 - 全エンジニアで共有
 
- コードは他の人がレビュー
 
- コーディングスタイル統一のためのリーダビリティレビュー
 
- 偉い人ほどコードを書いている
 
- パフォーマンスを重視。よりよいアルゴリズム、計測・最適化 - 遅いとつっこまれる
 
- スケーラビリティは並列化
 
- 「Testing on the Toilet」テストのうまいやり方を書いたビラをトイレ貼り付け - Unitテストは基本
 
- 「遅いのは勝てない」「スケールは重要」 by エリック
 
- Project,Idea,Bugの情報はデータベースにて共有
 
- TechTalk - プロジェクトや自身の技術についてスピーチ
 
- ユーザ情報、プライバシーデータは非共有。別サーバにて厳重管理
 
- 仕事の評価は、同僚が評する - 一緒に仕事している人間が一番知っている(気が抜けない笑)
 
- マーケティングにつては考えるな! - ユーザにとってどうなのか?使われるのか?人気があるかを重視
 
- プロジェクトを社内で公開→人気があればLabsで公開→人気があればProductとして公開
 
本日一番参考になったのでは?と思える内容でした。
Googleでは、とにかく情報を公開することで、誰もがプロジェクトに自由に参加できるので、まさに社内でも玉石混交の淘汰が行われているわけですね。
各エンジニアが「これいい!」と思ったらどんどんプロジェクトを立ち上げられるわけで。
まさにインターネットの世界がGoogleの社内の世界なようです。
Reception Party



本日ラストは、レセプションパーティーです。
残念ながらGoogleの社員の方とはお話できなかったのですが、近くにいたBHA(B's Recorderを作っているところ)の方とお話ができてとても有意義な時間をすごすことができました。
当たり前ですが、Google社員の方は大人気でした!
Google Developer Day 2007 を終えて

冒頭でも書いたように、今回のGDDに参加して、とても刺激を受けました。
やはりこういう場に参加し、リアルな空気に触れることはとてもよいことですね!
今までGoogleというとある意味「神」のような存在に感じていましたが、とても身近で、フレンドリーな存在なんだと再認識しました。ものすごい存在には変わりありませんが・・・。
あとは、やっぱり英語は必須だなぁと痛感しました。僕はまったく英語ができないので、外国のエンジニアの方と話がしたいと思っても、なかなか踏み出せません。(同時通訳の方が咳き込んでしまい、何を言っていたのか分からない、なんてこともないでしょうし笑)
また、今回の東京出張により、普段はメールや電話でのやり取りだったお客様と直接お会いすることができました!
わざわざお会いいただき、ありがとうございました。