告知第二弾ということで。
Android/GAE Hack-a-thon を開催します。
詳しくは(参加フォームも)こちら http://docs.google.com/View?id=dgvgxqkk_63ccbc3mdb
2009年12月19日(土曜日) 10:00 から 18:00 まで
Google Tokyoオフィス
にて行います。
Android-SDK-Japan
Google-App-Engine-Japan
の共催ということで、つまり今回は今までのAndroid Hackathonと違い、AndroidとAppEngineを使った何かを作ろうという取り組みです。
今までAndroidのハッカソンをしてきた中で、クライアントはもちろんAndroidのアプリなのだけど、バックエンドにAppEngineを使ってます、という成果を出してきている方が少なくなかったんですね。それなら、いっそ共催にすれば、お互い得意な部分を実装しつつ面白いものを作れるのではないかと思い共同開催を試みています。
当日はもちろん、Google API Expert(AppEngine)の松尾さんをはじめ
「ボクが一番、AppEngineをうまく使えるんだ!」
「俺がAppEngineだ!」
というようなAppEngineを山ほど使ってきている詳しい方々が参加してくれる(と期待している)ので、Androidアプリしか作ったことがない方もいろいろ聞いちゃう良い機会だと思いますよ!
またもや告知です。
11月27日(金) 10:00〜18:00に Googleにて開催されるGoogle Waveハッカソン(GadgetやRobot等)の参加者をまだ募集しているとのことです。
興味ある人は参加してみてはいかがでしょうか!
詳しくは以下のリンクより。
http://googlejapan.blogspot.com/2009/11/google-wave-api-japan.html
はいどうも。水曜(10月7日)はTokyo GTUG #3でした。いろんな思い出とかトラウマとかできてしまいました。本当にありがとうございました。

なぜか手元にスライドがあるので置いておきますね。
Download (PDF, 3.2MB)
忘れないうちに今日のTokyo GTUG night #2の内容の補足を書いておきます。
mobileだとGoogle maps APIが遅い? emobileだから?
「emobileで発表してたからたまたまとても遅かったのだけど、本来ならもう少し早い。mobileで特別早くなるということはないが、たとえばAndroidなどで使っていると早い」と勝又さんは答えていました。
それについての補足ですが、
なぜ、SDKや端末にプリインストールされているMap.appやGoogle Maps.appが高速に動いてるように見えるのかというと、クライアントがほぼnativeで実装されているからです。通常PCで見るmapsのようなflashやjsではないですし、Androidアプリである以上dvmは動作していますが、中身は多くがnativeだったりします。だから速度が出ます。
ちなみに、Androidでmaps apiを使う方法は大きく分けて二通りあります。
一つは、iPhoneなどのように、ブラウザ上でPC等と同じmaps apiを使用する方法。
もう一つは、ブラウザではなく、AndroidアプリケーションとしてJavaからcom.google.android.mapsのライブラリを利用してMapViewを表示する方法。
前者だと、ブラウザ上での動作なのでやれることはPCと大きくは変わりませんが、現行機種に搭載されているブラウザは多くがflashに対応していません(している機種もあります。HTC Heroなど)。
後者は、Androidアプリ製作で許可されてるハードウェア機能はすべて使えるので、例えばGPSやコンパスといったセンサーと連動させることが容易にできます。その代わり、Android専用アプリになります。
したがって、前者のブラウザ上で動作させる場合はハードの機能は使えないという形にはなっていますが、これはブラウザに依存する部分でもあります。
例えば、iPhoneのSafariだと、HTML5のGeolocation APIを利用することが可能になっているため、webアプリでもGPSを使用して現在地を取得することが可能です。
Androidのブラウザも、機能的にはiPhoneとほぼ同等のSafariなのですが、少しビルドが古いのかHTML5のGeolocation APIは(少なくともHTC Magic(HT-03A)では)使えません。ところが、AndroidのブラウザにはGearsが搭載されているため、GearsのGeolocationが使えます。したがって、ブラウザの設定でGearsをenableにしてあれば、GPSから現在地を取得できます。
詳しくは古旗さんの記事でもどうぞ。
iPhoneのJavaScriptアプリをAndroidに3行で移植
http://ascii.jp/elem/000/000/457/457545/
Web屋もハードウェアを直接使いたい、Googleなどはそんな取り組みをしているのか?
Androidに関しては、GPSなら今上に書いたように使うことができます。
Android以外では、ネイティブコードを実行するという事でなら、GoogleはNaClがあります。ブラウザからネイティブを実行するプラグインです。ネイティブを実行できるという事なら、理論上はハードも使えます。
(9/13 追記)ただ、だからこそ色々セキュリティ上の制約はあり、現状ではハードを自在に扱えるようなものではありません。(追記終わり)
さらに上げると、Chrome OSはブラウザからハードも使えるようになっているはずです(さすがに現時点では詳しくはわかりませんが)。
話を再度、Androidに戻すと、AndroidアプリではWebViewというクラスを使うことで、ブラウザのレンダラを使用した表示をすることが可能です。WindowsでいうところのIEComponentのようなものです。アプリの中でWebViewを表示することで、ブラウザでWebページを表示するのと同等の表示結果が得られるわけです。
そして、当然WebViewはブラウザなので、JavaScriptも動作します。
つまり、こういうことが可能です。Androidアプリ(Java)で端末のセンサーなどのハードウェア機能を制御し、その結果をWebView内のjsに渡してwebを表示する。まあこんなことする意味があるのかどうかはおいておくとして、可能は可能です。
さて、ハードもひっくるめてwebアプリで制御するようなプロダクトを作りたい、といった事ですが、そのような試みを実際にしている企業さんや個人さんなどがAndroid界隈には既に結構な数の方がいらっしゃって、日本Androidの会やOESFなどでは既に何人もの方が発表していますので、興味のある方は是非月例イベントなどに足を運んでみてはいかがでしょうか、という宣伝で終わらせてしまう、ピュアなハートの大人でした。
7月7日になるのですが、KayというApp Engine用のWebフレームワークが公開されました。
作者は私と同じGoogle API Expert(担当はAppEngineですが)の松尾さんです。
コードサイト
http://code.google.com/p/kay-framework/
ディスカッショングループ(Google Group)
http://groups.google.com/group/kay-users?pli=1
Kay は Google App Engine 専用の Web フレームワークです。ミドルウェアや
プラガブルなアプリケーションなど、基本的なデザインは Django に倣ってい
ます。低レベルフレームワークとして Werkzeug を、テンプレートエンジンに
は jinja2 を、国際化メッセージの処理には babel を使っています。いわいる
修正BSDライセンスで配布をしています。詳しくは LICENSE file を見てくださ
い。
Kay はこんな特徴があります。
* Django と同等のミドルウェアメカニズム
* 国際化のための仕組みがあります
* App Engine 上で高速に動作する jinja2 template engine
(Kay は jinja2 のテンプレートを事前にパースして Python コードにします)
* powerfull Werkzeug’s debugger
* powerfull shell tools
* 簡単にはじめられます(READMEを見てください)
最近はAndroidアプリケーションとサーバーのやりとりをするのに、サーバー側はAppEngineを使う方が増えているようなので、紹介しておきます。
参加していただいた皆さん、ありがとうございました。
特に、私の拙いセッション見ていただいた方本当にありがとうございました。まさかあれほど多くの人に来ていただけるとは思っていなかったので、正直今でもよくわかりません。
そういえば、ふくゆき総帥から「よかったですー。けど、デモほしかったですー。」などとありがたいお言葉をいただいたんですね!
で、いいわけしてもいいかな!
直前まで、各説明項目(Intent, SharedPrefs, ContentProvider, Http)のデモを入れるかどうか悩んだのですが、どうがんばってもデモを入れると時間が圧倒的に足りなく、とても駆け足な内容になるか、あるいは最後間に合わないで終了するような状況だったので、それならしっかり時間をかけて説明したいと思い、あのような形に。(それでも割と駆け足な内容だったと思うのですが)
すみません、ホントしょうじんします…。
サンフランシスコは意外とまだそれほど暑くもないです。
明日からGoogle I/Oなのです。
というわけで先ほど前日受付を済ませに会場まで行ってきました。

なんかでっかいのある…

というわけで明日!

来る4月24日に、OpenSocial-JapanがOpenSocial Hackathonを開催します。gooホームも先日、OpenSocialのSandboxを用意し、且つ公式よりも充実してるドキュメントと評判も良いようです。これを機にOpenSocialガジェットの開発を手がけてみてはいかがでしょうか。 場所はリクルート メディアテクノロジーラボです。
詳しくはこちら。
なお、よういちろうさんとえーじさん(Google API Expert仲間です。お二人はOpenSocialでボクはAndroidと、担当は違いますが。)が先日より技術評論社さんのサイトでOpenSocialガジェット入門の連載を開始してます。
OpenSocialを利用してガジェットを作ろう!
参考にどうぞ。
Chrome正式版おめでとうパーティが本日GoogleJapanオフィスの食堂にて開催されまして。
参加してきたついでにライトニングトークでしゃべってきました。
ネタトークだったんですが、よかったんでしょうか。
(最初はMac版Chromiumの話にしようかと思ったのですが、さりげなくAndroidのアピールも兼ねてChrome Liteの話に。)
デジカメとAndroid DP1で写真撮ってたんですが、デジカメのケーブルが職場にしかないのでDP1のだけひとまず。フラッシュがないんで手ぶれするんですよね…。
DP1でまともに撮れてたの下の一枚だけでした。(後ろや右側にもっとたくさん人がいるんです。本当です。)

追記*
写真UP





すごい勢いで食事なくなってました。これはひどい。
Google東京オフィスにて、OpenSocialのハッカソンが行われます。10時〜18時。
詳しくはこちら。
私を含め、何人かのAPI Expertも参加します。平日ですがよろしくどうぞっ。