はじめてハッカソンに参加して
来年のクラウドファンディングに向けてプログラミングスキルを高め、アウトプットの機会を増やしているところです。その過程で、今回ハッカソンに初参加してきたので、その経験と感想を共有します。
ハッカソンで最終的に作った作品はこちら。
ハッカソンとは何か
ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とは、ソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである[1]。個人ごとに作業する場合、班ごとに作業する場合、全体で一つの目標に作業する場合などがある。時にはハードウェアコンポーネントを扱うこともある。ハッカソンは1日から一週間の期間で開催することがある。いくつかのハッカソンは単に教育や社会的な目的を意図に開催する。使用に耐えるソフトウェアの開発や既存のソフトウェアを改善することを目標としている場合もある。また、使用プログラミング言語、オペレーティングシステム、アプリケーション、API、主題や参加プログラマーの人数を定める場合がある。 出典: フリー百科事典『ウィキペディア(Wikipedia)』
語源はハックとマラソンでハッカソンとのこと。
RSSリーダーに流れてくる記事でたまにハッカソンについてのレポートが流れてくるものの、駆け出しの自分には縁遠いものだと思っていました。いざ参加することになり、事前情報で「当日はとにかく時間がないからお昼ご飯も簡単に食べれるものを準備しておくように」と言われても、「自分には長時間活用するだけの技術がないから、作れるものをすぐに作って時間が余るんだろうなぁ」と考えていましたが、結局大忙しの1日となりました。
とりあえず気合いで負けてはならぬと、当日はラグビージャージを着て臨みました。(参考記事、「顔からラグビー部かサッカー部かを判断する」)
ハッカソンスタート
参加したハッカソンは、こちらで、事前にObnizを使用することは分かっていたもののテーマは伏せられていました。
9時に開始され、すぐにテーマが「運動」だと発表。そのまま、アイデア出しのワークがありました。ワークでは、既存の二つを組み合わせて新しい運動を考えるというもので、ファシリーテーションの上手さに驚きながらもアイデアはさっぱり出ず、他の参加者の自由な発想に圧倒されるというスタートでした。実際今日取り組む予定のアイデアを書く段階でも何も思いつかなかったのですが、居酒屋を運営する会社に勤める別の参加者がメガジョッキに関する企画を立てているのをみて自分も仕事に関係することでと発想したら、すぐにアイデアが出てきました。
足踏み運動を頑張ると孫が褒めてくれるプロダクトを作りたい
作ろうと思ったのは「足踏み運動を頑張ると孫が褒めてくれる」という作品。
普段訪問診療をしていて歩く重要性を患者さん達にお伝えするのですが、歩けなくなった方は運動する機会が極端に減り筋力低下が加速しがちです。「どうせ歩けないなら筋力が低下しも変わらないのでは」と思われるかもしれませんが、ベッドサイドにあるポータブルトイレまで自分で移る、車椅子でトイレに行って短時間つかまり立ちをする、など、長距離は歩けなくても数歩歩いたり、手すりを持って短時間立つことができるだけでも、ずいぶん介護の負担は減ります。また、介護が楽になるだけでなく、立つという行為をするだけで足の筋肉や血管が働き自身の健康のためにもとてもいいということを、認知症のケア技法であるユマニチュードの創始者イブ・ジネストさんが教えてくれました。
実際のプロダクト作り
Obnizの距離センサーを持っていて、以前「あけちゃダメな箱(未完)」を作った際に使用経験があったので、距離センサーを使えば足踏み運動を検知できそうだとはじめにイメージしていました。しかし、足踏みを距離センサーで測るのは困難だと早々に判断し、足上げ運動を正面から検知するという仕様に変えることにしました。また、回数に応じて声を出す部分については、以前作った「暑くなったらクーラーをつけるように呼びかけ熱中症を予防する」というプロダクトを作った際に注文していたパーツがあり、前日に「あけちゃダメな箱ver.2」を試作していたので、MP3で入れた声を適宜再生することはできそうだと考えました。
しかしすぐに、足伸ばし運動を一回ずつは検知したとして、回数を数えるのをどうプログラミングするか、で躓きました。「Obnizで腹筋カウンター」という記事が参考になりそうだったので、自分なりにコードを書いてみたものの動かず。そこで、サポーターの先生に教えてもらいヒントとして提示された記事をもとにコードを書くものの動くはずのものが動かない、、これは、MP3で入れないといけない声がMP4になっていたためでした。(MP4をMP3に落とすのはiPhoneのアプリを使用)
結局、ベースとなるコードは、前日に試作していた「あけちゃダメな箱ver.2」のものを使うこととなり、ここは前日の試作が生きたところでした。その後も、if文で躓いたりして何度もサポーターの先生に助けてもらいながら昼ごはんは5分で済ませて、14時半頃に作りたかった作品のコードが書けました。
久しぶりの工作とプレゼン
足伸ばし運動は、いろんな場所で行うことが考えられたため持ち運びできるものを作ることに。スピーカーは100均で買ったものを使い、自宅にあった空き箱を利用しました。
足上げ運動の画像はイラストACからヘッダーにもしたものを見つけ、箱に貼って完成。
出来上がったものがこちらです。
なんとも貧相な見た目ですが、持ち運びもできて目指す機能はつけることができました。
15時半締め切りでProtoPediaに記事を書くのが今回のハッカソンのルールで、動画を作る必要があったため動画撮影。
何度か撮り直しをするうちに、足上げ運動がきつくて採用動画の時にはカメラがブレブレとなってしまいました、、
そんなこんなで15時15分には記事をあげてひと段落。
その後、16時半からの発表まで時間があったので、足伸ばし運動を検知するたびにLEDライトが光る仕組みを追加しようと試みましたが、一度光ったきり光ったままにしかできず断念。とにかく技術不足を痛感する1日でした。
発表
16時半から発表開始。
1人2分のプレゼンで、シートに記入していた順での発表となりました。
1人目の方が、「私は完成してなかったので、みなさん安心してください」とプレゼンされたことに癒されながら、4番目だった自分の順番はすぐにやってきました。
全体に目新しい作品が多いなか私の作品はなんとも地味な作りで、動画も1分ありながらそのほとんどは足上げをしてるだけという残念な発表となってしまいました。
動画を編集する技術がなかったのも課題ですし、この記事を書きながらもっと現場で必要としているプロダクトであることを強調すれば良かったなぁと感じています。
他の作品について
どれも、面白い作品ばかりだったのですが、個人的に技術の使い方が印象的だったのがこちら。
足を動かし健康を目指すという点では私の作品と同じ視点なものの、そのアプローチと作品は全く異なるものでした。私が回数をカウントするところで躓いてる一方、こちらはGoogle Aps Script経由でGoogle SpreadSheetsにデータが保存され他の人と競えるところまで実装。はじめの3Dモデルを使った動画の作り込みも含め、圧倒的な技術の差を感じました。Google Aps Script経由でGoogle SpreadSheetsにデータを保存するのは、ヒヤリ・ハットをオンライン化するときに必要な技術だと思います。
もう一つ技術の使い方が印象的だったのが鬼滅の呼吸ネタのこちら。
同じスクールに通う仲間で自分も習った技術の実装ですが、「あけちゃダメな箱」で自分がつまずいたObnizとLINE Botの連携を使いこなしており、さらにはこの表の作り込みぶりが子どもたちの影響で元ネタがわかるだけに、とても印象に残りました。
前回未完だっただけに、ObnizをLINE Botと連携させた完成版の箱を作って記事にしたいと思います。
アイデアが面白いと感じたのはこちらの作品。
実は私もアイデアだしの段階で納豆に引っかかってて、納豆の混ぜ具合と機械学習で何かできないかなど考えていたものの、具体的なアイデアが結べず現実的なものへとシフトしたこともあり、まず納豆ネタという事にフックしました。
さらに、この作品では、前回の作品作りで余っていたというガイコツを使い、マトリックスLEDや、ガイコツの眼もLEDで光らせるなど細部の作り込みまで素晴らしい出来。動画で、横で一生懸命納豆をかき混ぜる娘さんの様子もとてもかわいくて、作品の効果がよく分かりました。この発表を見て、ハッカソンはコードを書いて終わりではなく、作品の作り込みが重要なことを痛感しました。
ここで紹介できなかった他の作品も面白いものばかり。
プレゼンの様子はこちらのyoutubeでみれますので、ぜひご視聴ください。
感想に変えて
今回はじめてのハッカソンでしたが、noteのつぶやき機能と音声機能も初めて使いました。
最後の感想代わりに、ここで挙げておきます。
この記事が気に入ったらサポートをしてみませんか?