Log.i53

Themidaのアンパックを目指すブログ改め使い物になるえんじにゃを目指すブログ

ハッカソン初参加

自身のための備忘録です。

1月23日に福井情報システム工業会さん主催で開催された防災アプリハッカソンに参加してきました。(内定者合宿を除けば)初めてのハッカソンということで、期待と不安が入り混じるような感じで始まりました。

私のチームは全員がハッカソン初参加でした。自己紹介から始まり、お昼までにメンバーで1時間半をかけてアイデア出しをして、午後にアプリ実装と発表資料作りを分担して作業しました。が、最終的には自分が担当していた部分で「動くもの・見せられるもの」が出来上がらないまま時間切れとなってしまいました。

たくさん反省点はあるのですが、3点だけピックアップします。

1. 前日にアイデアを練ってはいけない

ハッカソンテーマは事前に分かっていたので、前日に一人でアイデアを練りに練ってのぞみました。

まず、既存の避難所アプリをいくつか見つけて来て機能の列挙や差別化されている点などをまとめました。例えば、「みたチョ」というアプリは普段からアプリ使いを行わせるために防災グッズと交換できるポイントを貯められる広告システムを備えています。

ハッカソンのテーマとして「避難アプリにゲーム性をもたせる」というのがありました。このテーマの元となっているのが、福井県オープンデータコンテストのアイデア部門で最優秀賞となった「街の防災はかせくん」というアイデアになります。

最近の避難所アプリは災害時の通信混雑・断絶を考慮してオフラインでも利用できることが求められます。ゲーム性を持たせることでアプリ利用を促進し、(一度でも使ってもらえれば)避難所情報やマップタイルのキャッシュを保持しておけるため、このアイデアは優れているなと個人的に感じました。

他にも、ゲーム性をもたせる場合はターゲットユーザが子どもか子供を持つ親になるだとか、お年寄りにはどうしようとか、GoogleのDirections APIでは最短の経路をナビすることはできるけれども、そこに本当に道があるのかとか、そこが安全な道であるかは考慮されていないんだとか、前日数時間かけてうんうん考えてきました。

で、個人的なアプリ案として自宅から最寄りの避難所までをトラッキングして、かかった時間やルートなどを保存して避難ランキングのようなものを作成する避難訓練アプリを考えてきました。最短避難経路情報を家族などで共有できるような用途を考えていました。災害時には保存してあった最短避難ルートを利用したり、小学生が自由研究(避難経路マップ作成など)にも利用できるよう考えていました。

このようなアイデアを前々から考えておくというのは「ハッカソン」を行う上では愚かな行為でした。ハッカソンは一人で行うものではないからです。他人のアイデアと自分のアイデアが不一致した時に軋轢を生みかねません。最悪、前日考えるにしても既存のアプリにどんなものがあるのかとか、使えるデータやAPIの情報をチーム内で共有する程度に留めた方が良いかなと思いました。

2. 時間の見積もりが甘かった

時間と作業の見積もりです。時間が限られているのに昼食に時間がかかりすぎてしまった、などです。お昼は近くのお蕎麦屋さんに行きました。てっきり他のチームもお蕎麦屋さんに来ているのではと思ったのですが、どうやら作業時間を考えて早く食べて出られるお店を選択していたようです。

f:id:i53:20160124230844j:plain
お昼に食べた亀蔵のかき揚げおろしそば、かき揚げの大きさに圧倒されました。かき揚げは思ったほど油っこくなくおろし汁を少しかけて崩しながら食べましたが、とても美味でした:)

蕎麦は美味しかったのですが、混んでいたため出てくるまでに少し時間がかかり、お昼休憩にかかった時間が移動込みで1時間、会場に戻ったところで発表の時間まで2時間半しかありませんでした。今回はWebアプリの開発ということだったのですが、僕はWebアプリ開発に関しては正直言って初級者です。とりあえず、発表までに動くレベルのものを目指して、福野さんの1日1創アプリのソースを眺めながら手を加えていきました。マップ上にルートを描画する機能とクイズの問題を生成する機能、クイズ座標と自座標の接近判定までは作成できましたが、クイズ座標に近づくとクイズがポップアップするという肝心要の機能までは作成できませんでした。

3. こだわってはいけない

ハッカソンは開発にかけられる時間が限られていました。今回の場合は特にそれが顕著(昼食込み5時間)でした。開発の途中でクイズの問題をポップアップするダイアログが作成できないという、壁にぶち当たりました。ネイティブアプリだったらカスタムビューやカスタムダイアログを利用できるのですがWebアプリで3択クイズをポップアップさせるのってどうすればいいの?とうんうん悩んでる間にただただ時間が過ぎて行きました。

ここでの最適解ですが、「ポップアップさせる」ということをさっさと諦めて、とりあえず地図の下にクイズの問題と選択する答えのリストを表示するだけでよかったのです…!ここで機転がきかなかったところが非常に悔やまれます。これさえできれば見せられるものが出来上がっていたのです。

他のチームでも実装が間に合わなかった部分は見せかけだけにしている部分が結構ありました。

終わりに

ここまで書いたのですが、なんだかんだいって自身の実力の無さが如実に現れた部分が大きいです。同期では僕より5歳年下なのにゴリゴリJSかける変態がいます。俺も負けてられない!!!俺、修論発表終わったらWebアプリ開発勉強するんだ・・・!

次回ハッカソンに参加する機会があれば、上記の点に気をつけつつ柔軟に取り組めるようにします。しましょう。絶対。