必見!アプリ作りの発想法教えます

2012年3月26日(月)
PROJECT KySS

本連載の第1回・第2回では、開発済みのWindows Phoneアプリをマーケットプレイスに申請して公開するまでの手順を解説しました。

では、初めてアプリを作る場合は、何から始めればよいでしょうか。よし、アプリを作ろう!と意気込んでみても、ネタがなければ何も始まりませんね。

なにかアイデアはありますか?何を作ればいいか思いつかない?それなら、本稿で述べる方法を試してみてください。

今回は、これからアプリを作りたい人のために、企画とその周辺の作業について取り上げます。

3本のアプリを作る発想法(1)模倣

これからアプリ開発に取り組むなら、次のように3つの段階を追って、3本のアプリを作ってみる方法をおすすめします。

なに、難しく考えることはありません。必ずしもビジネス・ツールの企画でなくてもかまいません。簡単なサンプル・アプリでも、おばかアプリでもかまいません。

サンプルをまねて作ってみる

最初からいきなり新しい企画を考えるよりも、既存のサンプルを模倣することから始めてみませんか。まず、できるだけ多くのサンプルを閲覧し、興味のわいたものをいくつか作ってみて基本処理を身に付けます。それから、サンプルを改良してみましょう。

この方法なら素早く開発できますから、途中でリタイアすることもありません。なにより、簡単なものでもいいので、なにか1つのアプリを作って公開してみることが重要です。マーケットプレイスに自分のアプリのタイルが表示されているのを目にすれば、次回作を作る意欲がわいてこようというものです。

ここでいうサンプルとは、例えば次のようなものです。

・MSDN Library内のCode Samples
基本的なサンプルが揃っています。
→ Code Samples for Windows Phone(msdn)
・コードレシピ
逆引きサンプルです。筆者も執筆しています。
→ 逆引きサンプルコード(msdn)
・Think ITの過去連載
50個以上のサンプルがあります。
→ これから始めるWindows Phone プログラミング(基本編)
→ これから始めるWindows Phone プログラミング(応用編)
→ Windows Phone Tips集
→ Windows Phone Tips集(2)
→ Windows Phone Tips集(3)

サンプルの改良方法を考える

サンプルの処理を理解して身に付けたら、それを改良する方法を考えてみしょう。そして、サンプルとは全く異なる、オリジナルのアプリを作り出しましょう。

どのように改良すればよいかというアイデアを得るには、表1の項目について考えてみるとよいでしょう。これは、オズボーンのチェックリストを、筆者がWindows Phoneアプリ開発用に再構築したものです。もちろんこれはWebアプリなどにも有効です。

表1:サンプル利用の発想法

発想項目 改良方法
変更 イベントやプロパティ値を変えてみたらどうか。
動かしてみたらどうか(アニメーション)。
データを随時変えてみたらどうか。
置換 オブジェクトを置き換えられないか(画像と動画を差し替えるなど)。
代替 他のメソッドで代替できないか。
他のデータ形式に置き換えられないか。
逆転 操作手順を逆にできないか。
イベント取得と処理対象のコントロールを逆にしてみてはどうか。
表示と非表示を逆にしてみてはどうか。
拡大 扱えるデータの上限を大きくできないか。
表示領域を大きくできないか。
写真や文字やコントロールなどのサイズを大きくできないか。
縮小 機能を絞り込めないか。
利用範囲を限定できないか。
データを分割できないか。
写真や文字やコントロールなどのサイズを小さくできないか。
結合 複数のオブジェクトを組み合わせられないか。
複数のコントロールを組み合わせられないか。
複数のサンプルを組み合わせられないか。
他の機能を追加して組み合わせられないか。
連携 他のアプリと連携できないか。
ソーシャルメディアへの投稿機能を追加できないか。
応用 利用可能なWeb APIはないか。
Webアプリの機能を利用できないか。
転用 他の用途に使えないか(センサーをセンサー以外の目的に使うなど)。

これらの項目について考えてみてください。そして、表2のように、アイデアを簡単に書きとめてみましょう。

表2:表1の発想法による考え方の例

発想項目 対象 アイデア
逆転 表示と非表示 置いたはずの石が知らぬ間に消えてしまう「終わらない碁」。
拡大縮小 時間 セット時間を大きくしたり小さくしたりする。パスタや乾めんの種類を選択させてのクッキングタイマー。
データの規模 bingMapsの表示範囲を限定。逆にデータを詳細にする。わが町ガイド。
結合 bingMapsと電話 御用聞き。
カメラとChart 食事記録と体重管理。
複数の画像 食べ物のイラストをランダムに組み合わせて重ねて絵を作りfacebookに投稿する、おばかアプリ。「レバ刺し」と「クレープ」の組み合わせで「レバ刺しクレープ」。なんですかこれは。

このようにして作りたいアプリがいくつかイメージできたら、「意外性」を追加してみましょう。ヒトは驚きたい生きものです。なにかひとひねり加えてみませんか。

例えば、天気情報のサンプルに関心があり、表1の「変更」に従って、画像を変えるとしましょう。晴れの日に、おひさまの画像が表示されるのではありきたりです。では、その画像を、ポメラニアンの満面の笑みを浮かべた顔写真に変えてみてはどうでしょう。ユーザーは朝から癒やされるのではないでしょうか。

ただし、この方法で開発する際には、サンプルのまねで終わってしまわないように注意してください。コードをコピー&ペーストして画面の色を変えただけであるとか、処理はそっくりそのままでデータを入れ変えただけといった開発方法はいただけません。まねして作ってみて処理を理解して自分のものにしたうえで、新規プロジェクトのプログラミングを行い、オリジナルのアプリを作りましょう。また、APIを使う場合は、ライセンスの適用範囲を確認しましょう。

この方法でいくら考えても最初の1個のアイデアを思いつかないなら、小さいサンプル・レベルのアプリを作って公開するのも一手です。Web上には多数のサンプルがありますが、コントロール×プロパティ×メソッド×値の組み合わせを網羅したものが掲載されているわけではありません。Bingで入念に検索して、情報が見当たらなければ、その処理を実装してみましょう。

3本のアプリを作る発想法(2)技術からの発想

用途開発の手法を取り入れる

アプリケーションに限らず、一般に、新製品の研究開発には2つの方法があります。ひとつは用途開発で、技術が先にあり、「この技術は何に使えるか」を考えるものです。もうひとつはその逆で、企画が先にあり、「この企画を実現するには、どんな技術を開発すればよいか」を考えるものです。

2本目に作るアプリのアイデアは、用途開発のように、「この技術は何に使えるか」を考えて、ひねり出してみましょう。まず、表3のように、使いたい技術を書き出してください。具体的に書いてもよいですし、名前空間やクラス、センサー名などでもかまいません。自分が得意とする技術なら、なおよいでしょう。

そして、5W1Hの中で、該当しそうなものにチェックを付けながら、アイデアを膨らませていきましょう。

表3:技術からの発想

技術 5W1H
誰が どこで いつ なにを なぜ どのように
使いたい技術を列記 対象ユーザー
(不特定多数)
(あるいは職業、年代、趣味、ITスキルなどで絞り込み)
場所
(オフィス/家庭)
(室内/屋外)
(ネットワーク接続、有/なし)
時間(date)

期間(timer)
Windows Phone 使用理由
(合理化、即時性、娯楽、連携、感動、利便性、利潤など)
データ取得
(入力、Webから、センサーから、など)
PCと連携 イベント
(タップ、ドラッグ、ピンチなど)
facebookと連携 データ処理
(保存、配信、送信、投稿など)
その他 見せ方
(Portrait、Panorama、Pivot)

この発想法による一例を次にあげてみます(表4)。

表4:表3の発想法によるアイデアの例

技術 5W1H
誰が どこで いつ なにを なぜ どのように
System.Xml.Linq デザイナー 外出先 随時 PCと連携 即時性 出先で画面上に描いた図を実機内に保存「どこでもSVG」「どこでもXAML」データはPCで再利用。
Expression Blendによるアニメーション 音楽好きのユーザー 外出先 随時 Windows Phone 娯楽 アニメーションで回転CDラックを実装。Loadedでアニメ開始、ラック上をタップでCDの情報を取り出す。
Chartでの表示 糖尿病の懸念のある人 外出先、家庭 随時 PC と連携 利便性 食事と、血糖値を入力して管理。
bingMaps 介護事業所のケアマネジャー 外出先 随時 PC と連携 合理化 ヘルパーの訪問先管理。
サウンド再生 突発性難聴患者 外出先、家庭 随時 Windows Phone 利便性 特定周波数のサウンドの、左右チャンネルの聴こえ方を随時チェックできるようにする。
天気API アウトドアが趣味の友人たち。 外出先 随時 Windows Phone 利便性 風向きをはためく旗で表示(ただしWindowsロゴは使用不可)。紫外線や、花粉、黄砂などにも拡張できれば。

素材の料理方法も考えてみる

なお、これがアプリ開発ではなく、新素材開発における用途開発であれば、「この新素材は何に使えるか」を考えてアイデアを出していくことがあります。

これに倣って、イラストやサウンドや動画を見ながら、「この素材は何に使えるか」「この素材をどう料理すれば(プログラミングすれば)面白いか」を考えていく方法もあります。

四国のSOHO。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。1997年6月、Dynamic HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。最新刊は「Silverlight実践プログラミング」両名とも、Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。http://www.PROJECTKySS.NET/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています