いつも品川シーサイドに引きこもりなので、 平日こういう催し物があると無駄にテンション上がってしまいます。 東京駅からテクテク歩いて東京国際フォーラムへ。ちょいちょい遠かったです。 東京駅はいろんな人がいて面白いですね。ガラの悪い修学旅行の団体とか。。 相田みつを美術館とかあったりします。今度国際フォーラムくるときは覗いてみたいなぁ。 受付け。自分の家にはプリンターがなく、会社でもよっぽどじゃないと、 紙は印刷しちゃダメよ的な感じなのでノートPCの画面にQRコード表示させて 受付けしてもらいました。 会社の枠みたいので参加したのでVIPらしいですw タッチダウンスペースには見慣れた配色のアレが。 ======= 基調講演 ======= 会場広い 結構前の方いきました。 Google及川さん HTML5がパワフルになってローカルアプリと遜色ないレベルに。 HTML5はオープンで標準なもの。 W3C慶応大学の一色さん HTML5きてる. 見るWeb、から、アプリケーションのプラットフォームへ HTML5に対するGoogleの支援がハンパない。 これから新しいビジネスがはじまる Google及川さん HTML5のブラウザサポート →IE9,FF,Opera,Safari,Chrome Chromeのcanary build →水槽のヤツのデモ。魚を増やせる。 ソフトウエアでやってたのをGPUで行う〜とか、 ブラウザもそういうことやりはじめてる 3D的なヤツのデモとかも。 GPUアクセラレーション →CSS3のトランスフォームで横向きにしたり、 MacBookProのモーションセンサーをブラウザで取得したりしつつ マイクで音声認識させたり、 HTML5 Studioってサイトでローカルの画像を ブラウザ上にドラッグアンドドロップしたり。 ハードウエアとの連携、ローカル資源の活用 課題もある →みつけやすさ。魅力的なサイトを一般の人が〜 例えば年賀状。来年になったら今年やったことを永続的に。 マネタイズ。魅力的なものが出来てもどうやって? ⇒Chrome Web Store 有償、無償、両方を提供する。 Webアプリケーションとローカルアプリのいいとこ取り的な。 Chromeアプリのデモ →FIABEEというアプリ。 ブラウザローカルのDBにキャッシュしておく。 Web SQLデータベースを利用することで実現。 サーバに問い合わせるより全然早い。 インストーラブルなWebアプリケーション TimBrayのAndroidの話 モバイル機器の広まり具合はPCの比じゃない。 AOLよりimodeの方が2倍の速さで広まったけど、 それよりiOSの方が凄い勢いで広まっている。 Android端末のアクティベーションやAndroidアプリも急速に。 TimはサムソンのiPadみたいなヤツを持ち歩いてるっぽい。 ゲームのデモとか。 今後のAndroid →アプリのLicense Server テザリング(もうホテルの質の悪い無線LANに金なんて払わない的なw) 音声入力のデモ。オムロンと協業。 →デモはうまくいかずw 日本Androidの会も成功してる。 日本は5番目に大きいマーケットで2番目に生産的な開発者達らしい。 フレッドさんのGAE話 日本のサクセスストーリー 1. エコポイントのシステム 2. mixiアプリ GAEはサーバーの事とかトラフィックの事とか考えなくてもいい。 サーバー管理,コンフィギュレーション,ライセンス、、、 →Google App Engine for Businessにお任せ 世の中のIT予算の60%は既存サービス/サーバーのメンテナンスだそうで。 ベンさんのVMWareってかSpringRooの話 そういえばSpringを買収して〜ってのはこれだったのか的な。 SpringRooのコマンドラインでジャンジャンジェネレートしてって、 GAEもオプションの中の一個だったり、ポータビリティーが〜とか。 mvnコマンドでデプロイとかやってたのかな?ちょっと英語の訛りが 聞き取りにくくてアレだったんですが、コレっていう感じがあんまり 自分にはしませんでした。。 及川さんのInputの話 日本語入力のMozcはChrome OSで動作するけど、 OSS化してるから有志の人で他のディストリビューションとかBSDでも使える。 で、MacOSの方もソースコードを公開した。 なぜオープンにするのか? →最近この分野いまいち伸びてない。オープンにすることで更に。 Google日本語入力Cloud API →フロントのJavaScriptライブラリとかはまだ公開してないけど。 IMEのデモは派手さないけど全てブラウザ&クラウドで動作。 工場萌えとか痛車とか精度が高く変換できる。 ======= ランチセッション ======= 参加できず>< GAE話ききたかったのに、基調講演の会場から長蛇の列で抜け出せず。 ようやく抜けだしても、満員だから入れませんと言われる始末。 大人しく弁当食って、10%引きだったのでHTML5本買いました。 #ここでもカードで決済するのに担当者がいないとかいってエライ待たされたり。。 Chrome丼はガッツリいただきました。 ついでに展示系もチェック。 本屋(日経BP10パーセントOFF)で↓こんな本発見ww ======= HTML5 Update(boringなtitleでゴメンとか言ってたなw) ======= マイク スミスさん。慶応大学の先生。 WebkitのCSS3での縦書きのバグの話とか。 →日本とかって縦書き重要だよね?電子ブックの市場とか。 e-bookの出版はブラウザエンジンをベースにしようとしたら、 であれば縦書きに対応してる方が価値高いでしょ? ⇒日本の人とかもっと積極的にコミットしたらいいと思う、と。 他にはいろんなAPIの紹介やHTML5のパーサーの話とか。 ======= Google App Engine for Business と Google Cloud サービス ======= GAE for Business クラウドのレイア→Software, Plattform, Infrastrucuture Google はそれぞれのレイアでもってる SaaS;Apps Paas;GAE IaaS;Storage、Prediction、BigQuery で、GAEは build, manage, scale がイイ。 99.9%reliabilityとか、MySQLも動くし、SSL on your domainとか。 GAEには9万人のアクティブディベロッパがいて、一日ウン億PVとか。 Google Cloud GoogleStorage →何をいつまで入れておいてもOK Restfulなインターフェース URIで識別 S3とコンパチブル レプリケーション(今は米国内でのレプリケーションだけどゆくゆくは国をまたいだで) イベントConsistencyの担保 WebインタフェースのGUIもあるし、gsutilっていうコマンドラインツールもある。 1ギガで1ヶ月0.17ドル。 Google Prediction API その文字列が何語か返してくれる→Train&Predict BigQuery Google Storageに入れてから、おなじみのSQL操作が出来る。 近似値とかTOPだけとか。RestでもJSON-RPCでも。 pythonのDB APIのおかげでコマンドライン用のシェルもあるし、 Spreadsheetからも叩ける! Q&A クラウド上のデータのシェアは?(アカウントをまたいだ) → BigQueryは出来ないけどStorage経由なら出来る(?ちょっと英語よくわからず。。) MySQLはスケールするの? →現状は単なるMySQLのインスタンスなので他と同じような。。 多くのインスタンスを立ててパーティションとかそういうのは考えてる。 ======= appengine ja night ======= 毎月やってるらしい。今までのセッションレビュー。濃いのが盛りだくさん。。 標準のJDOってオブジェクトがイマイチだ。 ローレベルなAPIを直接叩いたり。プロトコルバッファーとか。 TaskQueueどうやって使う?タスクを数珠つなぎにして30秒ルールを突破する~とか。 ACIDじゃなくてBASEトランザクション。 idempotence+Exactly Once。確実なトランザクション GlobalTransactionの実装。Based on 2phase commitment NextgenQuery:sortしながらマージしてく~なんてのも GAEはSingleプロパティに関しては楽だけど、復数の項目になると〜。例えば緯度経度とか。 Jruby+GAEはスピンアップがハンパないけどそれを解決したのがMirah and Dubious。 GoogleAppEngine+GoogleApps+GoogleAppsMarketPlace DaVinchPad:J2EEバリバリなのにスピンアップがそんな遅くない.GuiceとかJAX-RS ひがさんのGAEな話 AWSよりGAEじゃない? →630万PVを1日15ドル。とてもリーズナブル。 事例 ・LaBOLA:スポーツ関係のSNS:1人で作って1人で運用してる ・Buy7ow:AppEngine+Slim3。ある一瞬グワっとくるフラッシュマーケティングみたいのに向いてる。自動スケールが効果的。 ・Chan-Toru:SONYのヤツ。OpenID,Slim3。 どれだけアクセスがくるか予想できないけど、安く、自動スケーリングでやりたい。 →ソーシャルってそういうものだよね ・プレゼン側はスケールする仕掛けは今までのやり方でイケる。リバースプロキシとか。 ・DB側は横に並べてIDでSharingとかっていう。ココがボトルネック ⇒ AppEngineは意識しなくても自動的にスケールしていく。 どんなにアクセスやユーザーが増えても安定した性能が出せる。 世界一っていうくらい詳細に書いた書籍もある↓ Slim3 on Google App Engine for Java - 比嘉康雄/小川信一 AWSではちゃんと監視しながらスケールを見張ってるのが多いんじゃないか? →GAEは完全にGoogleにお任せ。 そのかわり、オートスケーリングは1回のリクエストを1秒で返さなきゃいけない。 TaskQueue。非同期なバックグランドプロセス。 今まではメンテナンスコスト->夜中のアクセス少ない時に~とかしてたが、 GAEならAdminコンソールでアクセス頻度と課金状況をチェックできる →使わなければ課金されないので。ほったらかしても平気。 AWSはサーバ用意しちゃったらお金払わなきゃいけない
Slim3 大抵オブジェクトをトランスファーするところにCPUコストがかかる。 →リフレクションでリソース食ってる Slim3はリフレクション一切使わないで。aptって機構。コンパイルの時にパフォーマンスが劣化するとこを取り除く mixiはリクエストを10秒。グリーやモバゲーは5秒とかって制約。 スピンアップ時間かけてられない。slim3なら1秒。 コミュニティが充実してる→#slim3とか#appengineにtwitter流せば。 Flash(今のゲームはFlashが結構主流) S3BlazeDS->BlazeDSをAppEngineで動かす。 AMF RPCのみ。シリアライズとかホットリローディングとか。 FlashだったらAMFでやれれば一番楽なはず。
demo HTML5でソーシャルアプリ Flashもいいけど、今後はHTML5 今までの携帯はHTMLとFlashLite。 画面遷移とかメンド臭い。 →最初にJSとかも全部キャッシュしちゃって、たまにサーバー的な。 これからはそうなってく。 ======= GWT ======= アーキテクチャ MVP: Model View Presenter 相互依存やスパゲッティを無くすためにEventBusってので。 Googleがサービスとして出す基準は以下のようにいろいろ Well tested、Secure、Monitored、Scalable、Bookmark friendly、Crawlable、Localized それぞれが上記のアーキテクチャと、どうリンクしてるのか?という話。 ツール使って自動生成して楽しようとか(ドメインオブジェクトの変換とかそういうの)。 更新系はEventBusにお任せで他に通知させるとか。 Localization は深いのでGoogleI/Oのセッションで~とかって言ってました。 AJAXのURLはハッシュサイン(#)で。 でもって、クロールさせたいAJAXリクエストはエクスクラメーションマークをハッシュサインの後に~ (コレって定石なんですかね。。はじめて知りました) Logging Client側に持たせておいて定期的にサーバ側に送る~とか。 StackTrace GWT2.1でどの機能のどのボタンが遅かった~とか、そういうの計測出来るようになる ======= LT ======= 朝から晩まで仕事もしないでw なんて前フリがありつつ。 どれもレベル高かった。 Google林さん グーグルカルチャー 日本だけで55個もクラブがある。フットサル、クライミング(会社に壁がある)とか。 グーグルサルサ部のステージ。衣装とか本格的だった。 梶川さん AppInventor。 プログラムかかなくてもアプリ作れる。昔のVBみたい。 なんも知識なくてもいいわけでもない。 ・インベーダーゲームのデモ。 コンポーネントの組み合わせが結構複雑 ・プレゼンツールもAppInventorで自作 佐々木さん Google App EngineでJRubyを動かす RackとServlet、 DataMapperとDataStore とか。 ActiveRecordが使えないのでそれっぽいの作ったり。 JRubyだとAppEngineのCPUもかなり食う。 スピンアップはJRubyで10秒、Rails15秒。 1回目Jrubyでリダイレクト、2回目でRailsでリダイレクト、3回目でようやくアプリ。。 VMをReserveとかwarmupなんてのが出てくるらしいので期待 長谷川さん OAuth認証でハマったこと。 アクセストークン。どれを使いまわせばいい? oath_token(使わない)とoath_token_secret(使う)とかヤヤコシイ。 URLを半角スペースで分けたり。Invalid Auth機能とか。 ややこしいんですね。。 久川さん(鳥人間) 宇宙ステーション観測アプリ。拡張現実(AR)。 NASAやJAXAより精度高いらしい。 GoogleのPM 権限はないけど、責任はある。。 クラウド住まいの履歴書 クラウド住まいの履歴書。 写真を組み合わせて3Dで。 3Dテクスチャモデル。欠陥、手抜き、過剰工事なしのために。 こまつさん HTML5でプレゼン iframeで他のところのデモをみせられたり。 iOSでremote操作したり。(iPhoneでフリックを拾って対象のとこにプッシュする、とか。) ◯◯さん 戦場とAndroid。戦場といえば、、、コミケ コミケのカタログはiPhone4が1ダース分。ジャンプみたいな分厚さ。 検索して目星をつけて、イイ感じにたどりつけるように。 画面が重なってもよさげにみせる。 stomitaさん GoogleFriendConnect OpenSocial Dashbord Mac OS XのDashbordみたいのをブラウザ上で。 すべてクライアント。サーバサイドのプログラム無し。 SVN上のindex.htmlにアクセスする感じ。コミットしたらその場で反映w GoogleWaveについて GoogleI/Oで熱くなって本を書こうとしてなんか知らないけど一人で書いたけど。。 完全に終わったわけではない。OSSになってる。Wave in the BOX apt-get install wave で〜ってのを作ってる。多分100人くらいなら大丈夫。 川島さん アジア太平洋のデザイナ@google ホリデーロゴ。8日間さばくでお金を使わずに暮らすキャンプみたいの。 Google創業直後?に、それに参加したいけど、誰がサーバみんのよって話になって、 んじゃ画面にそれっぽいの表示しとけばいいんじゃない?みたいなのがはじまりらしい。 デニスさんって人が世界中のを一人で書いてたがいよいよまわらなくなって。 著作権とかあるから。お伺いをたてにいったり。お金は払わないけどw JSでパックマン。全部クライアントサイドのコーディングで。 これからも動くのどんどん出していく。 WebSocket。遠藤さん リアルタイムの双方向通信