2015年3月8日日曜日

「はじめてのハッカソンvol.8」に参加しました(3回連続3回目)


まず、「はじめてのハッカソンに何回も参加していいのか問題」について。
主催者のみまさんがはっきりと「何度でもご参加ください。」と明言しているのでかまわないのだ。
さらに、懇親会で「キャンセル待ちが多いので、少し遠慮しようかと迷ってます。」と言ったところ、「気にしすぎ(^^)」と笑われた。
ということで、Vol.9も募集開始しているので、こんなブログを読んでいる暇があったら早いうちに申し込むのだ。

アイディアに悩む


今回のチームは、若者3人におじさん2人のチーム。

  • 辻さん(PHP勉強中、学生)
  • えばたさん[女子](モバイルアプリはつくったことある、学生)
  • いしざわさん(フロントエンド、金髪)
  • 安田さん(デザイン、おじさん)
  • 私(広く浅く、おじさん)

今回は、アイディアだしに対するアプローチがみんな違うのがおもしろかった。

辻さんはスマートだ。
きっと、頭の中にはファシリテーションという言葉がはっきりと書いてあったと思う。

えばたさんは自由だ。
後でわかったことだけど、さすが白井チルドレン。

いしざわさんは身軽だ。
シンプルにものごとを捉える。

安田さんはおじさんだ。
余裕がある。

そして私もおじさんだ。
つまらない。

結局、自由人えばたのラーメン二郎愛といしざわさんのランキング愛を合わせて、今回のテーマをラーメン二郎ランキングにした。

イノベーションはどこから起こるのか、共創をつくりあげる共感はどのようにして得られるのか。
野中郁次郎いわく、それは共通善だ。
共通善の根源は個人の思いであり、主観だ。
共通善を持ち、言語化してコンセプトを作り上げ、共感による仲間をつくり、ビジネスモデルを構築してサステイナブルにする。
コンセプトは動いているうちにできあがるもので、最初からあるわけじゃない、デザイン思考だ。

「はじめてのハッカソン」はゆるい。
イノベーションとか共創とか言ってはいけない(そんなことはないか ^^;)。
だけど、もう少し、人の思いを聞きだせる力を持てるといいなぁと思う。


非同期通信に悩む


二郎ランキングに決めた後は、つくるものはすんなり決まった。
ラーメン二郎の全店舗について、Twitterからつぶやきをとってきて、エクシング言語解析APIでネガ・ポジ判定をする。
ポジつぶやきが多い順に店舗をランキングして、つぶやきも表示する。

  1. 二郎の店舗名一覧を持つ
  2. 「二郎XX店」というキーワードでつぶやきを全ての店舗分とる
  3. とってきたつぶやきを全てエクシングでネガ・ポジ判定する
  4. ポジつぶやき数を集計してランク付けする(ソートする)
  5. jQueryで画面に反映する

簡単にできると思った。
Twitter APIは使ったことあるし、エクシング言語解析APIは前日の夜に試していたので。

しかし、ハマってしまった。

こんな感じのデータを用意して、ループでtwitterになげて、そのコールバックでエクシングにまたループでなげる。

var shops = [
{name: '三田本店', rank: 0, tweets: null},
...
];

発生した問題は次の3つ。

  1. とってきたつぶやきをループのインデックスでshopsに入れようとしたとき、非同期なのでデータが返ってくる前のインデックスが変わってしまうのでおかしくなる
  2. 全部データができた後に、画面に表示したいけど、非同期なのでタイミングが制御できない
  3. Twitterに負荷をかけすぎて、止められてしまう


対策として、次の3つをした。
とにかく時間までに動かそうということで無理やり。

  1. twitter apiへの通信をasync=falseにして同期通信にする
  2. データが全部返ってくるまで画面に表示しないようにsetTimeoutで待つ(最悪!)
  3. Twitterに負荷をかけ過ぎないように取得するつぶやきを20件にする

本当はどうすればよかったのかというと、バッチ処理にすればよかったと思う。

どちらにしろ、Twitterは1回で100件までしかつぶやきがとれないので、ため込む必要がある。
店舗ごとにプロセスを変えれば問題1はなくなるし、バッチなので問題2もなくなる。
前回とったidを保存しておけば、そのid以降という指定ができるので問題3もなくなる。
つぶやきはリアルタイムで最新のものを表示してもいい。

Web APIというと、リアルタイムにマッシュアップというイメージがあったけど、蓄積したり集計したりする場合はやはりバッチ処理にした方がいいのかな。

誰か、ベストプラクティスを教えてほしい!


成果物


結局こんな感じになった。
デザインはお任せで、デモの直前にはじめてみたんだけど、二郎っぽさがでてていいなぁと思う。


ソース


ひどいなぁ。。。

https://github.com/itagakishintaro/jirotter

積み残し


  • もっと見るのページ
  • 3位以降のページ
  • 店舗の選択
  • 自分のお気に入り店舗の設定

若者とふれあう


とてもおもしろい若者と懇親会で話をできた。
10万人以上のユーザーを持つサイトを1人で構築・運営している24才の若者。
自分のことをあまり話さない謎の男だ。

彼に、上述の野中郁次郎の話をしたら、こんなことを言っていた。
わかります。でも、ショボイと思ってもアイディアがあったらやってみたらいいと思います。
軽やかだ。
みんなイノベーションとか言い過ぎというか、構えすぎだよね。
この手の考え方に年は関係ないと思うけど、やっぱり若々しさを感じた。
本当は色々ほじくりたいと思ったんだけど、自分のことを話すのはあまりすきじゃないようだったし、変なおじさんに絡まれたと思われたくないのでやめといた。

0 件のコメント:

コメントを投稿