ミクシィでAndroidアプリをつくるプロジェクトが決まったのは、藤崎が試しにプロトタイプを作ってみたことがきっかけだった。
以前から、PC/フィーチャーフォンでサービスにアクセスする際の、端末を立ち上げ・・ブラウザを立ち上げ・・という流れに対し"距離が遠い"という感覚を持っていました。そこで、当時あったOne Day Free制度(※)を使い実際にAndroid上で動くクライアントアプリのプロトタイプをつくりました。それを社内の人達に「こんなことができるよ」と誰かれ構わず見せびらかせては、みんなで盛り上がっていました。ちょうど、mixi meetup 2010のイベント開催もあって、「ちゃんとAndroidをやろう」という機運がこの時に、高まりました。
早速、Android上で動く公式クライアントアプリを提供することを目的として、正式なプロジェクトがスタートすることになった。その段階で唯一決められた内容はスケジュールだけ。スタートは2010年11月、そして締切はなんと12月という超短期であった。
通常のミクシィ社のプロジェクトではしっかりと企画が決まっています。しかし今回は「Android上で動くクライアントアプリ」ということ以外は"どういうものをつくるか?"というゴールも決まっていない状況でした。だから、ブラウザ以外でのユーザーのmixi体験はどのようになるべきか?を中心に置いた上で、mixiの既存APIを利用しAndroidの特徴を活かせる機能として「最低限コレは欲しいよね」というものを企画担当者と洗いだすところから手をつけました。そこから実装や細かい挙動に関する部分を、私が中心に考えていきました。形として動くものが見えないと、議論しようにもベースが固まらないので、とにかく動くものを「作って」「見て」「修正する」という流れで進めていきました。自分が作ったものを見せながら意見をもらいブラッシュアップしていく過程はスピード感もあり非常に楽しかったですね。
実はクライアントアプリの開発はミクシィでは初めてだった。
「どんな進め方をすればよいのか?」
「評価やテストはどのようにするべきか?」
「全く時間がない中で、何をどこまでやるべきか?」
とにかく、全てを走りながら考えていきました。今回は、プロトタイプからサービスを創り出し、完全にアジャイルで開発していくという、普段ミクシィではやらないやり方で進めていきました。
単発で終わるプロダクトではなく、継続的な開発を行っていくプロダクトなので、とにかくオンスケジュールで完成させれば勝ち、というわけではありません。
また、ゼロベースで開発するということは、開発スキームもツールも、積極的に新しいものを取り込めるチャンスです。そこで、ミクシィにおける今後のAndroid開発やアジャイル開発のベースとなるよう、ベストプラクティスを目指してプロジェクトを進めようと決めたんです。
「多くの機能を無理やり実装しても、長く使える良いモノはできない」と判断し、スモールスタートすることとした。まずは肝となる部分を集中的に押さえて、とにかく形にしていくことから始めていった。機能がはっきりと見えていない状態の中で、歩みをとめないために、形を作ってみて、また考えて進めていった。」
「なにか課題が出てくればIRCの社内のチャンネルに質問を投げて解決する」
「誰かの力を借りる必要があれば、その部分だけ別途開発してもらい、途中でマージしていく」
「とにかく形のあるものを作って、動きを見る、その上で議論して、修正していく」
など、とにかくスピーディに進めていくことを意識しました。
そんな最中でも「他のエンジニアたちがアプリ開発やアジャイル開発に興味を持つにはどうしたらよいか?」を考えていた藤崎。例えば、徹夜などをして大変そうだと見られると、アプリ開発には関わりたくないと思われてしまうかもしれない。そうならないよう、企画・開発・デザインの進捗の足並みを揃え、新しいスタイルを作っていった。
このプロジェクトでは、機能を絞ってシンプルな形でリリースしたが、機能はこれからどんどん増やしていく。mixiをAndroid上につくりあげていく必要があるからだ。
Androidマーケットでは、ユーザーの評価が見えることが面白くもあり、難しい。全てを拾おうとすると、新しい機能を追加していくことが難しくなってくる。「ユーザーから低い評価があったとしても、そこにあるものをすべて拾うのではない。その中からつくるべきもの、対応すべきものをしっかり見極めてからつくるようにしています。
例えば日常生活においても、自分の感じている課題や、問題の本質を正確に表現することは非常に難しいことです。だから、ユーザーの声を単純に拾い上げるだけでは、本当に求められているものを提供することはできません。そこにある問題が何な のか、しっかり見極めることが必要です。」
そんな藤崎は、ミクシィ社内にあるコラボレーションスペースという休憩もできるコミュニケーションペースで、Androidマーケットのユーザーレビューを眺めていることが多い。開発時にもコラボレーションスペースのテーブルでクライアントアプリについて試案することの多かった藤崎は、休憩にやってきた同僚から「なにをしてるの?」と声をかけられたことをきっかけに、気づいたらサービスの改善アイデアを聞いているなど、人の意見を上手く活用していく自由な開発スタイルを持っている。だからこそ、レビューからフィードバックを得ることにも熱心だ。
ユーザーから届けられた「ここを変えて欲しい」という強い要望に対して、半日くらいで作業して対応してしまうこともあります。開発期間が短かったんですが、綺麗なコードを書くことを自分に課していましたし、開発しやすい仕組みをつくるなど運用も見据えて開発をしていました。結果的に、改修に掛かるコストも低く抑えられるので、ユーザーからのフィードバックを受けてスピーディに改善したり、新しい機能のアイディアを練っていくことに時間を割くことができています。
Androidでやりたいことは山ほどある。ただ機能を追加してつくり込むのではなく、HCDプロセスも意識したデザインも行っていきたい。「長期にわたってアプリを開発していく面白さを実感しているからこそ、他のエンジニアたちにもその興味を拡げていきたい。Android面白いよ!」と語る藤崎。ユーザーとmixiの距離を縮めるための挑戦は、これからも続いていく。

ミクシィのAndroidプロジェクトはOne Day Free制度からはじまった。

新しい取り組みを始める時には特に、開発者自身がその面白さを実感している必要がある。

完成したAndroidアプリ。