Thursday, May 31, 2007

[速報] Developer Day 東京 閉幕


すべてのセッションが終了した後には、レセプションパーティが行われました。
用意したグラスが一部足りなくなるほど、大勢の方に参加していただきました。
また、Google 東京オフィスからもエンジニアたちが駆けつけ(食べ物目当て?)
来場いただいた皆さんと様々なコミュニケーションをさせていただきました。

私自身も、セッションに関する質問をうけたり、Google のプロダクトに関する質問・フィードバックをいただいたり、Google Life に関して質問されたり、また、自作のアプリケーションを見せていただいたりと、
非常に有意義な時間をすごさせていただきました。

かしこまったセッションもいいですが、こういうカジュアルな場でいろんな方々と
ざっくばらんに話し合える機会があるのはいいですね。

今回、Developer Day の準備は、大変な部分もありましたが、来場していただいた方々から
こういった有意義なフィードバックをいただけると、またイベントを企画したくなります。

今後の予定についてはまだ何も言えませんが、また Google による開発者向けのアクティビティを
何かしたいと思った日でした。

さて、今日のセッションの録画は、すでにYouTubeに アップロードされつつありますし、
PDF ファイルもすぐに Web サイトにアップされます。
見逃したセッションがある方、もういちどゆっくり見直したい方はぜひ、ご覧ください。

来場していただいた皆様、本当にありがとうございました。

(naoki)

[セッション速報] Google Mapplets - “Mashup of mashups”


今日の緑のトラック、最後のセッションは、Googleオーストレリアのソフトウェアエンジニア、アダム シュックによる、今日出たばっかりのマップレットについての講演です。TシャツでGoogleのロゴが逆さまになっているのは、オーストレリアが南半球にあるからでしょうか。長い一日でみんなが疲れているだろうし、アダムが全員の体操を指導して講演を始めました!(笑)

現在マップAPIを使っている様々なウェブサイトがあるのですが、しかしの情報が別々のウェブサイトに散らかっているため、なかなか見つからないのが残念。それを解決するのがマップレット。ガジェットAPIのマップAPIの統合によるもので、マップレットが第三者の開発者が想像したマッシュアップを更にマッシュアップできるサービスです。どうりでこの講演のタイトル、「Mashup of Mashups」ですね。

既にプレビュー版が公開されているそうです。http://maps.google.co.jp/preview にあるそうです。ガジェット、マップのAPIを知っていればすぐ作れそうです。「スクラッチパッド」で気軽に作ってみることもできます。作るときのアドバイスとして、KMLやGeoRSSの使用を推進し、できればぜひ日本語だけでなく英語、ほかの言語でもマップレットを作ってください、とのアダムからのお願いがありました。

最後に:マップレットという、このマッシュアップのマッシュアップはこの講演に来ている方なくして、とても不可能です。ぜひこれからも面白いコンテンツを作ってください! と、アダムからの感謝の言葉でした。

(Brad)

[セッション速報] Software Engineer in Google


つづいて、東京オフィスのエンジニア、鵜飼文敏による
「Software Engineer in Google」です。
鵜飼は、Debian JP ProjectやNPOフリーソフトウェアイニシアティブの立ち上げなどに関わった、オープンソースコミュニティとの縁も深いエンジニアです。

Googleに入社してちょうど一年ということで、この一年で経験したGoogleでの仕事、カルチャーなどの紹介がありました。
「エンジニアリングチームは、世界で一つ」、「エンジニアは、設計からコーディング、改良まですべての責任を持つ」「オープンなコミュニケーション」、「イノベーション重視」など、実際の経験を元に、Googleでのプロジェクトの進め方についての説明がありました。

「創造的であるためには、情報は共有しなければならない」という理念の元、情報共有を非常に重要視しているということで、コードに書く前に「なぜそれをやるのか」や「どうやって実現するのか」、「誰が関わっているのか」を書き、エンジニア間で共有する「DesignDoc」や、誰が、いつ、どんな仕事をしていたかを共有するために「Weekly
Snippet (今週の進捗、来週の目標を書く)」、「社内Blog」などが活用されているということでした。

また、ソースコードについても、あらゆるコードを一つのレポジトリで管理し、全エンジニア間で共有しているということで、バグの混入を防ぐために、他のエンジニアがコードをレビューするという体制や、記述スタイルを統一するためのリーダビリティーレビュー、Testing
on the Toilet (トイレにテスティングに関するTipsが書いたチラシが張ってある)についても、説明がありました。

とても興味深かったのは、実際どのくらいコードを書いているかということで、「あるエンジニア」がここ一年で書いたコードの量が紹介されていました。
一年で3万行、週3.5個ほどのコードレビューをしているそうです。

これが多いのか、少ないのかは、よくわかりませんが、世界中にいる数千人のエンジニアが、たくさんの情報を共有し、より生産的に、みんなでものを作るという体制が、Googleの様々なサービスを支えているのだということがよくわかりました。

[セッション速報] Google AJAX API


青のトラック、三番目のセッションでは Googleの小俣裕一がGoogle AJAX APIについて紹介しました。

はじめに、AJAX APIを使ったサイトの紹介がありました。
AJAX Search APIでは、検索対象となるデータは、Web, Video, Mapといったように様々なタイプのデータがあり、クライアントとサーバが連携することによって、検索結果をページ遷移なしに見せることができます。
AJAX Search APIを用いれば、数行のJava Scriptコードを記述するだけで、魅力的な機能を実現することができます。
また、AJAX Feed APIを用いれば、簡単にJava Scriptからフィードを取得することができます。

Javascriptのコードをみながらの解説では、いかに簡単にAJAX Search APIを用いることができるかがわかりやすく解説されていました。
AJAX Search APIでは、プログラミングの知識がさほどない人でも、カスタマイズできるような機能が提供されています。

AJAX APIsに関する情報は以下のURLで見ることができます(現在のところ、英語のドキュメントのみです)
http://code.google.com/apis/ajax/

AJAX API では、検索結果を取り出し容易に利用することができる機能を提供しています。
一方、APIを利用する開発者側は、ビジョンと相違性、デザイン、検索の取り込みといったUIの部分を、担当することになります。
そのため、同じGoogle APIを用いても、それによってできるアプリケーションには無限の可能性があります。

ぜひオリジナルのアプリケーションを作ってみてください。

(hiroshi)

[セッション速報] Intro to Google Data APIs: Mashing up Google Calendar, Spreadsheets, and more!


緑のトラック3番目のセッションは、Ryan Boydによる「Intro to Google Data APIs」に関する講演です。

Googleでは、たくさんのAPIを公開していますが、様々なサービスで共通のAPIを使うことができるようになっています。それがGoogle
Data API(GData API)です。
GData APIは、Blogなどでよく使われている、Atom Publishing
Protocolに対して拡張を行ったREST-basedなAPIとなっています。

例えば、Query Modelでは、全文検索、Tagによる検索、更新時間に関する検索などが、共通のAPIで実現できます。
また、アウトプットの形式も、XML, JSONなどを指定でき、様々なフォーマットで結果を受け取ることが可能です。
つまり、GData APIをつかうことで、カレンダー、Blogger、また、Spreadsheetsなどに、共通のAPIでアクセスでき、さらに、それらを利用したマッシュアップを簡単に行うことができるようになるわけです。

プレゼンテーションでは、Google Finance、Google Spreadsheets, そして、Google Maps
APIを利用して、会社の概要、株価情報などをMaps上にマッピングするマッシュアップが紹介されていました。
それ以外にも、Google Apps, Google Base, Blogger, Google Calendar, Google Code
Search, Google Notebook, Picasa Web Albums, Google
Spreadsheetsで、このGData APIが利用できるようになっているそうです。(今後も、どんどん増えていくとのことです。)

Picasaの写真をカレンダーに追加とか、写真をMaps APIで地図上にマッピングなんていうマッシュアップは、ぜひ試してみたいですね。
GData APIの詳細については、http://code.google.com/apis/gdata/index.htmlをご覧ください。

[セッション速報] Google Desktop Gadgets


青のトラック、二番目のブレークアウトセッションが始まりました。Googleデスクトップのエンジニア、ジェームズ ヨムが講演します。靴、セータは同じチェック柄で、ガジェット関連のエンジニアはみんなファッションがいいですね。

最初は、ガジェットの例を挙げて(日本のデベロパーが開発したヌードルタイマーは面白い!)、なぜデスクトップのガジェットがいいか、説明します。Googleデスクトップも29カ国語に翻訳されているし、幅広くユーザに使っていただけるそうです。そしてデスクトップなので、iGoogle、ウェブページのユニバーサルガジェットよりUIのコントロールやほかのアプリとの連動ができるという点もいいですね。

オンラインの時は、デスクトップガジェトのゲームはインターネットの友達と一緒に遊べます。公演中、本社のマウンテンビューにいる友人とのチェスゲームのデモもありました。Googleデスクトップに入っているデスクトップ上のファイル検索機能のAPIも入っているそうです。MP3プレヤーで、MP3ファイルも検索できて便利です。ほかのアプリケーションのイベントも読み込めるから、ユーザのアクティビティーに合わせて作動するガジェットも作れます。

これからはグーグルのデスクトップガジェットがどんどんオープンソース化して行く予定なので、楽しみにしてね、とジェームズが話します。そして自分が作ったガジェットもぜひディレクトリーに登録してほしい、と。トップ開発者ページも用意されているので、次の人気のガジェットをぜひ作ってください!

2007年は「ガジェットの一年」と語るジェームズでした。

(Brad)

[セッション速報] KML – Geographical Format For Earth & Maps


午後のセッション、緑のトラックの二番目のプレゼンターは、Bruno Bowdenです。
日本でもメディアに取り上げられることの多い、かの有名なGoogle Earthで用いられる
KMLついての講演です。
KML は、Google が地理データの表現に用いるデータ形式で、XMLベースとなっています。

はじめにGoogle EarthのKMLを実際に編集し、デモをおこないました。
KMLを編集するのはとても簡単で、地理情報を簡単にユーザに公開することもできます。
KMLは拡張性が高いため、Google EarthだけでなくGoogle Map や、サードバーティの製品にも用いられています。

KMLを用いることで地理情報をサーバに渡し、その場所に関する様々な情報をとることもできます。例えばGoogle Sketchup で作成された3D モデルが豊富にありますが、KML を使えば、それらをインポートし、Google Earth 上で3D の世界を楽しむことができます。

さらに、Google EarthではKMLを用いて、地球上で起こる多くの現象を地理情報だけでなく、時系列で観察することができます。地球が抱える環境問題や社会問題を考える上でも、Google Earthは有用なツールになりうるのではないでしょうか。

(hiroshi)