Yamashouは田舎に行きたい

ある田舎県の田舎の町で大学生やってた僕が、思ったこと、やったこと、勉強したこと、などをつらつら書いて行く

SPAJAM2017 東京A予選の反省会

この土日(5/27,28)にSPAJAM2017の東京A予選に出場して来ました。 そして、惨敗して来ました。 その反省会を今回は行います。

作ったもの

テーマが笑顔だったので、自分たちはそれを、内輪で笑顔になるゲームを作ろうとしました

これがその時のソースです

github.com

作ろうとしたと言った時点で、完成というか、プロトタイプとして想定していた、地点までも達せませんでしたと大会自体のオチは先につけて起きます。

技術

使ったもの技術は、以前ブログにも書いた通り、React Nativeです。 他には、写真をアップロードするためにS3を使ったりしました。

想定地点

僕らの想定では、まず、一人一人、自分の思う最高の笑顔を絵で描き、それを真似て写真をとり、みんなでどの人が一番近いかを投票し、かつ顔認証apiを使って笑顔のラックのポイントの高い人順に順位をつけるアプリを作りたかったですが、

実際できたのは、写真を取るまで、投票や、顔認証apiを使った、判定などはアプリに盛り込むことができませんでした。

反省点

反省しなければならないところはいくつかあるのですが、自分が思うところをいくつか書いていきたいと思います。

React Native

React Nativeを僕はちょこちょこ触った程度でしたが、ぶっちゃけなんとかなると思っていました。しかし、問題が二つ発生しました。

1つ目は、コンフリクトの嵐

2つ目は、ルーティングがうまくいかない

まず一つ目のコンフリクトの嵐はreact native のパッケージ管理にあります。 僕らはそれぞれが、とりあえず、別々に機能を作成していきました。なので、ブランチごとに入っているパッケージが異なってきます。すると、react-naitve link をする際にios,androidみんな設定ファイルが、変わってしまい、うまくいかず、それを直すのに一人のリソースを最低待ったことは反省点でした、一度、三人で、簡単なものでいいので、作っておくべきだったのかもしれません、そうすればこのミスを回避するために、gitignoreにファイルを追加してやれたと思いました。

二つ目のルーティングがうまくいかないのは、UIをNative Baseというパッケージを使っていたのですが、そのアニメーションをつけようとすると、どうしてもReduxが必要になり、誰一人、Reduxに地検が深い奴がいなかったので、使えず、そこでかなり詰まりました別のチームのようにstateを別のサーバーで管理すればスムーズに言ったのかもしれません。

テーマ性にそい、かつ勝ちを狙えるアイデアの捻出

僕らは、三人エンジニアで挑んだのですが、昨年、アイデア出しでかなり苦戦したんで、それを踏まえすぐに決めました。 僕らの作ろうとしたものはぶっちゃけ内輪でやるぶんには楽しいアプリになるかもしれませんが、勝ちを狙えたかといえば、それはかなり、難しかっただろうと、終わった後に話に出ました。 確かに、プロトタイプとして、動作して、プレゼンの準備に時間を割くことができれば、優秀賞を狙えたかもしれませんが、そこまでを逆にできなければ、狙えないほどのハッカソン向きではない案だったのも反省点の一つです。作っている時や、アプリを使っている自分たちは楽しかったですがwww

路線変更可能性と技術固着

ここまで読んでくださったかたなら分かると思いますが、このアプリケーション、顔認証を行う部分以外、全てフロントで完結させることが可能です。なので、『React Native だけでいいじゃん!』 となってしまったことがそもそも間違いだッタノかもしれません。 サーバーを先に書いていれば面倒な処理はサーバーでさせればいいじゃんとなッたかもしれません。そういう意味でも、路線変更可能性を考えた上で、進めるべきで、react native 完結アプリという、固定観念に縛ってしまったことも反省しなければならないです。

反省を踏まえ

まぁ反省はしましたが、得られたこともありました。 しかし、やはり反省すべきことの方が多いですので、ハッカソンに出るときは次は気をつけることとして頭に入れつつ、デザイナーやプランナーの存在がとてもデカイのは知っていましたが、アイデア出しの面でも重要だとわかりました。

とりあえず

とりあえず、React native はしばらく触らず、Kotolinで研究のandroidを書くので、これを機に覚えて来年はこいつで勝負できるようになりたいなと思います! ので来年も参加させてもらえるように頑張ります