mixi Graph APIで作ろう! ミクシイハッカソン@デブサミ2.18開催
mixiのオープン化の一環として、新プラットフォーム「mixi Graph API」が発表されたのは昨年の9月。当初は法人パートナーのみを対象としていたが、予告されていたように12月に個人の開発者でも利用可能になった。
mixi APIの利用では、個人ベースでいろいろな面白いことができる。そのパワーが十二分に発揮されたのが、去る2月18日「Developers summit」において開催された「ミクシィハッカソン@デブサミ」だ。7チーム、約20人の開発者が「mixi Graph API」を利用したアプリを、わずか1日で開発するという。
さて、筆者は編集部から、このハッカソンの様子をレポートせよと指示されたのだが、いやまさか、ハッカソンの現場というのが、これほどまでに緊張感や真剣さにあふれ、集中した現場であったとは想定外だった。参加者はチームごとにテーブルに分かれ、持ち込んだPCに向かって集中してコードを打ち、時折顔を突き合わせて議論しながら開発を進めていた。
朝10時に始まり、途中15時に途中経過の確認を挟んだ時間を除いては、終了時刻の17時までひたすら小気味良いタイピング音を響かせながらプログラミングが行われていた。本当に何かが起きたようにも思えないこの静かな7時間で、どんなアプリが完成したのか。それでは成果発表会の様子を見ていこう。
チーム1 しりとりアプリ
1チーム目からスマートフォン用のWebアプリ。今回のハッカソンでは、スマートフォンが大活躍であった。やはり機動性と柔軟性を兼ね備えるスマートフォンの発展で、ソーシャルネットワークの輪は広がっているのだな、ということを改めて実感する。
発表されたものは極めてシンプルに知り合い同士で「しりとり」を楽しむことができるアプリ。「本日のお題」からスタートし、最後の人が入力した言葉の最後の一音が表示され、参加者が次々と言葉をつなげていくことができる。
言葉を入力するところでVoice APIが利用され、それぞれのmixiのアカウントで「mixiボイス」に投稿される。マイミクがボイス側で「しりとり」を見つけたら入ってこられる、というソーシャル性のある遊びツールとして作られている。また、投稿者の顔写真表示などではProfile APIも利用されている。
チーム2 つぶやきクライアント
2番目に発表したチームもVoice APIを利用したアプリである。「素朴なアプリケーション」と開発チームは紹介したが、シンプルながらアイデアは面白い。複数のソーシャルサービス(Twitterとmixiのつぶやき)のタイムラインを混合して同時に表示するというクライアントだ。
Twitterとmixiのつぶやき両方にログイン(サービス認証)すると、両方のタイムラインからつぶやきを拾って、時系列に並べ替えて表示してくれる。それだけなのだが、つぶやきの中身や性質などから、サービスごとのユーザーの反応やつながり属性の違い、傾向が垣間見えたということだろうか。
時間内には完成しなかったが、Twitterとmixiのアカウントを名寄し、両方のアカウントを持っている場合はアイコンを重ね合わせて表示したり、自由に付けたニックネームで表示するといった機能も計画されていた。これが実現すれば、連携先のサービスを意識しない、仮想的なタイムラインが成立するのかと考えるとなかなか興味深い。
チーム3 青春チェッカー
3チーム目は、mixi Pluginを利用した写真共有サイトの実装である。それもただの写真ではなく「青春」を共有しようというコンセプトが面白い。事前に開催されたアイデアソンのプレゼンでは、この「青春チェッカー」が期待されるアプリとして最も票を集めた。
画像掲示板サイトとして単体で成立しており、PCにも対応しているが「街で見かけた青春!」を共有するコンセプトとしてはスマートフォンが主役だろう。実装はされなかったが、位置情報を取得して「青春はどこに存在するか?」がわかる仕組みも考えられていた。
街で見かけた青春をスマートフォンで撮影して、掲示板にアップ。それぞれの写真にソーシャルプラグインとして「イイネ!」ボタンが設置されており、クリックするとmixiチェックとして共有される。チェックボタンでなく、イイネ!を選んだのも秀逸だった。マイミクの誰がどの写真に青春を感じたか、どの写真がもっとも青春なのか、イイネ!数とアイコンでわかる。
チーム4 画像合成アプリ
次のチームも写真を使ったアプリ。こちらはPhoto APIを利用している。当初はmixiから取得したプロフィール画像をクロマキー合成をして書き戻す計画だったが、mixiに写真をアップした時点で透過情報が消えてしまうという仕様が、残り3時間となったころに発覚して、路線変更を余儀なくされた。制限時間の厳しいハッカソンならではのトラブルといえるだろうか。
完成したサンプルサイトでは、mixiからプロフィール画像を取得し、さまざまなフレームや、画像、広告などと合成出力が楽しめる。百貨店の壁面いっぱいの看板広告に自分のプロフィール写真がデカデカと合成されるなど、フレームの選択に妙があった。
mixiでAPI開発を取り仕切る田中洋一郎氏も「mixi自身が画像合成のアプリを作ることはあまりないので面白いアプリ」だとコメントしていた。
チーム5 Devツール
事前のアイデアソンでは、参加者が作りたいアプリの傾向ごとにチームに分かれたのだが、その際に開発者向けのアイディアを持った参加者が集まったのがこのチームで、2つのアウトプットが発表された。
ひとつは、music videoをマイミクと共有していくという外部サイト。マイミクの情報を外部に持ってきて表示し、アーティスト名を入力すると関連ビデオがYouTubeで検索される。ビデオを共有すると、Voice APIでmixiに投稿されるという仕組み。はじまりと出口の両サイドできっちりAPIを利用しているのが好印象だった。
もうひとつは、高機能な「すごいチェックボタン」を作るという野望の過程として、FacebookのURL Linter相当のOGP URL Linterが作成された。これは、mixiチェックでも採用されているOGP(Open Graph protocol)にそのページが対応しているかどうか、対応しているならどういうタグが入っているのかをチェックするページ。
「OGPタグをちゃんと入れるといいよ!」という啓蒙のためにも作りたかったとのことで、mixiの田中氏も「個人的にすごくドキッとした。本来ならmixiがやるべきこと」と語り、最後の表彰で田中洋一郎賞に挙げられた。
チーム6 Bluetooth
6チーム目は「もっとカジュアルにマイミクになる」ことをコンセプトに、BluetoothやGPSを利用したマイミク申請するアプリを発表。オフ会などで直接同じ場所に居合わせて仲良くなったときに、iPhoneのバンプ機能のような感覚でマイミクが申請できたら、という実用的なシーンが想定されているところが特徴的だった。
Bluetoothを利用したアプリでは、まずアプリを起動して、マイミク申請される側がmixiに登録しているメールアドレスをBluetooth通信で送信。受信した側がそのメールアドレスでmixiのadd_friend.plを叩いてマイミク申請を送信。マイミク申請される側に通知される、という仕組みである。
GPSを利用したアプリでは、マイミク申請される側が位置情報とメールアドレスをセットでGAEのサーバに登録する。次に、マイミク申請する側が同じサーバで近くにいる人をGPSで探し、見つけたら同様にそのメールアドレスでマイミク申請を送信する。
ともに手順がやや複雑だが、これはバンプすれば即マイミク、といった単純なAPIが用意されていないためで、実際のマイミク申請に使われるadd_friend.plは、「メールアドレスから友人を探す」機能で使われているものだという。
チーム7 戦場カメラマン
最後のチームは、「戦場カメラマン」と題して、撮った写真をmixiのフォトアルバムに随時アップしてくれるアプリを発表した。写真を撮ればすぐ公開できる。
もちろんPhoto APIを利用してのもので、まずmixiアカウントで認証されると、mixiのフォトビューワになる。この時点でも有用性があるが、写真を撮って→共有→ミクフォトカメラを選択→バックグラウンドで勝手にアップロードという手順で、非同期にどんどんアップしてくれるのは、実用性も高いように思われた。
投票
全7チームの発表が終わったところで表彰に移った。まず、ミクシィ社員が選ぶ社員賞を「しりとりアプリ」チームが受賞した。
そして、最優秀作品は参加者全員の投票により「Bluetoothチーム」が受賞した。APIの利用や機能のアイデアだけでなく、それが必要とされるであろうシチュエーションが確実に想定できる有用性と、BluetoothとGPSという2種類の実装を用意したところが高評価に結びついたのではないかと思われる。終了後、チームの方々に簡単にコメントをいただいた。
「リアルで会うとiPhoneのバンプはすごく盛り上がるので、マイミク申請も同じようにやれたら楽しいんじゃないかと、以前から考えていました。ただ、アイデアソンの時点では、マイミクになるための方法(公開API)がわからなくて、『きっとmixiの人が用意してくれるはず』と無茶なリクエストをしていたんですが、今日ハッカソンに来たら『(マイミク申請を)出せるものはあります』と言われて、ありがたかったです。本当はマイミク申請だけでなく、いろいろなデータをやりとりできればいいなと思うので、今後もっとAPIのオープン化が進めばもっと楽しくなると期待しています」
このコメントにもあるように、mixiのAPIのオープン化はこれからますます進み、もっと楽しいアプリが作られるようになるだろう。今後、ミクシィハッカソンが開催されれば、今回の作品を超え、さまざまな感動を共有できるさらにスゴいアプリが登場するはず。それまでにスクリプト言語のひとつも勉強しておくべきかしら、そう考えながら帰途についた筆者であった。