DevFest 2010 Japanに行ってきました

遅くなりましたが、3月11日にGoogleが主催するDevFestに行ってきたので、参加した講演のみとなりますが、気になったポイントだけ箇条書きにしておきます。

基調講演

Google App Engine - 分散クラウドコンピューティングの新しいパラダイム / リアルタイムソーシャルアプリケーション開発

OpenSocial in Japan 2010

  • mixiアプリ「記憶スケッチ」。記憶をたよりにお絵描きするOpenSocialアプリ
  • ナンシー関の記憶スケッチが元ネタ
  • Linux(CentOS 5.4)、ApacheMySQLPHP(+ZendFramework)。UIはActionScript3とopensocial-jquery
  • 調査込みでだいたい1ヶ月程度で開発
  • ユーザ数 127万人、投稿画像 1023万枚、データ量 504GB、一日の最大PV 512万(PC)+129万(携帯)
  • 事前の想定ユーザは半年で3万人→一番盛り上がっているコミュニティの1/10程度を想定
  • 当初(ユーザ数50万人くらいまで)はネットワーク担当者の自宅サーバで運営
  • 負荷対策
    • アプリサイドでの地味な対策
      • 負荷のネックになりやすいのはDB
      • テーブル形式(MyISAMInnoDB)の使い分け
      • テーブルの非正規化
    • 永続化データを積極的に利用
    • Ajaxを積極的に利用し、時間差でロード/表示を行うことでユーザの満足度を上げる
  • ユーザ獲得コストが限りなく低いことを意識して、新感覚のアプリを作る
  • とにかく目立つ必要があり
    • 毎日、続々と新アプリが登場してきて競争は熾烈。興味を引かないと試してさえくれない。アプリ名、内容、アイコン説明文に徹底的にこだわる
  • ルールはとにかく簡単に
    • 現代人は忙しい。アプリ開始から1分でアプリ内容を伝える
    • アプリの内容を簡単に。もしくは内容をキャッチーな言葉に置き換え、ユーザに伝える
  • ユーザ間バイラルを効果的に使う
    • 単独Webサイトと異なり、友人関係が既に構築済み。一緒に遊べるアプリであればバイラルでどんどん広がる。
    • Activity Feed, message apiを積極的に使う
  • 初期ユーザ爆発を乗り越えよう
    • 完成度高くリリースする必要がある。かつスケールアウトできる作りに
  • クラウドとOpenSocialアプリの相性がよいのは間違いないが、突然インスタンスが落ちたり遅延があったりするので安定環境とは言えない面もある
  • 「記憶スケッチ」は転送量が多いので割高になる可能性があったためクラウドを利用しなかった
  • 永遠のβ版にする。お知らせなどちょこちょこ更新するだけでも喜ばれる。ウイークリーアップデートを目標に日々改修を続ける
  • 人間関係はSNS側にあるため、ユーザの囲い込みが難しい。飽きたら即削除される
  • マネタイズの仕組みが必須。初期リリースから課金のことも考えておく
    • 「記憶スケッチ」はマネタイズの面では失敗している
  • OpenSocialの特性を理解することが大事。バイラルの仕掛けをうまく使ってアプリ設計を行うことで、今までに無い速度でユーザを獲得できる
  • 既存Webサービスとソーシャルアプリの違い
    • 既存Webサービス=ユーザが集めづらい。まず無料で公開して集客し、マネタイズはその後
    • ソーシャルアプリ=ユーザを集めやすいが、離れられやすい。ユーザ獲得コストは低いが、囲い込みは難しい。飽きたらすぐに離れる
  • ソーシャルアプリはリリース直後のユーザ増加が急なため、リリース後に徐々に改良という手法は取りづらい。最初から高品質でリリースする必要がある
  • OpenSocialアプリはモバイルからのアクセスがPCよりも断然多い
  • 問題点
    • 個人情報漏洩
    • 高負荷によるダウン
    • APIアクセスの性能問題
    • 誤課金
    • 不正リクエスト
    • 外部サーバ改ざん
    • SecurityToken流出
    • アカウント漏洩
    • ウィルス/マルウェア対策
    • 不正招待インセンティブ

HTML5 の Webイノベーション

  • Web Workersとは
    • JavaScriptをバックグラウンドで動作させる技術。あくまでバックグラウンドなのでUIに触れない
    • メッセージングでデータをやり取りする
    • Firefox3.5以降、Safari4、Google Chrome3以降で実装済み
  • 今後は、「ワーカを用いたUIとロジックの分離」が進むのではないか?

Web App の パラダイムシフト

  • HTML5.JP
  • HTML5DnDが標準化。IEの実装がベース
  • デスクトップへの入り口
    • dataTransfer.files
    • File APIのFileListインタフェース
  • Webがホームページからデスクトップアプリケーションまでカバーできるようになる
  • HTML5APIの仕様はシンプル。覚えていることはあまり重要ではない。Webテクノロジーをどこでどのように使えるかを考えることが今後ますます重要になる

Extensions5: HTML5 を用いた高度な Google Chrome エクステンション開発

その他(個人的な感想)

  • 個人的に一番の収穫はOpenSocialの話
  • HTML5を予習してから望めばよかった
  • mixiアプリのバックボーンにGAEを使うのはあり
  • 英語の講演にも対応できるようになろう
  • タイムテーブルの都合上、AndroidやGo言語の講演が聞けなかったのは残念