アプリを作っていて思うのは、何かを作って、何かを捨てる作業の連続だということ。
例えば、アプリが少し使いやすくなるようなUIを考えついたとする。
頭の中でも、経験則からでも、他のアプリを参考にした経験からでも、この小さな機能はいい感じになりそうだ、よしコーディングするぞと決心するとする。
もちろん、デザインとか細かい部分は後回しにして、大雑把に最も重要な部分を優先して、とりあえず自分でアプリを使える最低限の部分をプログラミングする。
この後、この機能を採用するかどうか、しばらく使って試す期間が出来る。
もし、作っているアプリが自分が欲しいものだったとしても、この時、本当に使い始めるまでどうしても分らない細かい部分がどうしても発生する。
アプリ開発でコストがかかるのは、やはりコーディングの時間であり、技術的な調べものの時間だから、コードを頑張って書いた後、ボツにするというのは出来る限り避けたい。
でも、ささっとコーディングした後、実際に触ってみて新たな発見がある割合は凄く多い。
Webサービスを作っている時に比べて、様々な生活のシチュエーションに密着しているiPhoneアプリは使ってみて気づく部分が圧倒的に多い気がする。
Webサービスはブラウザ間の違いはあるものの、基本的にパソコンの前に座っているシチュエーションが多かったからかもしれない。
でも、モバイルアプリは、寝転がりながら、歩きながら、座りながら、走りながら、雨が降っている時にかさを指しながら、冬の寒い時でポケットから手を出したくない時など、数えきれないシチュエーションがある。
僕は、可能な限り先人の知恵や、経験則を使って、やる前からわかる事は把握したいと思っているけど、結局、アプリ開発は何かを作って、捨てるという作業の連続になる。
当たり前の事だけど、何かを作らないと捨てることもできないなとこの前ふと思った。捨てるものをたくさん作るまで、捨てるものを選ぶこともできない。
最初はいろんなアプリのUIや様々なデザインを参考にして、頭の中で作っては捨て、作って捨て、こねくりこねくりする。
次に、ある程度頭の中で固まったら、紙に簡単に書いて、捨て、書いて、捨て、こねくりこねくりする。
次にコーディングして、実際にプロトタイプを作って、いろいろなシチュエーションで使ってみて、改善したり、捨てたり、こねくりする。
ここまでやっても、結果的にユーザにとって利便性がよくなかったりする場合、頑張って作ったものを捨てるのは本当につらい。
とりわけ、コーディングが大変だったりして時間がかかった場合はなおさら。
でも、これはしょうがない。
このこねくり過程を支えるには、やはり、作っているアプリに対する情熱が一番大事だと思う。いいものを作るという情熱がないと、こねくり過程に魂を込めることができない。
ちなみに、チームでやっている場合は、このこねくり過程をみんなで共有しないと、開発担当のほうは納得できなくてきついんじゃないかと思う。
*家計簿と読み上げのアプリ作ってます。自己紹介と過去ログはこちら。