初めてアプリを作るなら機能は少ないほうが良い

こんにちは、タカフミです。

最近、僕はこれまでのアプリやウェブ開発の経験を活かしてチャレトモさんでクリエイティブラボとい部活の部長を努めています。

詳しくは別の機会にお話しますが、クリエイティブラボという部活ではデザインやプログラミングを勉強しながら、部員の人が作りたいアプリやウェブサービスを形にすることを目的としています。

クリエイティブラボの入部体験会ではワークショップを通じながら、参加者一人一人が作りたいアプリ等のアイデアを出していきます。

出て来るアイデアは十人十色で、人それぞれ違って本当に面白いものになります。

僕自身も気付かされることが多くて楽しいイベントになっています。

 

参加者の方に、一通り発表をしてもらった後に必ずお伝えしている話しがあります。

それは、

タカフミ

みなさん、発表していただきありがとうございます。

どれも、素晴らしいアイデアだと思います。

でも、ここで大切な事をお伝えしたいと思います。

それは、今のアプリやウェブサービスに付けたいと考えている機能をバッサリと切り捨て欲しいということです。

この話をすると、みなさんとっても驚かされます。

でも、これこそが初めての人がアプリ開発等をするときに最短で確実に形にできる近道なのです。

少ない時間でつくることができる

機能をバッサリと切り捨てることで、得られる一番のメリットは何よりも少ない時間でアプリやウェブサービスを形にすることが出来ると言うことです。

機能が少ないので、作り込み部分が少なくなり、結果的に時間を短縮することができます。

他にも、時間を短縮することで得られることがあります。

それは、モチベーションが維持されるためにカタチにしやすくなるということです。

アプリ開発の初心者に多いのが、最初はやる気に満ち溢れているのに時間が経つにつれて、だんだんとやる気を失ってしまうケースです。

鉄は熱いうちに打て」という言葉があるように、「アプリを作りたい」という情熱が冷めてしまう前に、ササッとカタチにしてしまう方がいいのです。

 

バグが少なくなる

機能を少なくすることによって得られる恩恵は他にもあります。

それは、アプリのバグ(不具合)が少なくなって、アプリがクラッシュするのを防ぐことができるところです。

アプリに「こんな機能があったら便利だろうな」と考えて機能をたくさん追加したくなる気持ちはよく分かるのですが、人間がプログラミングをしている以上、コードを書けば書くほどバグが発生しやすくなってしまいます。

ある有名なジョークでは「バグの少ないシステムを作る最も簡単な方法は何も書かないことだ」と言われる程に、コード量が増えるに連れてバグが発生する可能性も高くなってくるのです。

だからこそ、初めてアプリを作るときには機能を削って、少ないコードでアプリを開発することをオススメします。

 

開発までの道のりが容易になる

たとえば、料理レシピを共有するアプリを作るとしましょう。

色々考えてみたところ、アプリに追加したい機能は以下の通りになりました。

  • ユーザー間でのチャット
  • オリジナルレシピが投稿できる
  • 撮った写真からカロリーを計算してくれる
  • 料理をしている風景をライブ配信できる

ここで初めてアプリを作る人が陥るところがあります。

それは、自分の今のレベル以上の機能を実装しようとしてしまうことです。

今回のケースでは以下の2点は初心者の人が挑戦するには、あまりにもハードルが高すぎます。

  • 撮った写真からカロリーを計算してくれる
  • 料理をしている風景をライブ配信できる

自分のレベル以上のことを最初からやろうとしてしまうと、分からないことだらけのため、そこを解決するのに時間が掛かってしまいます。

挙句の果てには、どんなに時間をかけても機能を実装できないためにやる気が失せてしまうことが本当に本当によくあります。

そのため、結果的にアプリのリリースがどんどん遅くなってしまい、情熱も冷めて、途中で投げ出してしまうのです。

だからこそ、アプリの開発を始める前に自分のレベルに合わせた機能を取捨選択することが大切になります。

 

実際どれくらい切り捨てればいいの?

これまで、アプリの機能を削ることで得られるメリットを幾つかご紹介してきました。

でも、みなさんの中には

あなた

機能を切り捨てると言われても、実際どれくらい削ればいいの?

と思われる方も多いと思います。

たとえば、LINEのようなチャットアプリを開発する場合を例に出すと、下のような感じになります。実装したい機能と実際に実装する機能の違いに注目してください。

【実装したい機能】

  • ユーザー検索
  • テキストメッセージ
  • 画像や動画・ボイスメモのやり取り
  • フォロー機能
  • グループトーク
  • ビデオ通話・音声通話
  • スタンプ
  • タイムライン
  • ユーザーブロック機能
  • QRコードでのユーザー追加

【実際に実装する機能】

  • ユーザー検索
  • テキストメッセージ

ご覧いただくと分かると思いますが、実装したい機能の20%しか採用していないのが分かるかと思います。

おそらく、みなさんの想像以上にバッサリと機能を切り捨てていると思います。

あなた

え!? これ、切り捨て過ぎじゃない?

なんて思われるかもしれませんが、初めてアプリを開発される場合はこれくらいバッサリと切り捨ててしまって大丈夫です。

みなさんは既にLINEなどのアプリに慣れてしまっているために、チャットアプリなら「あれも、これも出来ないと」駄目だと思いこんでしまうのですが、本来チャットアプリは「テキストでのやり取り」さえ出来れば、機能としては十分で、それはチャットアプリとして成り立つ最低限のラインだと言えます。

このように、切り捨ての判断基準としては、「この機能がなくなったら、もうこのアプリは成り立たなくなる」という所まで取捨選択していきます。

アプリは映画や雑誌、書籍などの媒体とは異なり、アップデートで後からいくらでも修正することができます。

必要な機能があれば、アップデートで後から機能を追加すればいいだけのことなのです。

まずは、必要最低限の機能を持ったアプリをいち早くリリースすることが大切だと僕は考えます。