米ヤフーはなくて、日本法人のヤフー株式会社。
先週の月曜から水曜まで、Hack Uというヤフー主催のハッカソンに参加しました。8時間*3日の24時間で何ができるかが勝負みたいな感じ。Hack U at UECということで電気通信大学の学生のみが参加できるものでした。どうもいろんな大学を回っているようで、筑波大では友人が参加して最優秀賞もらっていました。
今回、@alstamberさんと@Mitu217くんと3人でCoffee::Beats
というチーム名で参加しました。tofubeatsっぽい。
作ったものは
ほぼリアルタイムに恋人のいる方位と距離を調べるツール
です。
一昨年あたり、カレログという彼氏のいる場所を記録するアプリが話題を呼びましたが、あれのように炎上するものではなく方位と距離だけを表示することで少しもどかしい感じを演出するというアプリを考えていました。
2月中旬にした
サーバに端末を登録しておいてGPSと電子コンパス使って互いのいる方向と距離を出すアプリとか考えたけど一生使わないな
— Masayoshi Wada (@masawada) 2014年2月10日
ってツイートは完全にこれの伏線です。
僕が担当したのはサーバの部分です。投げられたidをもとに二人の間の距離と方位を返すAPIです。最初はYOLPを使う予定でしたがどうも方位角がとれないため自作。
Vincenty's formulaeという公式をもとに距離と方位角を返すmoduleを作成しました。地球は完全な球体ではなく楕円体であり、扁平率などを用いて計算するのですが詳しいことはよくわかりません。いろいろ調べてそれっぽく書いて、最後に国土地理院がだしている距離の計算ツールの結果でテストしました。
流れ的にはランダムに生成されたidと経度緯度の値を投げ続け、アプリがforegroundにきたら事前にQRコードで登録しておいた恋人のidと自分のidを組で投げ距離方位を取得するという感じになっています。APIから経度緯度をとることはできず、それなりにプライバシーに配慮したつもりです。
クライアントは@alstamber先輩にAndroid、@Mitu217くんにiPhoneをお願いしました。特に@Mitu217くんはiOS開発ほぼ初めてでとても申し訳ないことをしました、、機会があれば今度寿司おごります。
木曜日が発表会でした。以下はそのときのスライドです。
結果、「恋人との距離を調べるツールなのに彼女がいないのが電通生らしい」ということで電気通信大学賞なるものをいただくことができました。
賞はともかく、朝4時寝とかしていた生活リズムを元に戻すきっかけができた良いハッカソンでした。チームメンバーの二人もありがとうございました。