iPhoneアプリ開発 – 身をもって学んだ9の教訓

2008 BLOG

早いものでiPhone発売から丸一ヶ月が過ぎました!! AppStoreのオープニングに間に合った開発者の人には一ヶ月の売り上げレポートがぞくぞくと届いているはずです。僕の手元にも今朝届きました。注目の結果は、ほぼ予想通りといったかんじです。それでも1000本を軽く超える本数がでました(ありがとうございます) MacBookくらいは軽く買えるかな。何よりも世界中で売れてるというのがうれしいですねー(中東などでもけっこう売れてます!)。
今回は、実際にiPhoneアプリ開発を始めて約2ヶ月。発売から一ヶ月経った今だから言える、身をもって体験したポイントを書いてみようと思います。といっても、アプリのアイデア出しのレベルや実際のコーディングのポイントなどではなく、iPhoneアプリ開発周辺の「落とし穴」を10個、順に挙げます。これから開発を始める、あるいは売り出そうとしている開発者のみなさんの参考になれば幸いです!!

 iTunes Store(Japan)

1. アプリの名前は短く

これは前回のポスト6文字の壁 – iPhoneアプリで書いた内容です。日本語(全角)6文字、半角文字で11文字を超えると、自動的にアプリケーション名が省略されてしまうためです。変な名前になってしまうこともあるので、要注意。

 Blog Wp-Content Uploads 2008 07 4

2. アプリのデフォルト画像を、実際のインタフェースにしない

iPhoneアプリは、起動直後にあらかじめて指定しておいたPNGファイルが表示されるような仕様になっています。とりあえず、このデフォルトの画像ファイルを表示しておいて、その間にバックグラウンドでアプリをロードするというような仕組みになっているわけです。そこでついついやってしまいそうなのが、実際のアプリケーションのGUIのスクリーンショットをデフォルト画像として登録することです。ユーザからするとすぐにアプリが起動するように感じらるので、一見、いいように思いますが、これは絶対NGなぜなら、ユーザはそれが単なる画像であることを知らずにクリックしようとしてしまうからです (あたりまえですが…)

僕の9 1アプリのレビューの中で、「スタートボタンのききが悪いような気がします」というのがあったのですが、これはまさにこの問題ですね。スクリーンショットをそのまま起動時の画像として設定してしまったため、まだアプリが起動中であることにも気づかず、画像の中のボタンをクリックしようとしたユーザが続出してしまったようです (申し訳ありません。今日、サブミットした新しいバージョンでは、その辺を修正しておきました)。

だからといって、スプラッシュスクリーン(Adobeのアプリを立ち上げたときにでるようなやつね)が好ましいかというと必ずしもそうではないと思います。単純なユーティリティを立ち上げるたびに、スプラッシュを見せられても、うざったいだけですよね。その点で、うまい!と思ったのが、ご存じ「駅探」です。

起動中
Img 0005

起動完了
Img 0006

実際のGUIのスクリーンショットから、ユーザが操作するボタンやテキストフィールドを空白にすることで、まだロード中 = 操作ができないことを端的に現しています。細かいことですが、この辺までよく考えていることが、このアプリの人気の秘密なんでしょうね。


“Beginning iPhone 2 SDK Development (Beginning)” (Dave Mark, Jeff Lamarche)

3. ローカライズの際にはグラフィックにも気をつける

ローカライズ = 各言語への対応が重要なのは言うまでもありませんが、あんがい見落とされがちなのが、アイコンなどのグラフィックのローカライズです。
たとえば、僕の9 1。あるゲームコンソールに似せたインタフェースをデザインする際に、世界展開を考えてアメリカ仕様の黒と灰色を基調にしてしまいました。それによって逆に、日本のユーザから「分かりにくい」というおしかりをいただく結果に…… そう、日本では赤と金色なんですよね(笑)

 Wp-Content Uploads 2008 07 Picture-4-1

ほかにも日本人にはわかりやすいけど、他の国の人には通じないアイコンなんてのもいろいろありそうです。世界中にダイレクトに販売できるiPhoneアプリだからこそ、インタフェースもある程度、地域/国ごとの事情にあわせてデザインすることができるとベターでしょう。

4. 必ず iPhone, iPod touch両方でテストする

ちょっとしたユーティティ系のアプリなど、デバイスの差がほとんどないと思われるような場合でも、必ず両方で試した方がいいと思います。その理由は、iPod touchとiPhoneのスクリーンの輝度/色合いが違うという点です。いろいろなフォーラムなどでも苦情が上がっていましたが、非常にクリアなiPod touchのスクリーンに比べて、iPhoneのスクリーンは黄色がかっているように感じます。そのため、アイコンなどの画像の見栄えが違うという事態が発生する場合があります。

このことに気づかせてくれたのは、「モスキート」アプリでした。モスキートでは、Royalty freeの蚊の死骸の写真を購入し(笑)、背景を抜いて使っています。一方、背景には淡い色の紙の写真を使っていたのですが、iPod touchではまったく気にならなかった紙の写真の上のノイズが、iPhone上ではなぜかかなりはっきり映ってしまいました。iPhone 3G購入後すぐにそのことに気づき、慌ててその辺を修正したバージョンを投稿しました (ver1.1.1)。グラフィックを重視したアプリを書いている方は、特にその辺注意された方がいいかと思います。本来だったら 初代iPhone, iPhone 3G, iPod touchの三種で試すべきかもしれませんね。


“Iphone SDK Development” (Bill Dudney, Christopher Adamson, Marcel Molina)

5. iTunes connectのデフォルトの言語は必ず「英語」にする

ここからは配布の際のポイント。AppStoreでアプリを配布する場合、最初にiTunes connectのページでデフォルトの言語と自分の会社名を登録することになります。この二つはあとで変更がきかないのでよく考えて選ぶ必要があるのですが、デフォルトの言語は無条件にEnglishにするべきでしょう。
App Storeでは、その国の言語のローカライズがなければ、開発者が設定したデフォルトの言語で表示されるようになっているよます。デフォルトの言語を日本語にした場合には、ローカライズをした言語圏以外は日本語で表示されることになります。たとえば韓国やベトナムのようローカライズに対応していないApp Storeでは、無条件でデフォルトの言語で表示されます。詳しくは以前のポスト App Store – 見えない言語の壁 をどうぞ。

6. AppStoreに登録するアプリケーション名は必要充分な長さをとる

最初に書いたことと矛盾しているようですが….. 実は矛盾ではありません。AppStoreで表示されるアプリケーション名と、iPhoneHomeスクリーン上でで表示される実際のアプリケーション名は必ずしも同一である必要はないのです。

例を挙げて説明します。1でも挙げた6文字の壁 – iPhoneアプリのポストの中で、「モスキッ…ク」と表示されるのがいやだから、「モスキート」にしたという趣旨のことを書きました。短くすることで、たしかに変に省略されることはなくなりましたが、曖昧な名前になってしまったことは否めません。モスキートだけだと、蚊を退治するためのアプリかもしれませんし、高音のいわゆるモスキート音を出すためのアプリということも考えられます。モスキート・アタックの方がインパクトもありますよね。実は、こういった場合、実際のアプリ名は「モスキート」にして、AppStoreの登録はより分かりやすい「モスキート・アタック」を使えば良かったんですね。
もう少し具体的に書くと… iPhone上で表示されるアプリの名前は、Info.plistのCFBundleDisplayNameで決まります。これはCocoaアプリの場合と変わりません。そこで、こちらの方に表示したい短い名前(今回の場合ならモスキート)を書いておいて、AppStoreに登録するときには、もうすこし長くて分かりやすい名前(モスキート・アタック)と書いておけば言いわけです。こうすることで、PCのiTunes上やiPhoneのAppStoreでアプリを探すときには、より分かりやすい名前が表示され、一旦インストールされると上記の制限内におさまる短い名前が表示されるという、よい場合分けが可能になります。

単純な話なんですが、AppStoreの登録名 = アプリ名という思い込みが間違っていることに気づくのに、しばらく時間がかかりました。上でも紹介した駅探も、AppStore上では「駅探エクスプレス」、iPhone上では「乗り換え案内」、英語表記だと「ekitan」と上手に名前を使い分けていますね。フレキシブルな対応が重要です。

7. 「とりあえず」のベータバージョンを登録しない

通常のネットで配布するソフトウェアとは違い、AppStoreにはAppleのレビューというプロセスがはいります。アプリケーションによって差がありますが、アップデート版のレビューにもどんなに早くても1週間弱の時間がかかります。バグを見つけてすぐに対応したとしてもユーザの手元に届くのは2週間後、という事態を防ぐためにも、とりあえずリリースしておくか、は避けるのが賢明です。
Instrumentsなどを利用して、繰り返しテストしましょう。その際、上にも書いたようにiPhone, iPod touch両方でテストすることがオススメです。

8. アプリの紹介文の中で、他のアプリ/バージョンの紹介を加えない

たとえば、機能を限定した無料版とフルスペックの有料版を出したいという場合があるかと思います。このとき、「お試し用に無料版も用意したので、まずはそっちを使ってみてね」などということを、有料版の説明文に書くのは規約上NGらしいです。確実にリジェクトされるはずです。再申請するのに無駄な時間がかかってしまうので、注意しましょう。

9. WebはiPhone用にカスタマイズする

iPhoneにはSafariのフルブラウザが使えます。ダブルタップで特定のコラムのみ拡大、ピンチイン/アウトによる拡大縮小などなど、他のケータイなどとは比較にならない快適な操作が可能です。とはいうものの、やはり小さい画面で拡大縮小をたびたび繰り返しながらのブラウジングは面倒なもの。そんなときに、iPhoneからのアクセスが予想されるサイト(特にアプリケーションの紹介のページ)には、iPhone専用のレイアウトをCSSなどで作っておくのがよいと思われます。

といっても、iPhone用のWebアプリのような本格的なものをつくる必要はありません。iPhoneの横のサイズに合わせた、ワンコラムのシンプルなページがいいかと思います。WordPressなどを使っている場合には、iPhone用の整形プラグインを使うのも一つの手ですね。Audible Realitiesのページも、WordPressのプラグインWPTouchを利用させてもらってます。

コンピュータ上
ピクチャ 2-3

iPhone上
Img 0007