Hatena::ブログ(Diary)

Hacking My Way 〜 itogのhack日記 RSSフィード

2010-02-20

GAE/J コードラボに行ってきたよ

無料でリッチな携帯アプリが作れるAndroidも一昔前では考えられないけど、無料でクラウドサービスを構築できるGAEもすごいよね。それならAndroid+GAEを組み合わせたら、夢が膨らむよね、ってことでGAEを習得すべくGAE/Jコードラボに行ってきました。

講師陣はこちらの方々。

  • @dddaisuke
  • @tmatsuo
  • @kazunori_279
  • @bluerabbit777jp

サーバサイドJavaは経験ないので、Servletとか全然知らなかったけど、ドキュメントがすごい良くできてたし、チューターが3名いてサポートも充実していたのでちゃんと段階を追って理解できました。

ドキュメントが良くできてるのでTIPSとかは特にないです^^ ドキュメントは近日公開するらしい???

コードラボ終了後は懇親会。なんと!懇親会最中にニコ生が放送されてた!

GAEの使い方もわかったし、Androidと連携させよっと。

2009-12-21

Android/GAE Hack-a-thon 2009/12/19 に行ってきた

Android/GAE Hack-a-thonnに行って来たので、そのレポートです。

GoogleでやるHackathonに参加するのは2回目なので勝手はわかっていたのと、前回はOpenSocialというかなりAwayな環境だったのに対し、今回はHomeのAndroidということで、気持ち的には余裕をもっての参加。

事前にIdeathonがなかったので、まずはグループ分け。グループは

  • 画像
  • Geo
  • センサ
  • テキスト
  • チュートリアル

というジャンルで別れて、参加したいところに手をあげて決めた。

事前に出したエントリーシートにナビの付加機能のようなことをやりたい、と書いていたのでGeoグループを希望したところ、2名のグループ!幸いもう一人の方がGAEだったので、うまい具合にAndroidとGAEでグループが組めた。

最初は各チームで軽くIdeathonをするという流れだったんだけど、うちらはなんといっても二人しかいないのであれこれ言うよりまず手を動かそうということで、自分が持っていったアイディアの、追いかけ機能を実装することにした。

ちなみに、この時の出したアイディアは数ヶ月前に考えたものなんだけど、マインドマップ

書いていたので晒してみる。「follow me」というのが今回実装した機能。

f:id:itog:20091221114808p:image

昼前に一人遅れて来て3人チームに。AndroidでOpenGLが得意のようで、これはメンバー構成的に最高なんじゃないかと思ったけど、その方はマシントラブルでビルドできず、、、

もうちょい時間があればマシン2台でなんとかしようとか、調べ役と実装役に分けるとかうまくできたと思うんだけど、それが1日でやるHack-a-thonの難しいところでもありその難しさこそが楽しさでもある。

結局Android側はGPSの取得、HTTP送信、受信と、機能的なところはできたんだけどMapViewと組み合わせようとしたところでちょっとハマってタイムオーバー。

ハマってる間に、サーバ側でGoogleMapで表示してくれるようにしてくれたのでなんとか発表も格好がついたかなー、という感じ。

コードはこのへん。Androidのコードはコピペの嵐なのはご了承ください^^;

http://code.google.com/p/hackathon-jp/source/browse/#svn/trunk/AndroidAndGAE20091219/Geo

他のチームの発表

参加者の投票で評価が高かったのはセンサーで、Androidをリモートマウスのように使い、ブラウザ上のロボットを動かすアプリ。Androidを振ると攻撃できる!ってとこが面白い。

後で聞いたら、実はViewの部分はグループの中の一人がすでに作っていたということ。んー、ずるい(^^

懇親会?

今回はオフィシャルな懇親会はなかったけど、主催の方々を含め8人位で懇親会。主催者の方々はAndroidクラスタということでAndroidの会で見たことあったり、つい最近MLで質問したときに回答してくれた人がいたりとかで、直接話しができたのはとても良かった。

全体的な印象としては、Android/GAEということもあってJava界隈に詳しい人が多かった。自分はサーバサイドJavaはほとんど無知なので、結構知らない言葉も飛び交っていた。

感想

人数が少なかったので

  • ガリガリコードを書けた、書くしかかなった
  • 意思決定が早く迷いがなかった
  • 役割分担がはっきりしすぎて、お互いのコードを全然見れなかった

せっかくいろんな知識や経験をもった人と一緒に作業するのだからペアプロして思考法を盗みたかったな〜

あと、Hack-a-thonではビューがとっても重要。デモの見栄えも良いし満足感もある。人数が多い場合は目標もはっきりするしね。


主催者のみなさん、参加者のみなさん、どうもありがとうございました。

2009-12-11

Mitaka.rb & pgcafe 忘年会で「かなぶん」Android版をLTしてきた

昨日開催されたMitaka.rb & pgcafe 忘年会で「かなぶん」Android版のLTをしてきました。

時間が無かったので、かなぶんの説明など全部省略して、いきなりデモ!

Androidの画面をiPhoneでUstしているのをPCからプロジェクタに映したのをPCからUstしてみましたが、プロジェクタの時点でかなぶんを知らない人には何やってるのか分からない感じでしたねorz

なぜ、かなぶんAndroid版を作ろうと思ったのか

ただ単純にLTしてみたかった、というのもあるのですが、せっかく作るなら1回で終わりのネタじゃなくて、そこからなにかが広がるようなモノを作りたいなぁと考えていて思い当たったのがかなぶん。

no title

かなぶんは、表示されたひらがなの中から単語を見つけて、見つけた単語の長さ、多さで点数を得る、というシンプルなゲームです。Web版、iPhone版があって、それぞれを三鷹界隈の方が作っている、というところがミソ。

Android版の課題

LTの時にAndroid版ならではの難しいところはあったか?という質問を頂きました。

その場でお話したように、現時点のAndroid版は、DBを手動でインストールしなくてはいけないという制限があります。ここまで作ったところでは、問題はそれくらいで、あとは普通にロジックを考え、実装するだけだったのですが、今後の課題はいっぱいあります。

まず、現状のAndroid版は勢いでつくっただけなので、UIが全体的にしょぼく、見た目を良くしたり音やバイブで操作感を良くしたりしなくてはいけませんが、これについてはiPhone版などを参考にまっとうな進化をすればいいだけです。

それよりも大きな課題として、特にAndroid版だからこそ考えないといけないことがあります。

それはiPhoneとAndroidが決定的に違うところでもあるのですが、iPhoneは一製品で、Androidはプラットフォームだということです。UIを作るときにiPhoneならボタンのサイズを固定しても問題有りませんが、Androidの場合、画面サイズが違うデバイスにインストールされるので、ちゃんとやるには動的にサイズを決定しないといけません。

こうしたデバイスの違いにどこまで対応するか、というのはかなぶんに限らずAndroidアプリ全体における大きな課題と言ってもいいでしょう。

今後の展開

かなぶんの正誤判定に使われている辞書は Project Web of NAIST Japanese Dictionary on OSDN Web space をもとに作られたものですが、Android版では、Web版、iPhone版と全く同じ辞書を使っています(thank @jishiha)。これにより、AndroidかWebかiPhoneかというプラットフォームの違いはあっても同じルール、判定基準で得点の比較をしたりすることができます。

今後やりたいなぁと思っていることは、かなぶんでの得点をWeb上にランキング形式で表示することです。得点とともに、どのクライアントでその点を出したかを表示すれば、クライアントの違いによって結果がどう変わるかがわかって作る方も楽しめるんじゃないかなと。

そのためには統一ルールを作る必要があるし、他にも点数付けのルールもちょっと変える必要があるかもしれない(現状だと、盤面の良し悪しが得点に与える影響が大きい)。

でもそれは、明確な目標を立てて進むというよりは、それについて「あーでもないこーでもない」と雑談したり、思い立って作ってみたりしてプログラマー同士で楽しむためのひとつのネタになれば良いんじゃないかなーという、ゆるい感じで(^^


忘年会に参加されたみなさん、特に幹事さん、とても楽しかったです。

ありがとうございました。

2009-10-02

三鷹プログラマーズカフェβに行ってきた。

10/1に開催された第18回三鷹プログラマーズカフェβに参加してきました。

ってか、三鷹に下り立ったのが人生初かも?


15:00ちょい過ぎに三鷹産業プラザの一室へ。

事前情報が

活動内容

LT、ワークショップ、フリー(雑談)、もくもく会

くらいしかなかったのでどんな感じなのかなーと思いつつの参加。

今回はLTや特段ネタを持ってきてる人がいなかったようで、雑談からの流れ出mixiアプリの話に。mixiアプリってどうやって作るの?という話からFlashについてやマネタイズの話、楽天やEC Cubeなどネットショップの話などいろいろで3時間。


その後1Fのカフェに移動して飯を食いながら雑談。

その場でtwitterのbotを作っている人がいて、せっかくなのでシャアbotとかno titleの紹介をしたらやっぱりそっち系やってる人が多くてお互い自作のアプリを紹介などで盛り上がって話してると、よく知ってるblogの作者さんがいたり。

かなぶん、やってみたけど結構難しい。


家から三鷹まで片道2時間弱かかるので、盛り上がってるうちに帰らなきゃいけなくなっちゃったのは残念!

平日の15:00から開催なので、参加者はほとんどフリーの方で、そういう人たちって普通のサラリーマンとは違って話が面白い。いろいろ勉強になった。いろんな技術を持っている人がいるので、なにかでコラボできたらいいなぁ、なんて思いながら長距離電車^^;に揺られて帰るのでした。

2009-07-18

mixi&goo共催のOpenSocial Hackathonにいってきた

昨日、mixi&goo共催のOpenSocial Hackathonにいってきました。かなり楽しかったので、熱が冷めないうちにメモを残しておこうかと思います。


全体の流れ

14日に事前ミーティングが行われ、そこでアイディア出しを行ってチーム分けをし、17日は開発、発表という流れ。

僕は事前ミーティングに参加できず、当日から参加しました。


Hackathon当日

渋谷のGoogleオフィスに10時集合。20分くらい前に行ったら一番乗り!大体遠い人が早くくるんだよね^^;

10時前にmixiのよういちろうさんが登場すると、「時間ないので始めましょう!」と。まったく空気読めてない状況だったので一瞬うろたえましたが、どんなアプリがあるか簡単に説明してもらい、その中からひとつ選んでチームに参加しました。

参加したのは地図アプリ。メンバーは自分を入れて3人。最初にちょこっとどんなものを作るか話して、でも時間もないしどんどんやっていこう、ってことですぐさま実装へ。アプリがわかりやすいこともあるけど、設計についてあまり細かい話をせずとも意思疎通できちゃうところがやってて気持ちいい。

OpenSocialアプリ側で地図を表示、マーカーを立てて、サーバに位置情報を保存する。苦手なjavascriptがメインで、実装面では貢献度は低かったけど、それでもフル回転。時間はあっという間に過ぎ、最後はなんとかプレゼンで見せられるように総がかりかつ力ずくでまとめあげた。

、、、つもりだったんだけど、ほかのチームの発表を聞いてる間に不具合が。

外部サーバへのアクセスがキャッシュされてて、キャッシュされたデータにあわせた実装をしてしまっていたのが、キャッシュが破棄されて受け取ったjsonをうまくパースできなくなっちゃってました。くやしー。


懇親会

プレゼンテーション終了後はその場で懇親会。

それほど大勢の人とは喋れませんでしたが、聞いた限りではがベンチャーに勤めていたり創業したり、個人事業主だったりする人が多かったなぁ。もちろんみんなWeb系。

  • 職業:ニート
  • 業種:組み込み

というのはどっちも俺一人だろうな、うん^^;

感想

さてさて、そんな感じで朝から晩まで楽しんだ一日でした。細かいことをあげるときりがないけど、なんといっても

  • デキる人たちと一緒に開発をするのは楽しい。細かいこと言わなくても話が通じるし、みんなが手を動かしてどんどんものが出来上がっていく。このスピード感がたまらない。
  • いろんな仕事をしてる人に会えるのが楽しい。単なる技術だけじゃなくて、その技術の活用の仕方が本当に個性的で、ロールモデルとなるような方が何人もいました。

この2つでしょう。


また参加したい!

そのときまでに、もうちょっとjavascriptやっとけ、俺。

リンク

Google グループ

OpenSocial Hackathonの予定などはここで公表されます。

Google Code Archive - Long-term storage for Google Code Project Hosting.

今回だけじゃなくこれまでのHackathonの成果がアップされています。

あわせて読みたいブログパーツ テクノラティのお気に入りに追加する