先般弊社では初のiPhone(iOS)向けアプリ「独りブレスト!発想会議」(以下、「発想会議」をリリースいたしました。アプリの詳細については是非紹介ページをご覧頂きたいのですが、今回このアプリのプログラミングを担当しました。お陰様で一時はAppStoreのビジネスカテゴリの有料アプリランキング1位を取るなど予想以上にご好評を頂いており、開発メンバーの一人としては嬉しい限りです。ご利用いただいている方々にはこの場を借りてお礼申しあげます。

私は今までにもプライベートでは簡単な業務支援ツールを開発してフリーソフトとして配布したり、業務内で利用するプログラムを作成してきましたが、広く一般ユーザ向けのアプリを、しかもチームで開発するということは始めての経験でした。普段はお客さんであるメーカーやサービス企業の作った製品を評価する立場にある我々が、そうした開発側の立場を経験することは色々と勉強になりました。

実際にあったエピソードをご紹介します。「発想会議」は起動するとタイトル画面が表示され、そこからロゴをタップすることでメイン画面に遷移します。当初ここはタップすると同時にパッと画面が切り替わるようになっていました。しかしデザイナーから「じわっと透けるように切り替えて欲しい」という要望があがり、そのこと自体は比較的簡単にできるので安請け合いしたのですが、後になって結構ハマりました。実際じわっと画面遷移すること自体はすぐに実現したのですが、AppStore申請直前の社内デバッグ段階で「じわっとしてる最中に他のボタンをタップするとそちらも反応してしまい2つの画面が開いておかしいことになる」ということが発覚したのです。慌ててじわっとしてる最中にボタンの反応を無効化する処理を追加したのですが、今度は「フリーズする(=無効化が正しく解除されずボタンが効かないままになる)」という報告が続出orz。結局じんわり効果を使っている全ての画面でこの問題を収拾するのに一週間程審査が延期になってしまいました。まぁ一週間もかかってしまったのは単に私の技術不足ではあるですが、ともあれ「画面がじんわり遷移する効果をつける」という変更をすることで、「じんわり遷移中に他の操作をされても問題が起きない事」も保証しなければならなくなった訳です。実際にはわざわざそんなことする人はまずいないだろうというにも関わらず、です。

我々は利用者の立場から「この機能が欲しい、あの機能も欲しい」と気軽に要望を出してしまいがちですが、それはその機能自体を実現する手間だけでなく、既存の部分と衝突して問題が発生しないか、ということを全て検証し直して問題ないことを保証しなければならないということなんですね。元からある機能が多い場合にはそれはとても大変な手間になります。欲しい機能自体がちょっとしたものに思えて「なんでこんな簡単なこと対応してくれないんだ?そんな技術もないのか?」と思っても、実際にはその何倍もの品質管理のコストがかかってしまう、ということを我々利用者も知っておくべきなのかも知れません。

P.S.

「独りブレスト!発想会議」はこんなアプリです。>解説動画