読者です 読者をやめる 読者になる 読者になる

mixi engineer blog

ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

mixi Hackathon in Kyotoのご報告

mixi platform

こんにちは。よういちろう です。毎日暑い日々が続いていますが、皆様そんな暑さに負けずにコーディングしていますでしょうか?僕はErlang熱が少し冷め、AndroidなプログラムでTDDをしながら快適プログラミング中です。

さて、6月24日、25日に「mixi Hackathon in Kyoto」が行われました。一日中Ustreamで会場を流していたので、ご覧になった方も多いのではないでしょうか。ここでは、会場の雰囲気や参加していただいた方々の成果を紹介したいと思います。

24日夜 〜Ideathon

24日18時30分から、mixi Hackathon in KyotoのIdeathonが開始されました。今回の参加人数は11名でした。会場は京都リサーチパークのC会議室です。まずは弊社の社員紹介、今回のHackathonの流れの説明をしました。

そしてIdeathon本番に普通は移るところですが、今回は僕からmixi Graph APIを叩くための手順をライブコーディングで皆さんに披露しました。curlコマンドの使い方は、ほぼ調べなくても大丈夫です。Refresh tokenを使ったAccess tokenのリフレッシュ手順までは紹介しませんでしたが、悪意はありません。

その後、あらかじめ頂いていたアイディアを元にチーム分けを行い、各チームでアイディアを見える化してもらいました。この時間が僕はとっても好きです。「あれもいい、これもいい」と前向きなブレーンストーミングが進んでいく様は普段の仕事においても絶対に生かせることだ、と思っているからです。アイディアのディスカッションと見える化まで、20分足らずです。このスピード感は、Hackathonに参加した方しかわからない、なんとも言えないものがあります。

そして、各チームによって、アイディアが説明されます。「明日一日で作れるもの、と限定しなくていいですよ」と毎回伝えるのですが、自然と全チームが比較的現実的なアイディアに落ち着きます。今回も十分に実現可能で、しかも魅力的なアイディアが次々と発表されました。

各自が明日のコーディングに向けて具体的なイメージを持つことができたところで、Ideathonは終了しました。どう形にしていこうか、参加者全員が思いを巡らしながら帰路についたことは確かでしょう。

25日 〜Hackathon

Hackathon当日、僕らミクシィエンジニアは確か9時30分過ぎに会場入りしたのですが、その時には既に数人の参加者が作業を開始していました。1日という時間の短さは、本当に予想以上に短く感じます。全員揃って皆さんコーディングを開始したときの会場の静けさを覚えています。思わず「何かBGMを」と言ってしまったことを反省しています。

昼食は予め頼んでおいたお弁当です。しかし、なかなか手をつけようとしないところも、Hackathonならではです。集中していることの証明ですね。時間はあっという間に過ぎていき、16時30分になりました。最後プラス15分で仕上げをして、いよいよ成果発表の開始です。

この発表の模様は、Ustreamで流していました。しっかり録画してあります。

発表された成果を簡単に紹介します。

Voice API関連

mixi Graph APIで提供されているVoice APIを使ったアプリを開発したチームの発表です。このチームは3人それぞれが別のアプリとして実装したため、一人ずつの発表となりました。

一つ目はChrome extensionとしてVoiceの新着つぶやきをNotificationする、というアプリです。すぐに登場しそうでなかなか登場してこないアプリを実現していただけました。Consumer secretをJavaScriptに埋めるわけにはいかないため、サーバ側のプログラムと連携して動作しているとのことです。

二つ目は、最新のつぶやきを音声にて読み上げるWebアプリです。音声合成は野良API(?)を叩いて音声ファイルを作成し、それを再生するというアーキテクチャでした。

三つ目は個人的に期待していたアプリでした。mixiではTwitterのつぶやきを取り込んだりTwitterにもポストしたりという連携機能を提供していますが、mixi上でのコメントまでTwitterに投稿されることは残念ながらされていないため、コミュニケーションの分断が起きています。これを何とかするために、Voice APIにてボイスのつぶやきを監視し、コメントが付いていた際にそれをMention付きでTwitterにも投稿する、というアプリになります。しかし、Google AppEngine上でのTwitter APIのアクセス制限に引っ掛かり、デモは残念ながらうまくいきませんでした。とても可能性を秘めたアプリだと思っています。

大声選手権

お題が表示され、それをマイクで答えると、その内容と「声の音量」のdb付きでVoice APIを使って投稿する、というアプリです。HTML5の「x-webkit-speech」を使って音声入力が実現されています。テキスト入力のみでのコミュニケーションが中心なmixiですが、そこに「入力したときの音量」という情報が付与されることで、その時の感情も同時に伝わる、そんな可能性を秘めたアプリでした。

Check-in API + Google Maps

Check-in APIで友人のチェックイン履歴を取得し、それらをGoogle Mapsにてマーカー配置して移動を視覚化する、というWebアプリです。これを開発するために、実際にスマートフォンを持って会場の外に出てチェックインをしていたそうです。個人的には、Check-in APIを使ったアプリの実例を始めて見たので、ちょっと感慨深い気持ちになっていました。

七夕アプリ

誰かが願い事をVoice APIでつぶやき、友人の願い事を短冊のようにして表示する、そんなことを狙ったアプリです。もうすぐ七夕なので、まさに季節がらピッタリのアプリです。願い事をつぶやくところは動いていたのですが、表示する方の機能が・・・。きれいな天の川を描画することに専念してしまい、短冊まで行きつかなかったとのことでした。。。ぜひ上にあるUstにて、流れている星々を見てください。力作です。

まとめ

京都でHackathonを開催するのは、個人的には2回目でした。やはり前回の印象通り、京都はレベルが高いです。使用された技術もトレンドに乗ったものばかりであり、mixi+αの可能性を大いに感じることができたHackathonだったと思います。ぜひ参加いただいた方々には、継続して開発をしていただき、より多くのユーザに実際に使ってもらえるようになってほしいと願っています。

最後に、実はこのイベント、Hackathonではなかったようです。。。

はっちゃそん、可愛いです!

今後もmixi Hackathonを継続して開催していきます。もし「我が街にも来て!」というご要望があれば、ぜひお伝えください。積極的に出向きたいと思っています。