はじめに
「ハッカソンはエンジニアスキルが高くないと参加できない」と思っている人が多いと思いますが、いろんなAPIが提供されてきたこともあり、それらを組み合わせるだけでもおもしろい作品が作れるようになってきています。
私は関西近辺でちょくちょくハッカソンに参加しており、その中でのAPI利用経験を踏まえてハッカソンとAPIについてまとめてみました。
目次
ハッカソンとAPI
ハッカソンとは
Wikipediaによると以下のように説明されています。
ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とは
ソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが
集中的に作業をするソフトウェア関連プロジェクトのイベントである。
個人ごとに作業する場合、班ごとに作業する場合、全体で一つの目標に作業する場合などがある。
時にはハードウェアコンポーネントを扱うこともある。
ハッカソンは1日から一週間の期間で開催することがある。
いくつかのハッカソンは単に教育や社会的な目的を意図に開催する。
使用に耐えるソフトウェアの開発や既存のソフトウェアを改善することを目標としている場合もある。また、使用プログラミング言語、オペレーティングシステム、アプリケーション、API、主題や参加プログラマーの人数を定める場合がある。
簡単に言うと
- 何かしらの目的(課題の解決、技術の習得、チームワークの向上等など)を達成するために
- 限られた時間内で
- モノを作り上げる
というイベントと言えると思います。
長年開催されているハッカソンとしては
などがあり、TECH PLAYのハッカソンタグで検索すると、25件程ヒットし(6月11日時点)全国各地で大小問わず週に1件以上は開催されています。
ハッカソンとAPI
そのハッカソンの中で各企業がAPI提供企業として参加し、ハッカソンの中で積極的に利用してもらえるように
- ハッカソン向けにハンズオンの開催
- 無料アカウント、クーポンの発行
- エバンジェリストが直接現地で技術サポート
などを実施してくれています。
ハッカソン参加者から見たAPI
効率よく開発したい
ハッカソンは以下のような条件下でおこなわれることが多いです。
- ものすごく限られた時間内で開発する必要がある(長くても数週間、短ければ数時間~半日)
- チーム人数が少ない(3~6人)
- チームの中にいろんな役割の人が必要(プランナー、デザイナー、エンジニア)でエンジニアが少ない場合が多い
このような状況で、自分達が開発するモノの独自性部分の開発に注力するためには、APIを上手に使って効率よく開発する必要があります。
API賞を狙いたい
ハッカソンでは最優秀賞、優秀賞とは別にAPI提供企業賞というものが設けられている場合が多いです。
もちろん皆さん最優秀賞を狙って開発はするのですが、APIを積極的に利用してAPI賞を狙う人も多いです。
その場合、以下のような戦略でAPI賞を狙っている人が多い気がします。
- API担当者と積極的にコミュニケーションをとり、自プロダクトでの有効な使い方を担当者と一緒に考えていく
- API担当者が使って欲しい機能を積極的に取り入れる
エバンジェリストとの交流を楽しむ
普段はあまり接する機会がない、エバンジェリストの方々とコミュニケーションを図れる機会です。
エバンジェリストの皆さんは優秀な方々ばかりなので、話をすることで大きな刺激をうけることができると思います。
使ったことがあるAPI
最後に今までのハッカソンで使ったことがあるAPIについて少しまとめておきます。
kintone
Kintoneはサイボウズ株式会社が提供する業務改善ツールです。Kintoneはできることが多いので簡単に説明するのが難しいのですが、ざっくり書くとこんなことができます。
- データベースをGUIで簡単に作ることができる
- API経由でデータ登録/更新/削除ができる
ハッカソンでは
- バックエンド側のデータ蓄積用データベース
- GUI付き管理者ツール
として利用することが多く、使い慣れてきたこともありいつもお世話になっています。
Twilio
Twilioは、日本では株式会社KDDIウェブコミュニケーションズが提供する電話/テキストメッセージ送受信基盤です。
- 電話をかける/うける
- SMSの送受信
が簡単に構築できます。ハッカソンでは
- SMS経由でのアプリダウンロード誘導
- アウトプットの1つとして電話/SMSを追加
として利用することがあり、積極的にハッカソンに参加してくれるのでいつもお世話になっています。
Messaging API
Messaging APIは、LINE株式会社が提供するLINEを通じた双方向コミュニケーションAPIです。
- プッシュメッセージと応答メッセージ
- 1対1、グループでトーク可能
- さまざまな状況に合わせたメッセージタイプ
が簡単に実現できます。ハッカソンでは
- アウトプットの1つとしてLINEを追加
として利用することがあり、さまざまな年代の人が利用しているツールなので、これを対応しておくとデモのときに使ってもらいやすくなります。
最後に
つらつらと書いてきましたが、ハッカソンではさまざまなAPIを利用することで、自分が実現したいことに専念してものづくりを行うことができます。
また、「プランナー」「デザイナー」「学生」などのエンジニア以外の人たちでもさまざまなAPIを駆使して自分たちが作りたいものを作れる環境が整ってきています。
この記事を読んでいる方々で
- なんとなく怖い
- 開発できるかどうか不安
と思って参加をためらっている方々もふるって参加してみてはいかがでしょうか?