かみやんの技術者ブログ

主にプログラムの話です

ibisPaint for iPad 開発秘話

2011年6月21日待望のibisPaint for iPadがリリースされた。めでたい。今回はその開発秘話を書くことにしよう。

企画段階


上図、ibisPaint for iPadのタイトル画面。デザイナにはスカッと明るい空で。という感じで依頼

僕は、根っからの技術者だ。小学校3年生でパソコン(松下製JR100)を買ってから、ずっとプログラムばかり書いて来た。寝ても覚めてもコンピュータのこととプログラムのことを考えてきた。大学生のときにMOSAICショック(Firefoxの前身のNetscapeの前身のブラウザ)を目の当たりにして、Web時代の幕開けを感じて日本初のFTPソフト小次郎を作ってシェアウェアとして販売して、プチヒットして資本を用意して、iモードの立ち上がりをみて、26歳のときに独立した。ガラケー時代は、ibisBrowerというiアプリで動くフルブラウザを一人でコーディングして、大量のサーバをクラスタリングしてサービスインさせた。iPhoneのリリースと同時に電光石火で、iPhone用の送受信できるメールソフトとして、世界初でibisMail for iPhoneを作り、AppStoreで国内有料総合1位をとった。
ibisBrowserがリリースされた後は、僕はコーディングをしなくなり、もっぱら企画を練ったり設計をしたりというのが僕の仕事だ。

ibisPaintを企画したときは、その前からずっとソーシャルな企画を考えたいと思って、ネタ帳にたくさんの企画を書いていた。
企画をしたことがない人、自分で自社製品や自社サービスを立ち上げたことがない人は、ネタがすごく大切、アイデアがすごく大切。と思っている人がいるが、企画はもの凄く大切なのだが、実行することと結果を伴うことも含めて企画であり、プロデューサのミッションなのだ。これは、成功体験を得ないとなかなか伝わらない。
「あー、あのアイデア俺も前に考えていたのに、あの会社からリリースされた!」
などと悔しがる人は、大抵、企画をたてて遂行し成功させた人ではない。本当は、チャンスはいつでもどこでもあるけど、実行できないことが多い。それは自分の立場だったり、実績だったり、発言力だったり、会社の資本力だったりする。社員60人の中小零細の社長の僕でもそんなことは日常茶判事である。
それと一般の人は、世の中にでてくる新製品の多くが儲かっていないことを知らない。
「あー、あのアイデア俺も前に考えていたのに、あの会社からリリースされた?」
とぼやくなら、せめてその会社から出た新製品が儲かったか追跡調査すべきだ。AppStoreは、世界と戦わないと行けないので、さらに競争は激烈。日に200本とか新アプリが出るとか、すでに40万本のアプリが出ているとか95%とか97%ぐらいは儲かっていないという。その中で売れる製品を作るには、相当大変。そのため僕は寝ているときでもネタが思いついたらベットの中でiPhoneでネタをメモしてメールで送るようにしている。
あと、iPhoneアプリの企画について書かれた本を読んだことがあるが、ある本は300本アプリを作ったとか、ある本は100本アプリを作ったとか書いてあった(もちろん著者は有名ディベロッパー)が、僕はスタイルが違う。もし売れたときは、長くバージョンアップができる企画のものを湛然(たんねん)に作るスタイルだ。ibisMailも企画時の構想からするとまだまだ実現できていないことが山ほどある。リリースから2年半弱だが今でもカテゴリランキング上位だ。長く情熱をそそいでいる。
リリースして2週間だけランキング入りみたいな感じでバージョンアップしないアプリが多い。ビジネスとして作る場合はこれはしかたがない。僕も売上が止まればバージョンアップはできなくなる。だからこそ長くランキングに入って長くバージョンアップできる企画にしたいと日頃から思っている。
話が脱線したが、ibisPaintは、ASCII.jpの http://ascii.jp/elem/000/000/429/429906/ この記事を読んだのが元ネタの企画である。これはiPadが出る前に読んだもので、そのとき作りたいなと思ったときのメモからの出発である。
「「描いてみた」をiPadで実現する。」これが今回の大元(おおもと)の企画だ。
社内的な事務処理であるが、ここで企画を書いて、コンセプト、開発コスト、開発期間、営業方法、予定収益、競合調査結果を社内でプレゼンをして稟議を通す。

上図、漫画家の神寺千寿先生にibisPaint用に描いていただいた「白井ユリ」

設計段階

ibisMailのときは、とにかく世界初でリリース!AppStoreができてすぐに企画を書いたので競合はゼロ。あるのはOS付属の標準メールのみ。なので標準メール+アルファ。標準メールが普通に進化したらどうなるかをイメージして設計をした。
今回のibisPaintは、iPhone時代からお絵描きアプリを開発している会社もあるし、iPadがリリースされるとともにスタートを切っているお絵描きアプリもある。つまり競合が多々あり、先輩ディベロッパーがいっぱいるということだ。この場合は、設計の仕方が全く異なる。
まず、徹底的に競合を調査する。どのぐらい売れているかの市場調査もする。かたっぱしからお絵描きアプリをかう。レビューを読む。その会社のホームページを読む。「自分のアイデア最高!」と思っている企画者は結構競合調査を嫌う人が多い気がする。他の製品をみないことで、アイデアが研ぎすまされることもあるかもしれないが、実際には競合より工夫が足りないこともあるし、的外れなところへ進んでいくこともある。
僕のスタイルは競合は徹底的に調査するスタイル。その中で、大元の企画からは関係ない細かい中での差別化もはっきりしてくる。競合の工夫をみて別の工夫を思いつくこともある。ひとつ一つの細かいUIや演出については、大変なので説明はしないけど、UIを決めるときは何度も何度も初めてユーザが使ったときの心の動きをイメージする。目をつぶって耳を済ましてイメージする(とはいっても完成したらもっと調整したいもっと調整したいというところはあるのだが)。
ちなみに僕はUIを決めるときは、パワーポイントで部品を配置しながらイメージを固めてゆく。
競合をみていてこれは駄目でしょう。と思ったUIをひとつ紹介しよう。お絵描きアプリで絵を描いた後(PC的に言えばファイルを編集した後)、編集画面を抜けるときに「保存しますか?」「保存」「破棄する』みたいなボタンがでるUIがあった。これはダメだ。iPhone/iPadの世界では、PCであったファイルっぽい概念をユーザに見せるべきではない。ここではだまって保存すべきだ。

UIが固まったらデータ構造や色の計算方法、サーバとの通信方法、TwitterFacebookYouTubeとの連携方法、動画エンコーディングなど詳細に落とし込む。
データ構造の設計は最も気を使う部分である。この設計がベストかどうかで、処理速度が違って使い勝手が全然違ってくるからだ。設計段階からどのぐらいのファイルサイズなら保存に何msかかるかとか、シークしたらどのぐらいか。とか。ベンチマークをとってフラッシュメモリの速度を調査したり、圧縮をかけながら保存するとどうか等を調査しながら設計をした。

上図、256階調の選択レイヤー機能。当初の企画段階には含まれていなかったが、お絵かき機能の中でも1つぐらい他にない機能が欲しいと急きょ開発メンバーにお願いして無理して作ってもらった機能

コーディング段階

ibisPaintでは、僕はコードをほとんど書いていない98%ぐらいは開発メンバーのみんなが書いてくれた。その代わり、毎日毎日詳細にソースコードレビューをしつづけた。
もっと高速に動作するように!もっと速く!もっと速く!
コードをみては、ベンチマークをとって何msだから遅い。僕がチューニングして何msに高速化。最悪、設計書からずれても仕様が変わってでも高速化に情熱を傾ける。
たぶん開発メンバーからは、「社長、速度にこだわり過ぎじゃないのか」と一部思われたんじゃないかと思う。僕は、モバイルコンピュータが好きで好きで仕方がないので、そのハードウェア性能を極限まで発揮させてあげないと、コンピュータがかわいそうと思ってしまう性格なのだ。
当初設計書の最初には、「「さらさら」描ける快適さが必要、最悪でも20fpsを切ってはならない」と書いてあったのだが、実際には20fpsでは快適ではなかったので、チューニングにチューニングを重ねて、60fpsの「さらさら」かけるブラシが作れた(ま、まだ改善したいところは残っているけど)。

こうしてコーディング段階では、進捗管理をしながら品質管理をしながら微調整の仕様変更をしながら進む訳だが、企画が成功するかどうかが日に日に不安になる。不安がつのって「もっとベストを尽くさなきゃ」と毎日夜中の2時、3時まで僕の仕事は続く(ブラック企業ではないので僕以外は普通に20時前後に帰っているけど)。
そして、みんなが一生懸命ベストを尽くそうと努力をしてくれているのをみると、「失敗したらどうしよう。みんなの努力が無駄になる。どう責任を取れば良いのか」とさらに不安になる。製品が完成に近づくにつれ、僕のプレッシャーはどんどん大きくなり、僕の過労はどんどん進んでいく。それと同時に「絶対、負けたくない」「絶対、失敗させないぞ」と毎日、闘志を燃やしながら前に進む。

上図、ブラッシュアップして高速化した60fpsのブラシ。実装直後は30fpsを切っていて頭を悩ませた。

リリースへ向けて

そして試験行程を経て、開発メンバー最後のラストスパートでヘトヘトになりながら、Appleへ申請!僕は開発メンバーみんなに言った。「この申請ボタンを押す瞬間、みんな「俺たちの思いよ届け!」と強く念じてくれ、世界の裏側まで届くように念じてくれ」
Appleへの申請から承認が下りるまでは通常、1〜2週間かかる。そのため、申請後も試験を続けるのは常套だ。試験を続ける中で不具合が発見される。その度に開発メンバーにいっせいに緊張が走る。影響範囲の大きさを評価して、自ら申請取り下げかどうか判断する。自ら申請取り下げとなること数度。その度に、開発メンバーの顔色は真っ青になりながら不具合を修正して行った。
僕は、ここで一区切りという思いで、開発メンバーに向けて、リリースした後、売れずに失敗したときの段取り、ちょっと売れた場合の構想、もっと売れた場合の構想を、開発メンバーへのねぎらいの言葉と共に長い長いメールで送った。メールの最後の一言は、「人事を尽くして天命を待つ」だった。

上図、TwitterFacebookでの作品URLやYouTube URLのシェア。

リリース初日

Appleから承認が下りた旨のメールがくるのはいつも明け方5:00ごろだ。僕は、ibisMailで朝起きると毎日そのメールを待ち遠しく待っていた。そうして、2011年6月21日 5:00に無事Appleから承認が下りた旨のメールが届いた。会社に行くと開発メンバー一同、リリースされた喜びで明るい顔だった。一方、僕は期待と不安でいっぱいだった。
リリース初日の夜、19時ごろibispaint.comには、ユーザからの投稿作品はゼロ。AppStoreの有料アプリランキングは150位。僕は午後から夜にかけて、どんどん顔が青ざめて行った。開発メンバーにも失敗の空気が流れていた。その晩、何度も何度も「失敗した、負けた。開発メンバーみんな頑張ってくれたのに。お金も時間も情熱も投資したのに。」と心の中でつぶやいた。

上図、本アプリと連動するWebサイトのibispaint.com。Web開発は朝飯前。

翌日

悔しくて悔しくて一晩中眠れず、また、一晩中次の段取りをどうするかずっと頭の中で試行していた僕は眠い目をこすりながら出社した。
昼になると、ついに大手メディアのITMedia「iPadで“お絵かき工程動画”を作成・共有――新視点のソーシャルイラストアプリ「ibisPaint」」というタイトルで紹介してくれた。Twitter検索でも話題になっている。2時間おきぐらいにAppStoreでの順位が上がっている。開発メンバーからも「総合○位になりました!」とどんどん喜びの声が上がる。ユーザからも作品が投稿されて来る。
結局この日は、全カテゴリの総合4位。翌日には、総合1位を獲得した。

上図、iPad有料アプリ全カテゴリ総合トップ!
その晩、僕は、嬉しくて嬉しくて一晩中眠れず、一晩中次の段取りをどうするかずっと頭の中で試行した。

さぁ、次は世界をめざそう!

あとづけ

やー、もっと機能の紹介とか技術的に気合を入れたところとか詳細を書こうと思っていたけど、プロデューサーとしての自分がメインになってしまった。僕は、これでibisMail for iPhoneに続いて2製品で有料アプリ総合1位をとりました。2製品リリースで2冠!iPhone/iPadアプリに興味のある方は是非トライしてみてください。
ibisPaintは、みなさまの応援がないと続かない企画なので、ibisPaintを買った方は、どんどん作品を公開していただけると幸いです。
僕自身は、売れている限りはバージョンアップしたいと思っているので、要望があればTwitterの@kamiyanまでお伝えください。要望の方が多くて開発速度が追いつかないと思いますが、開発メンバー一同、コツコツ地道に努力を続けますのでよろしくお願いいたします。

#ibisMail for iPadは、法人向けの問い合わせが多々来ています。ビジネスモデルについては、また別の機会に語ろうと思います。
ーー
URL:ibisPaint for iPadのダウンロード、レビューはこちら サイトは、ibispaint.com
URL:ibisMail for iPadのダウンロード、レビューはこちら
ご意見ご要望はTwitterから: @kamiyan