くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

「TVで特集された!」ハッカソンを 起業体験イベントと比較(HACK-CHU, スタートアップウィークエンド豊橋)して振り返る #hackchu #swtoyohashi

このブログは、将来就活の時とかに見直すように書かれています。冗長な記述が多いかもしれないです。
下の目次だけ見てもなんとなく伝わるように書いてあるので、もくじを読むことをお勧めします。

ハッカソンについて

参加しようとした動機・ハッカソンでの目標

ハッカソンというものをよくわからなかった

ハッカソンとはTwitter や インターネットで聞いたことはありましたが、実際に参加したことがありませんでした。そこで、いつか参加して見たいなと考えていたところへ、「中京テレビがハッカソンをする!」しかも、「名古屋でやる」という情報が入って来たので、参加してみることにしました。

チームプレイした経験がなかった

基本的に、ガチでチームで開発するという経験が少なかったので、やってみたかったです。
チームでやるのと個人でやるのでは色々(コミュニケーションとか)大変なことがでて来そうだなと思うけど、やったことがないから、わからないみたいなのが嫌だった。

技術イケメンと知り合いたい

ハッカソンでは、ある一定以上の技術力・デザイン力 … etc を持っている人がほとんどだと思います。
そんな人と仲良くなれる場として活用できたらと参加しました。 実際、某大学の人や大手企業で 働いている人と交流することができました。
技術イケメンと話すのは、いい刺激になる!

アイディアソンでやったこと

知らない人とアイスブレイク

ハッカソン自体は、チームで申し込んでいました。しかし、会場に着いたら、同じチームの人と同じテーブルに座ってはいけないと言われ。強制的にばらけさせられました。その結果、知っている人が (運営側の意向としては) 0 な状況になりました。 しかし、隣のテーブルとかをみると知っている人が相当いた気します。

イベントが開始後は、テーブルで座ったチームメンバー(仮)と簡単な自己紹介をしました。
チームメンバー(仮)は4人でした。初老の男性1人、中年の女性1人、中学生1人、自分 といった感じでした。

アイスブレイクは Mashup Award のすごい人がファシリエーターをしてくれたので、いろいろ楽しくできて、いい感じでした。

アイスブレイクでは、最初に、自分家の間取り図を紙に書いてチーム内プレゼンをするというものをしました。
画力がない自分の力を思い知らされました。。。

2つ目のアイスブレイクでは、3つの立場、3つの時間を想像して、することを書き出しました。

3つの立場

  • 子供
  • 自分
  • 大人

3つの時間

聞いているといろいろ出てきそうですが、意外に出てこないものです。チーム内の年齢がばらけていたため、いろいろな意見を見ることができて楽しかったです。

その次が、ハッカソンのタイトルが「生活を豊かにする」だったので、生活の枕詞を書き出すという作業をしました。

アイスブレイクの最後に、2つ目のアイスブレイクで出した単語2個と3つ目のアイスブレイクで出てきた単語を組み合わせたアイディアを4つ考えるということをしました。

ハッカソンに慣れていそうなほかの方はささっとアイディアをだしていましたが、自分は3つしか出せれませんでした。。。しかも、そのうち2つは適当なアイディアを出した感じでした。

アイディアを考える時間が終わったら、チーム内で自分の出したアイディアについてのプレゼンを行いました。
「その日の摂取したカロリーに合わせて、ウォーキングコースを選んでくれる」というアイディアは面白いし、実際ほしいと感じました。

アイスブレイクの最後に アイディア品評会

そのうち1つアイディアを選び、紙に書き出しました。

自分の考えたアイディアは、彼女と自分の予定で空いているところにデートの予定を勝手に入れてくれるサービスを思いつきました。 いい感じのコースやお店も選んでくれるって感じでした。

f:id:kuxumarin:20170321163146j:plain

そのあと、ほかの人のアイディアを見て、いいアイディアに星印をかくという時間になりました。 今度は、ハッカソンに参加している人全体のアイディアを見ました。 Hololens を使ったアイディアや ペッパー君を使ったアイディアが多い印象でした。

ちなみに、自分のアイディアは10個ぐらい星がついていました。まぁまぁな数かな。。。

アイディア品評会が終わったら、星の数が多かった人のアイディアが全体の前でプレゼンしてました。 自分は、そんなに多くなかったので、前に出ることはできませんでした。

高評価なアイディアと希望者は ミニプレゼン

しかし、そのあとに、希望者もアイディアを発表できるということなので、当然しました。

たぶん、ここで発表したのは運命を変えるぐらいの決断だったと、後になってから考えます。

チームメンバーとの出会い

ミニプレゼンの後は、チーム作りでした。 

似ているアイディアだから一緒になろうと言ってきた親子がいたので、同じチームになりました。 また、事前に一緒のチームになろうと言っていた人も呼んで合計で7人のチームになりました。

エンジニア6人とデザイナー1人という開発特化なチーム構成でした。 この選択は後から考えても、よかったと思います。

決勝進出者を決めるプレゼンタイム

お昼ごはんを挟み、アイディアソンの通過者(=決勝進出者)を決めるプレゼンの計画を練りました。

知らない人とチームを組んだということで、自己紹介から始まり、お互いの思っていることを言い合いました。

彼女をターゲットにしたものより、親をターゲットにした方がいいだろうということで、アイディアにおける対象を変えたりしました。 また、テレビ局が主催するハッカソンなので、テレビをうまくアイディアに取り込めたらいいなと考えていました。

プレゼンの様子

20チーム中8チームしか決勝に進めないということで、なんとかがんばりました。

まぁ、その結果アイディアソンを通過し、無事にハッカソンに進めました。

アイディアソンでのコツは、技術的にできるかは、頭から置いといてとりあえず、言っとく!ってのが重要かなと思いました。

ハッカソンでしたこと

ハッカソン1日目

全体なシステム構成図の作成

ハッカソンでゴールへの筋道となるシステム構成図の作成を最初にしました。 ぶっちゃけ、システム構成図を作るのは初めてだったのですが、なんとかみれそうなものが出来上がりました。

ハッカソンでは、企業が支援していて、企業の提供しているサービスを利用すると企業賞がもらえるかも!ということで、賞賛企業の提供しているサービスをたくさん利用するような構成にしました。

以下の通りになっています。

data baseに Kintone を利用しているのが特徴的かな?あと、データベース間が DataSpider を利用しました。

私たちの作るもの

作ったものは、父親の家族内での株をあげるもの

女性はテレビでやっていた場所・お店へ行けたらいいな!と考えるものです。(アンケート済み) そこで、家族が見たテレビでやっていたお店や場所を父親が知って、家族旅行を計画するときのアイディアにしたらいいんじゃないか?というアイディアです。

技術的な面から見ると、

  1. 赤外線センサーを使い、テレビのリモコンを受信する
  2. リモコンの情報を DB に送り、保存する
  3. 定期的に、DBに保存しているリモコンの情報をもとに、Twitter、番組公式ウェブサイトの情報を取得し、DB に保存する
  4. アプリからその情報を見れるようにする

Cognitive Service の導入

自分が担当?した箇所は、主なものに Cognitiver Service を利用するためのあれこれをしたことです。 Cognitiver Service とは、 Microsoft さんの提供している AI とかを利用した、便利サービスです。たとえば、画像検索、機械学習、顔認証、顔解析など多岐にわたります。

当日は、Microsoftのテクニカルエバンジェリストの大森さんがサポートスタッフ?として来ていました。そこで、いろいろ聞いて実装していきました。

例えば、LUIS(Language Unserstanding Intelligence Service) です。これは、所謂機械学習と言われるもので、 ウェブサイトのテキスト列から住所などの情報を取得しようとしていました。

また、Twitterとの接続の辺もやりました。ツイート情報を取得して Json にして返すという処理をしました。工夫点は、ツイート情報の抽出条件が変わってもすぐに対応できるような形にしたところです。 実際、最後の 30分ぐらいの時に 「やっぱ RTは除いて!」 「特定のハッシュタグは除いて!」ときましたが、2分ぐらいで設定を変更することができました。

また、 Azure Function の コードも NodeJS で 一部書きました。

サーバーサイドの仕組みの大幅変更

正直、 DataSpider であれこれするのは、SafariChrome で動かないからつらいということで、大幅なサーバーサイドの仕様変更をしました。

Azure FunctionsLogic Apps を利用する感じにしました。ただ、 ハードウェア(Mesh) からデータを受信する部分は、 DataSpider を使いました。

以下がシステム図となっています。

f:id:kuxumarin:20170321170857p:plain

f:id:kuxumarin:20170321170955j:plain

ハッカソン最終日

ハッカソンは徹夜でやる人もいたかもしれませんが、自分たちのところは十分な睡眠時間を確保しながら進めていきました。 まぁ、自分は、Azure でちょっと遊んでいたので朝早くから起きていましたが(笑)

プレゼン

プレゼンは、まぁ、普通に終わった感じですね… いつも(NGK とか NL 名古屋)みたいに、刺激的なプレゼンをしたかった …

最終プレゼン資料

ハッカソンで得た学び・結果

日本マイクロソフト 賞 を受賞

www.instagram.com

表に出しやすい成果としては、これでしょう。

Microsoft Student Partners として、これを受け取らないわけには行けなかった気もしますが(笑)

景品は日本マイクロソフト株式会社の社長さんの本と De:code 鞄でした。

DBも Azure で統一していれば、もっと開発がスムーズに進んで、機能を作りこめたかなと思ってます。

知らない人との共同作業は コミュニケーションが大事

事前に5人でチームを組んでいましたが、ネットで知り合った感じの人なのでほとんど知らない人状態でした。つまり、知らない人7人とチームを組み作業していました。

反省ですが、会話の量が少なかった気がします。会話をすると作業に集中できなくなるデメリットはあるのですが、仕様に対する理解を深めるための会話はもっと必要だったと思います。

プログラムの詳細な仕様について簡単に共有できる方法があるといいかなと思いました。 返り値の JSonはこうだよーみたいなのを簡単につたえたい。。。

コーディングは悪

ハッカソンは時間との勝負なのでコーディングは悪だと思いました。 コーディングしなければ、バグは出にくいし、時間取られないので。

今回、 Microsoft Azure の Azure Apps Services の Logic Apps というものを活用しました。 これは、IFTTT の進化版みたいなやつです。 Twitterからデータを引っ張ってきたり、 Cognitive Service をごにょったり、 Azure のサービスといろいろ連携できるみたいでした。たのしみ。

コーディング以外の時間も減らせれるように、 Azure Function というサーバーレスな環境を作りました。 サーバーの立ち上げは本質的じゃないので。

ノンコーディングツール・サーバーレスアーキテクチャの注意点

やっぱ、基礎的なところをしらないと使いこなすのは難しいなと。。。 いろいろ。。。

Microsoft Flow にも、 変数とか、色々な便利機能が追加されたそうなので、次回、こういう機会があれば、もっと楽になってると信じる。

ハッカソンで大変だったこと・今後ハッカソンに出るなら改善したいこと

企業賞を狙わずに、作りたい作品を作る

今回は、企業賞を狙っていたため、ハマってしまった箇所があったように思います、最初から 相性のいいサービスを組み合わせて作っていけばよかったなと。

起業イベントと比較してのハッカソン

本題です。

自分の参加した起業体験イベントについて

スタートアップウィークエンド 豊橋

先日私は、スタートアップウィークエンド豊橋というものに参加してきました。

これは、3日間で起業を体験するというイベントです。とはいえ、マーケティング調査から何なりとフルでこなす感じのガチなイベントです。

作ったサービス

私たちは、誕生日にサプライズをパッケージングして届けるというサービスを考えました。また、実際に販売し収益をあげたりしました。

自分は、商品の紹介のウェブサイトとアプリの作成をしました。 また、最終プレゼンもしました。

スタートアップウィークエンド 豊橋 の結果

初参加で優勝しました。

ハッカソンのゴールと起業体験イベントのゴールは違う

ハッカソンとスタートアップウィークエンド豊橋は目的がまず違います。

ハッカソンは、画期的なサービスの立ち上げが目的です。スタートアップウィークエンド豊橋の場合は、サービスの立ち上げより、そのサービスに需要があるか、顧客はいるのか。が重要視されます。

一番大きく違いとして現れるのは、最終プレゼンの形態だと考えています。 ハッカソンでは、作成した成果物を実際に動かすことが重要視される。 スタートアップウィークエンド豊橋では、成果物の顧客・将来性があることが重要視される。

今後の人生で役立ちそうなこと

チームで協力する

スタートアップウィークエンド豊橋が特にそうだと思うのですが、所謂、エンジニアな人だけでなく、営業やデザイナーな人と協力できてないとうまくいかないなと感じました。
まぁ、それ以外の人ともいろいろやらなければいけないんですが(笑)

知らない人と協力する

社会に出てから、知らない人と協力することが多いらしいので、その時にこの経験が生きてきそうな気がします。

期限を守るために取捨選択をする

ハッカソンで特に感じことですが、期限(3日目の夕方)までに間に合いそうにない機能は、実装を見送りました。 個人的には、残念なことでしたが、この経験ができたのもよかった。

評価する人の欲しいものを提供する

スタートアップウィークエンド豊橋で製品をつくることを重視したり、ハッカソンで需要があることをアピールしたり。

まとめ

体験するとものの見方が変わる

時間を自由に使える学生のうちに色々体験したい

プレゼント待ってます

www.amazon.co.jp

肉おごってください

おまけ

予選についての記事はこちら

kuxumarin.hatenablog.com

技術的観点からの記事はこちら

goo.gl

MA Award による記事はこちら

mashupaward.jp

ハッカソンの審査基準