2011年11月1日

Google Developer Day 2011に行ってきた


今日はパシフィコ横浜で行われたGoogle社の開発者会議「Google Developer Day 2011」に出席してきました。
後日に全ての講演資料は公開されるかと思いますが、メモ書きをおこしてみました。

■基調講演
現状のGoogle社の各プロダクト別フィーチャーが語られました。特にモバイルについてはIce Cream Sandwichのデモやアプリ内課金など重点を置いて時間を割かれていたのが印象的でした。

- 今回は5000名が応募(そのうち2000名が参加)
- モバイルのプレゼンス
  - モバイルに賭けてきた
- 人々の関係 → 人中心に展開できるか
- セカイフォンのデモ:タブレットを見ながら対話的に翻訳
- キャリア課金を世界で展開
- in-App Billing → アプリ内課金(アイテム課金など)
- Ice Cream Sandwichのデモ
  - 新しいコンタクトリスト:SNSなどの情報を人に結び付けて一元管理
  - Android Beam:NFCを使った端末間での情報共有(デモではWebページを共有)
  - Face Unlock:顔認識によるアンロック
- Chrome
  - 世界で7割、日本で6割のシェア
  - 3D(WebGL)/デバイス/オフライン
  - クラウド側の威力
  - Web Intents/Native Client/DOM
  - forms
    - カラーピッカー
  - Developer Tools
    - ツール中で編集したソースのリビジョン管理
    - 上記ソースの書き戻し(保存)
  - Tokyo Teamでもコア開発している(WebSocketなど)
  - WebAudio APIデモ
    - WebAudio Drum Machine
      - ドラム音をブラウザ上で合成して再生
    - Plink
      - WebSocketで他の人と繋がって作曲を共同作業
- App Engine
  - Prediction API
  - Google Cloud Storage
  - Google Cloud SQLのデモ
- Google+
  - Hangoutsのデモ
- いいサービスを作るには?
  - 何事もエンジニアありき
  - 百聞は一デモに如かず
  - 日本でイケると思ったら世界のみんなも同感あるかも

■App Engine最新情報
勉強不足で拝聴したため後半が理解不足気味…Pythonも学習しないと(汗)

- Java/Python半々くらい
- 手軽、メンテナンスフリー、スケーラブル、高可用性、高セキュリティ
- ローカル上で開発可能 → デプロイ
- App Engineの健康状態を管理するエンジニア
- Enterprise Ready(もうすぐ発表)
- 月に一回リリースを保ちたい
- 各バージョンでの特徴
  - X-AppEngine-Countryヘッダ(アクセスしたユーザの国コード)
  - Proto RPC
  - HRDエミュレーション
  - ログビューアでタイムゾーンが選択可能に
  - スケジューラノブ
    - リクエストの処理方法を設定(インスタンス起動/待ち行列へ追加)
    - Min(Max) Idle Instances/Min(Max) Pending Latency
      - 課金が気になるなら要チェック
  - Task Queueでヘッダ/ボディ(ペイロード)が閲覧可能に
  - Backendsを変更可能に
  - App Identity API
  - Datastore Admin
  - Write Ops → 課金に関係
  - XG Transaction

■クラウド上でイケてるゲームを構築しよう
PlayNゲームライブラリを使ってPC/各種デバイス上で動作するゲームを開発するセッション。PC版のみでスコアが更新されないバグをその場で報告していましたw

■HTML5による最新ウェブアプリ
デスクトップアプリにひけを取らないアプリをブラウザ上で作るための開発方法を紹介。

- ユーザがアプリを使うには理由がある(意味を持っている)
  - リッチビジュアル
  - 既にユーザが知っているUIを使う
  - ユーザが試す前の障壁を無くす(情報入力など)
- History API
  - JavaScriptでページが書き換えられてもParmalinkが表示
- Drag & Drop API/File API
  - OS側とのファイルのやり取り
  - ブラウザ上でコマンドシェルをエミュレートも!
- Notification API
  - 通知バルーン表示
  - 内容はテキスト以外に動画なども可能
- パフォーマンス

■Android成功事例
福島でAndroidを接続したガイガーカウンターの開発を行っているGClueさんと、「なまず速報」というAndroidアプリを開発されているStridge Projectさんの事例紹介。

- GClueさん
  - ガイガーカウンターを作る勉強会を地元で開催
  - 機器との接続はAndroid ADKを使用
  - Internet Of Things
    - 全てをオープンソースにして情報交換
  - ガイガーミュラー管は1万円くらいするらしい
  - こういった知見から将来的には福島の新たな産業に
- Stridge Projectさん
  - 地震速報やサーバ費用は持ち出しの状態
    - マネタイズを考えたいが、サポート体制などで難しい
  - 開発体制は2名
  - アプリプラグインなどで拡張できるように
  - プッシュ通知
    - C2DM → 多数に送ると遅延(そのため現在は独自プロトコル)

■Googleの日常
Googleに入社してからどのような事が行われているか、また社内の開発体制などのご紹介。

- 入社直後
  - 一般的な研修
  - Google独自テクノロジの自習(教材はたくさんアリ)
  - エンジニア研修
  - 最初は小さなタスクから半年かけて一人前に
- 開発の流れ
  - チームの大まかな方向性
  - アイデア出し&目標設定
  - 先行調査
  - ドキュメント
  - 開発
    - チーム間でのやり取り(時には出張も)
    - コードレビュー
  - 評価
  - ローンチ
- 何をやるかはエンジニアが決める(ボトムアップ)
- Face to Faceでコミュニケーションが重要
- 使っているVCSはPerforceとgit
- ドキュメントは日本人同士でも英語で記述
  - コードには書かれていない情報を記述する

■Ignite(LT)
一人5分の持ち時間でプレゼンを行うのは一般的なLTと同じ。但しそれに加えてプレゼン資料が15秒で強制的に切り替わるルールが追加されていました。

■DevQuiz解説
今回のカンファレンス参加条件だったDevQuizの結果と問題の解説。

- 平均点は100.56点(危なかった…)
- 神経衰弱は人気(半分以上の方が参加)
  - AIDLは約1000人
  - Goは約500人(但しトライ&エラー回数が平均11回と多かった)
  - Apps Scriptは約600人
  - 一人ゲームは約800人
- スライドパズル
  - 解法や問題作成の解説…詳しくは公式資料を(難しすぎてお手上げorz)
  - C++/Javaで挑戦された方が多かった
  - Google社内でも満点はいらっしゃらなかったとか!(てか全問解かなかったw)

■その他
- NTTドコモのブースでは11月発売のNexus Prime実機が展示(人多すぎて手に取る事できず…)
- Google TVやChromeBookも展示

この規模のカンファレンス参加は久しぶりでしたが、どれも歯ごたえのあるセッションでとても刺激になりました!それとは裏腹に最新技術に自分自身がまだまだキャッチアップできていない事も分かったので、出来るところからコツコツと日々精進していかねば、と思った一日でした。