初めまして、フリュー佐藤、こと、ジョンです。 安心してください、普通の日本人です。

普段は「ピクトリンク」のサイトの開発、運用しており、サーバサイドの開発を行っております。

今回はSPAJAM2016 大阪予選に参加したことを書きたいと思います

SPAJAM2016とは

http://spajam.jp/

スマートフォンアプリジャム2016、2日間でスマートフォンアプリを開発するハッカソンイベントです。

spajam6

全国で予選があり、本戦が温泉地で行われます。本戦には、各予選での最優秀賞の9組、各予選の優秀賞の中から2組、学生枠で1組が本戦に参加することができます。

SPAということで温泉に浸かり、頭をリフレッシュしながらの開発です。 素晴らしいですね。

本戦で優勝するとシリコンバレーツアーがプレゼントされます。 素晴らしいですね。

SPAJAMに参加する前準備

チームはプログラマ3人、デザイナー1人、プランナー1人という構成でした。 プログラマは業務で画像処理をメインにやっていた2人と、僕でした。

つまり、圧倒的なスマートフォンアプリ開発者不足。逆に言えば、これからどうやって開発していこうかと考える幅がありました。

……いや、正直言ってそんな暇はありませんでした。出場が決まってから当日までは2週間ほどです。

とりあえず手持ちの環境で、かつ、ネイティブアプリ作成ができそうなものということでAndroidのネイティブ開発にしました。Androidの開発は弊社でも行われていたため、その人達に教えてもらいながら勉強をしました。

全員ハッカソン自体にも出たことがないので、半日での模擬ハッカソンをしてみました。

ハッカソンの結果、様々な課題が見えてきました。

僕の方から、開発環境として以下のものを勧めてみました。

  • バージョン管理システム:Git

ブランチの切り替えが早い。また、githubを使うとレポジトリが無料で使えるのでcodeの共有も簡単。

  • 統合開発環境(IDE):Android Studio

Googleが提供しているIntelliJがベースとなっているIDE。弊社Android開発でも使用しているため、ノウハウはある。

  • Slack

無料で使えるコミュニケーションツール。チャットも使え、ファイルの共有もできる。また、Mac、Windows関係がなく使うことができる。

しかし、他のメンバーは、他の開発環境(svnやVisual Studioなど)を使っており、馴染みがなく、僕もきちんと説明している暇もなく、あまつさえAndroidに関しては僕も詳しくないので、お世辞にもスマートな開発ではありませんでした。

ハッカソンの結果を踏まえ、2週間ほどで得た付け焼き刃立派な知識の中で、結局このチームで何ができるのか、できないのかを考えました。

結果、ツールは触りながら覚え、それにプラスして、チームでのカラーを出せるように、画像処理を使ったアプリが開発出来るように環境を整えることで、本番を迎えようと決めました。

模擬ハッカソンはやっておいて本当に良かったです。本番で起こりえそうな問題(proxy、ソースコードの競合などの技術的問題から、プレゼンでの発表形式、画像の共有のしかたなどのハッカソンの進め方まで)について身をもって体感できたからです。

大きなディスプレイとmac miniをキャリーカーに詰めて出発です。(僕だけ

SPAJAM当日

予選会場はYahoo!JAPAN大阪でした。27階という高層。

spajam風景1

高所恐怖症の人はまずそれとの勝負(僕だけ

今回のテーマは、「おでかけを楽しむ」でした。

アイデアソンでは、たくさんのアイデアが出てきましたが、チーム内ではこれだというアイデアは出てきませんでした。15時まで考えつづけましたが結局はいいアイデアが出ず、当初の予定である画像処理を使ったアプリを考えるようにしました。

役割分担は以下です。

  • 僕: UIまわりの組み立て
  • プログラマ他二人: 画像処理部分を作成
  • プランナー: アプリの仕様、その見せ方
  • デザイナー: 発表資料やアプリに必要な画像の作成

UI周りについてもいろいろ考えたりしていました。

spajam2

時間がないうちにどれだけ完成に近づけるか、プレゼンで発表される部分を意識して作成をしていきました。

spajam7

最終的には各自、自分の担当範囲だけではなく、今何が足りていないのか、時間が決まっているなかで、何ができて、何ができないのかを考え行動していけていました。

成果物について

今回作成したアプリは以下です。

パシャ男

「お出かけを楽しむ」ため、お出かけ中にライブでアルバムを埋めていくアプリとなっています。

spajam4

レイアウトを決めて(プレゼンテーションの時は全部同じレイアウトでした。

Screenshot_2016-05-15-18-07-54

カメラアイコンをタップすると写真がとれます。また、動画を撮影することができます。

Screenshot_2016-05-15-18-08-04

しかし、パシャ男の本気はこれだけではありません。写真を取る際に通行人を消すことができるのです。

これがプレゼンテーションでは大きく反響を得られました。

結果

大阪予選計12チームがあり、僕達のチーム以外にも、他のチームのアプリもとても魅力的なものが多く、SPAJAMのレベルの高さを感じました。また、学生のスキルの高さにも驚かされました。

しかし、そんな中、僕達のチームはプレゼンテーションを完璧にこなすことができ、結果

最優秀賞

をいただくことができました。

OLYMPUS DIGITAL CAMERA

総評としては

  • 画像処理などの技術力が光っていた
  • アプリのUI部分で完成度が高かった
  • アイデアについては他の優秀賞とも比べると少し弱かった

とのことです。これを次の本戦で活かしていきたいです。

まとめ

ここまでで説明させていただいた通り、アプリ開発をやったことのないメンバでもアプリを開発することができました。また、アプリ開発においては秀でた知識は無いですが、それを他の知識でカバーして、最優秀賞をいただくことができました。

本戦は、7月2日(土)〜7月4日(月)です。それまで、今回受けた刺激や、面白いと思ったアイデアをどうやれば実現できるのかという部分まで落とし込んで、実装力を上げて行きたいと思います。

この記事を読んだ方で興味がある方、まだ、予選の応募ができる箇所がありますのでぜひ申し込んでみてください!