以前の記事で
プログラミングを学びたいなら、自分で何かを作るのが一番早い
という内容を述べました。
しかし、自分が(仕事ではありますが)プログラミングを始めた頃を思い返してみて、
「いや、初心者に何かを作れと言っても、何を作っていいのか分からないのではないか」
との考えに至ったので、今回はアプリ開発のアイデアに関して述べていこうと思います。
※本記事では個人のプログラミング学習におけるアプリ開発にフォーカスしています。
企業の製品企画向けではありませんので、ご了承ください。
一人で作れるモノ・作れないモノ
まずアプリ開発において、個人の力だけでは開発できないモノがあります。
例えば、
スーパーのレジに搭載されているアプリ
カーナビに搭載されているアプリ
オーブンレンジに搭載されているアプリ
といった、モノありきのアプリ(いわゆる組み込み系)は個人では作れません。
上記の例で言えばレジやカーナビ・オーブンレンジが必要になるだけではなく、それら製造元からの情報提供が必要になるからです。
よって、個人で開発できるアプリは以下の3種類に絞られます。
- インターネットブラウザ上で動くアプリ(Webアプリ)
- PCにインストールして使用するアプリ(一般的にツールと言われたりするモノ)
- スマホ上で動くアプリ(ネイティブ)
上記のアプリ開発においてはPCとスマホさえあれば簡単に出来ます。
ただしスマホ用アプリの開発中に、開発用のアプリ実行(デバッグ)を行うにはPCとスマホを繋ぐケーブルが必要になる場合もあります。
アプリ開発のアイデアはこうして生まれる
個人で開発可能なアプリの種類を明らかにしたところで、本題に入っていきます。
既存アプリの不足点を追求する
今や日常生活のあらゆるところにアプリが搭載されています。
PC利用時には実感が薄いかもしれませんが、スマホであれば「アプリを使っている」という実感があるのではないでしょうか。
それら普段利用しているアプリの中に「100%満足している」モノはいくつありますか?
きっとどんなアプリにも
「ここがもっと楽になったらなぁ」
「これがもっと分かりやすかったらなぁ」
「こんなことが出来たらなぁ」
と思う箇所があるのではないでしょうか。
これが重要です。
実を言えば、システムエンジニア・プログラマーに不足しがちな資質がこの気付きだったりします。
開発をしているとこうしたユーザの気付きを前もって察知しておくことが意外と難しい。
話が逸れましたが、そうした既存アプリの不足点を補ったアプリはアイデアの一つになります。
ただし、こうしたアイデアのベースになるアプリはなるべく簡単なものを選びましょう。
既存アプリをマネする
先ほどは「既にあるアプリにオリジナル機能を追加しましょう」と言うスタンスでしたが、既存アプリをそのままマネするのも全然アリです。
全く同じものになる事はありませんし、開発の途中で「何が足りないのか」を明確に把握できるからです。
実装が簡単で学習としても最適な例はまた別に記事にしたいと思います。
日常生活の記録からヒントを得る
システムエンジニアになってからというもの、日常生活の中で何かの記録を取る際にエクセルを使うようになりました。
一番最近の例で言うと、ゲームの中で12体のキャラの1週間ごとに更新されるクエスト進行状況をエクセルに記録するようになりました。
エクセルに限らずメモ程度でもいいのですが、こういった日常生活の中で発生する記録と言うのはアプリ開発のアイデアとして最適です。
なぜなら開発したアプリの最初のユーザが自分になるからです。
それまで手間だった記録をアプリで簡単に出来るようになるだけではなく、使ってみて「あ、ここ足りないな」と言う気付き⇒機能追加と継続して学習していくことが出来ます。
最後に
本記事ではアプリ開発のアイデアを得る方法として、3種類ご紹介しました。
ただし、本質としてはマネするか気付きをカタチにするかの2つです。
プログラミングを学習しようとして「何かを作ろう」と思ったら、まずは身近なアプリを普段の様に何気なく使うのではなく、注意深く観察して使ってみるところから始めてみてはいかがでしょうか。
以上です。