Google Developer Day 2008

6/10にGoogle Developer Day 2008に会社さぼって行ってきました。参加したのは以下のセッション。感想かいてるけど、ちょっとポイントずれてるかも。というのも、元々googleの技術を常に追っているわけではないし、また「googleのサービスを使って何を作るか」という観点ではあんまり見てないのです。どちらかというとほんとうはgoogleのサービスの基盤的な技術の方に目がいきがち(こういうのとか)。develop or dieな姿勢もそんなに好きじゃない。でもでも、Googleのサービスは、「何かを生み出せるかもという可能性」を提供しつづけるのでやはり気になって仕方がないのです。

基調講演

前日にWWDCみてたので、遅刻。Google App Engineの最中から聞く。

Google App EngineGoogleのWebアプリケーションリソースを技術者に公開しますよ、といったものらしい。登録予約者殺到しているとのこと。そらそうだろうなあ。さすがにこれはAll Freeというわけにはいかず、制限超えると課金されるらしいす。

OpenSocialソーシャルネットワークに共通的に利用できるAPIらしい。リクルートの方が「どこイク」で試験的に実装している例を示してた。セキュリティが今後の課題らしい。

Google EarthをつかったMONSTER MILKTRUCKというアプリが楽しい。海の上やエベレストの上をバウンドしながら走る車。かわいい。

OpenSocial

Yahoo!MySpaceGoogleなどで共同でOpenSocial.orgを立ち上げ、APIを策定。確かにサービスが行き渡りすぎると、利用者の流動が減るので、早めにこういう施策をうっておかないとソーシャルネットワークの市場自体が停滞するだろうしなあ。また、協業で業界標準APIをつくるってところが妙に気になる。クローズドな世界での複数企業間の共通APIってだいたい1企業が出し抜いたり結局みんな積極的な協力しなくなったりで失敗しがちだけど、オープンな世界での共通APIってどうなるのだろう。ちと楽しみで、ちとハラハラ。Googleが出し抜いたりして。いちばんありえそう。あはは。

と、まあ技術的じゃないところに妄想が膨らんだけど、気を取り直す。クライアントAPIはバージョン0.7まではJavascrptだけだったけど0.8からはRESTも対応するようになったそうです。コンテナのホスティングApache Shindigで。

妄想膨らみすぎたせいか、OpenSocialGoogleリソースで提供されるのかと思いこんでいたので、最初の方全く理解できてなかったす。今回サポーターもつとめ上げた超プロフェッショナルな友人に説明してもらってやっとわかった。ありがとです。

Androidアプリケーションの構築(基礎編)

まずは協業している企業から説明。携帯通信インフラプロバイダ、携帯端末メーカー、半導体メーカー、Webサービス企業、広告企業(?)の5業種34社でOpenHandsetAllienceとのこと。

次にandroidプラットフォームのソフトウェア構成図の説明。あとAPK(アプリケーションパッケージ)の構成説明。Process管理はLinuxまかせ(androidの1ProcessはLinux
1Processと対応している)。エミュレーターQEMUベースのARMプロセッサエミュレーター。推奨開発環境はEclipceでプラグインもあるとのこと。

根底の思想として、拡張可能、コンパチブル可能が目指すところだが、現実問題やはりハード次第なところはあって、現在デバイスプロファイルは策定中とのこと。

Android Dalvik VMの内部


個人的に一番面白かったセッション。携帯端末での限られたメモリ、CPUを有効活用するためにどういう最適化がDalvikでなされているか。またその背景をふまえてAndoroidプログラミングにあたって考慮すべきポイントは何かってところを語ってました、たぶん。というのも同時通訳がなんだか追っ付いてなくて、たまにフレーズが訳しにくいのかそのまま読み上げてたりなんかして、すごく理解しにくかったっす…。でも仕方ないかと思わせるぐらい深い内容話してた気がする、たぶん。

Javaでは普通classファイルをJarファイルの形にして動作するんだけど、dalvikではdexファイルで動作する。jarからdx-toolでdexファイルに変換できるそうです。んで、classファイルとdexファイルのCPU I/Oの比較を数例示してた。

GCも何やらカスタマイズしてるらしく、markbitとobject dataのワンセットなembedded markbitを、複数のobject dataをまとめてparallel markbitsと対応づけることによって、どうのこうの…。走り書きしたノートをあとでみてもちんぷんかんぷん。うがー!

あきらめました。

たぶんこのGoogle I/Oでのセッションと内容的には同じと思います。他力本願ばんざい。→Google IO レポート セッション編

昔、Javaでメカトロの動作制御とUIを作るプロジェクトをやったことがあった。でも性能がでない。VMに手を入れることもちらと考えたけど、まあ心の中で速攻却下した。まあ妥当だと思う。技術的にも権利的にもそんなことできるのかどうか、全くわからなかったし。でも、ここで限られたリソースで動作するように最適化されたVMをみると、やっぱりガツンとくるよねえ。ああ、いいなあ、この人たちは作れたんだ、と。

Google Maps API for Flash

Webデザイナ向けかな。簡単なチュートリアル。開発環境の整備からアップデートまで、一連の手順の流れにそって説明。あと、ここでやっと、基調講演でデモできなかった、サポーターの方が作られたフライトシュミレータがみれた…!Gainerに加速度センサのせて、基板の傾きでGoogle Map上をふよふよ動く。挙動がなんだかかわいい。おべんきょがてら自分でも作ってみようっと。

Google Web Toolkit とAJAX

ええと、JavaScriptってコードが汚くなりがちでぐちゃぐちゃしててまったくもって好きじゃない言語なんですけれども、非同期通信やるうえではずせない。なので、JavaJavaScriptにコード変換してくれるGoogle Web Toolkitが便利ですよと。ツール作っちゃうとこがすごいなあ。発注先のJavaScriptの品質の悪さに苦しんでいた4年前にあったらなあと思いながら…。実はうつらうつらでした。公演中に寝ちゃうなんてまったくもって失礼ですが、疲れきっててすみません。あうわ。

デベロッパー交流会

サポーターをつとめた友人と一緒にいたおかげで、いろんなサポーターさんとしゃべる。普段の仕事では合えないようないろんな職業の人がいっぱいいる。競合会社の人もいた(言い出せなかったよ…)。疲れてたからろくなことしゃべってなかったと思うけど、楽しいなあって印象だけ残ってる。久しぶりだなあ、こういうの。

とりあえず、もらったmoo minicardが超かわいかったので、作ってみようっと…。