たなっちのメモ

時間と余裕とモチベがあったら書く

SPAJAMに参加してコテンパンにされた話(前編)

コテンパンにされたというよりは
盛大に自爆したというほうが正しいかもしれない.

概要

先日の SPAJAM 予選の 反省文 ふりかえりです.

SPAJAM

下に示す「SPAJAM」というハッカソンに突撃してきました.
書類選考から地方予選,全国大会まである
国内最大級にデカい大会です.
詳しいことはここには書きません.

spajam.jp

説明にもありますが
全国大会は豪華な温泉旅館で開催されます.


"SPA" は温泉のことかとずっと思っていましたが,
最後の記念撮影のときに
Smart Phone App の略なのでは
ようやく気付きました.
温泉とスマホアプリどっちが先かは知りませんが…

参加に至った経緯

今年度初めに,後輩らが
ハッカソン突撃サークル(仮名)を立ち上げました.
その内の一人に行こうぜと誘われたので行きました.

スマホアプリと聞いて私は最初拒否ってたんだけど
monaca で入賞経験があったのもあり)
やっぱり行くことになりました.

メンバー紹介

Name Description
ロボットの開発を3年間して半ば挫折.てか団体潰れた.
R 私と一緒にWeb開発系のハッカソンやコンテストに参加してきた相棒
彼女は Alexa.
W 愛弟子.ロボット開発時代の私を知っている精鋭.
3日後に20歳の誕生日を控えていた.(過去形)
T 愛弟子その2.Wの相棒.この子もロボット団体からの後輩.
もつ鍋屋の店員に気に入られてた.
H 今年度からWeb開発の学習を始める.
メンバー内で大会期間中の睡眠時間が1番長い.

イニシャルだけでチーム名割れそうですが.
実のところ,スマホアプリ開発経験者がいないのです. (言い訳)

Monaca との付き合い

昨年の夏にヤフー株式会社様が主催する HACK U の福岡大会に出場しました.
hacku.yahoo.co.jp


当時はスマホアプリどころかWeb開発もままならない状態でした.
そこで R氏が Monaca という開発ツールを提案してくれました.(大会1週間前)
ja.monaca.io

これなら HTML & CSS & javascript の知識さえあれば何とかなる(?)とわかり,
大急ぎで javascript の書き方から GoogleMapsAPI の叩き方までを学習し
なんとかモノにすることができました.

(この話も今度書こうかな)


そして本番では
R 氏 のプレゼンが最高にキマったものあって
ありがたいことに
HappyHacking 賞(会場投票1位)を頂きました.
(この件で調子に乗ったのが今回の元凶ではないだろうか.)


また SPAJAM の規定では ネイティブアプリケーションが推奨されているっぽくって Monaca でつくるハイブリッドアプリケーションはセーフなのか問い合わせてみましたが

iOSAndroidスマートフォンの端末上で実行可能なネイティブアプリケーションの作成をお願いしております.
内部的にウェブアプリケーション由来の技術を利用いただくことは問題ありませんが, 操作性や表現力等も審査項目となりますので,それらも意識して制作を進めていただくことを推奨いたします.

ぎりセーフっぽかったのでMonacaで挑むことにしました.

テーマ発表〜アイデアソン

大会前,H氏が夢で
「今回のテーマは『愛』です!!」と発表されるのを見たそうです.
抽象度が過去のものと大体同じだったというのもあり
私らはそれを信じ切って
テーマを「愛」と仮定して話を進めようとしていました.(何もしてない)

まあ大ハズレでした.
あたるわけがないんだよな,知ってた.

実際に発表されたテーマは
「ペット」
でした.


開発前のアイデアソンでは
運営の進行に沿ってアイデア出し,ブラッシュアップをしていきました.
こんなアイデア出しの仕方もあるんだなと感心しました.(書かない)


イデア出しのハンズオンの中で,
私がこれでいこうかな,と本気で考えたのが
「動物の殺処分をなくすためのペットのレンタルサービス」でした.

ペットショップの裏事情やら,一人暮らしや転勤族,お年寄りが
ペットを買いづらく感じているといった背景を聞いたことがあったので
これでいけるんじゃない?とチームのメンバーに提案してみました.

しかし,いろいろと ガバい 実現可能性的に限界が見えているなど諸々の事情で
ボツになりました.


話し合いの結果としては,
(他の地区予選の優勝作品を見てビビりまくっていたことから)
技術力で対抗するのは無謀だ という意見が多数となり,
俺達は ネタに走って インパクト重視でいこう! という結論になりました.

この結論もあとあと裏目に出てきます.

スタート〜会場撤収

現状でチームメンバーができることを洗い出した上で 審議した結果,
「飼い主が家から出ている時間に応じてペットからメッセージ(通知)が来るアプリ」
的なアプリを作ろうということに決まりました.

手札(持っている技術)が片手に収まってしまう程度しか無かったというのもあり
決まるまで30分もかかりませんでした.


作るものが決まったことだし,早速コーディングを始めました.

私はプランナーという役での参加でしたが
しっかりコーディングさせてもらいました.

担当 作業内容
ユーザー情報のハンドリング(ログイン等)
位置情報のデータベースへの登録
連続外出時間の算出
R&H プッシュ通知機能の実装
W&T バッグラウンドでの定期的な位置情報取得

文面で見ると私の量が多いように見えますが
実際は 私以外のタスクの方がはるかに難しく,作業量的にも上です

各作業は思いのほかスムーズに進み,
20:00 に会場を出る頃には
各要素をがっちゃんこ(統合)して,UI を整えるだけになっていました.

あまりのテンポの良さに
正直,優勝狙えるとまで思っていました(傲慢)

あまりに長くなりそうなので
続きはまた後日.

Visit my Github page.