時間がかかっても本当に必要な機能を作ったほうがよい
個人開発で道の駅アプリをつくっている。全国にある道の駅を訪問し、記録するとマップ上のピンの色が変わる。全国や自分のエリアのピンの色をすべて変えることを目的にドライブにでかける、スタンプラリーのような使い方ができるアプリ。
いま調べたら2018年にリリースしていたのでもう6年も運用している。自分が本格的に運用しているアプリのなかでは最も古く、リリースしてからも色々と機能追加を行った。収益的なところだとリリースは当初広告を入れてるのみだったが、途中からサブスクリプションモデルを導入。月額いくらか払うと機能をフルに使えたり、広告を非表示にできたりする。個人がひとつのアプリに月額を払うのはそれなりに覚悟が必要なことなので、何か機能を追加してサブスクの登録数が増えたら刺さるものが作れたと考えられる。
当初広告モデルを採用していたこともあり、無料でもかなり多くの機能が使える。サブスクに入るとプラスでいくつかの便利機能が開放される。例えば訪問履歴をグラフで振り返る、細かいオプション設定、ダークモードテーマの適用など。でも一番需要があったのはデータの自動バックアップで、昨年実装して有料ユーザーがグンと増えた。道の駅巡りをしている人にとって一番ショッキングなのはそれまで積み上げてきたデータが消えることで、その恐れから開放されることが価値があったといえる。
面白いこととして、この自動バックアップ機能に需要があることは以前から気づいていた。というかユーザーからよく要望の声が寄せられていた。しかしシステム的に実装が重そうだし、考慮ポイントが多すぎて不具合生みそうで怖いし、iOS/Android間のデータの定義が難しいしで後回しにしてしまっていた。自動ではなく手動のバックアップ機能は以前から提供していたというのも優先度があがらなかった理由のひとつ。記録データをCSVファイルの形で書き出したり読み込んだりできる。この機能を使えば機種変更時もデータ移行自体はできる。ただマニュアルが必要なくらいには手順が少し複雑だったので、自動バックアップは求められていた。振り返ってみると需要は明確なのだからすぐに作れば良いのだが、なぜかダークテーマや細かい機能開発を優先してしまった。その理由を考えてみると「短い時間で作れそうだから」「自分の興味ある技術だから」あたりが挙げられる。
個人開発は平日の夜や週末にやっている。そうなるとまとまった時間は確保しにくく、短いタイムスパンでできる改善を先にしてしまう傾向がある。それ自体は悪いことではないが、時間をかけて大いなる機能を作った方が良い場合もあることには自覚的でいたい。また、自分の好きなことをできるのが個人開発の醍醐味なので自分の興味関心の影響を大きく受ける。例えばダークモードの実装はどうするか、グラフはどう実装すると良いのかなど。実装してみてとても勉強になったが、これらは自分目線でユーザーが欲しているものではない。賑やかしとしては良いが、ユーザーが心から求めているものではないので刺さることはない。
自分が作りたい機能を10個作るより、ユーザーが本当に欲しい機能を時間をかけて1個作るほうが提供できる価値は大きい。自動バックアップ機能の反応をみて最近はそう思うようになり、大きい機能でも避けずに毎日コツコツ実装するようになった。そして細かい実装ステップにわけて作ってみると、途方もなく時間がかかると思っていた機能でも案外2週間くらいで作れたりする。これくらいなら個人開発の時間の使い方でも全然作れる。
ただ寄り道に意味がないわけではなく、自分がなんとなく作っていて面白く感じた機能もある。それは投げ銭機能で、YouTubeやライブ配信のようにアプリに投げ銭して応援できるという機能。実体としてはアイテム課金のアイテムが何も貰えないバージョンで、金額を3段階から選べて購入できる。これは意外にも定期的に買ってもらえていて、ちょっとした開発のモチベーションになっている。アップデート時にアプリ内にどこいう機能が追加されたかポップアップで表示しているが、そのポップアップの下部にも「応援する」ボタンを置いている。良いアップデートだと投げ銭の数が増えたりして、機能開発に対してダイレクトに反応を示してもらて面白い。要望や不具合報告はお問い合わせフォームから連絡してもらえるが、良い!という感情はわざわざ書いたりしない人が多いと思う。投げ銭はユーザーが欲しがる機能ではなくいわばこちらのエゴだが、ユーザーの喜びが可視化できたのは面白くて勉強になった。