cutmail's blog

write the code

iPhoneアプリ開発の基礎~参考書には載っていない開発のポイント~に参加してきました


株式会社ピーエスシー信田智聡様

PSCの紹介

  • PSCでは、エンターテイメント系のアプリを作るのは苦手(というか殆ど無い)
    • 得意分野
      • 業務アプリ
        • ERP(在庫の受発注)
        • 医療辞書アプリケーション
      • 電子書籍系
        • 営業販促ツール
        • EPUBだとアニメーションができない?

Appleの世界

  • 2007年にiPhone発売
  • 日本は2008年にiPhone3G発売
iPhoneアプリの利用シーン
  • 本格的なアプリというよりは、時間つぶし、趣味で写真を撮ったり
  • 手軽に使えてすぐに終了できる
  1. 手軽に使える
  2. 短い時間で使える
  3. すぐに終了できる

使うもののセグメントを考える
あえてシンプルにしたほうが使われるかも

iPadアプリの利用シーン
  1. じっくり使う
  2. 多少操作が難しくてもよい
  3. 雑誌、新聞として利用
iPhoneと他のスマートフォンガラケーとの違い
  • 操作がタッチであること
    • ボタンの高さx幅は最低30px以上
    • ボタンは押しやすい場所?
  • Appleが提供するボタンやアイコンをGLの説明と違う使い方をするとリジェクト
    • デザイナーだけが知っていればよいわけではない
  • アップデートが利用者に依存している
    • 誰もが好んでアップデートするわけではない
    • アップデート前提(とりあえず出しちゃう、エラーだらけ)⇒ 削除
    • できるだけバグがない状態でリリースがよい
    • 元々スマートフォンに導入されているつもりでアプリを作る必要がある
    • 公開後のアップデート(機能追加等)は良いイメージを持たれることが多い
    • アップデートにも同じ審査
  • AppStoreの審査
    • 基本的にAppleの主観
    • 有名なのはFlash
    • 利用規約はどんどん変更される
    • 審査が通るかわからない
      • 予算が取りづらい
    • 来年の1月頃、ネットワークの設定APIが提供されるかも(噂)
クライアントの都合
  • ARecipe え〜れしぴ
    • 1. POPにARコードを貼る
    • 2. iPhoneをかざす
    • 3. レシピメニューを選ぶ、もしくは、スペシャルコンテンツ
    • n4. レシピ画面へ
    • 提案
      • (○)音声認識によるページ送り
        • フリーのエンジンを使った
          • 性能がよくなかった
      • (x)明るさセンサーによるページ送り
      • (x)モーションセンサーによるページ送り
      • (x)自動ページ送り&読み上げ
      • その他
        • 自分レシピ撮影/投稿
        • 冷蔵庫の中身撮影
        • Twitter投稿

実装にあたってのポイント

  • メモリなどリソースに限度がある
    • リソースのことをあまり考慮しなくても作れてしまう
      • テスト3件/運用4000件⇒落ちた
    • 言われている以上にシビアに受け取る
  • 用意されたセンサーのアーキテクチャーを理解する
    • 単純に加速センサーを使うからこのAPIにアクセスしたら、この値が返ってくるからOKなわけでもない
    • 加速度センサーってどうやって動いてるの?
    • Androidの方がUIが大変
    • iPhoneは普通のUIでもかっこよく見えちゃう
      • 意外に受け入れられている
    • まずは漠然とでも良いから仕組みを理解しよう
    • タブは5個までしかおけない
      • あとでボタン追加できなくなる⇒計画的にタブ型のUIを作る必要がある
    • OpenGL系はお金がかかる
  • 画面遷移には時間をかけた方が良い
    • 紙とかに書いて、ボタンの大きさを合わせてやったほうが良い
    • 一番はじめは手書きで画面を作る
    • 横に並べる
    • 論理的な破綻がないか、使いやすいか
    • photoshopとか使うと、実際の製品との差が大きくなる
    • できるだけ工数を使わない
    • 直しやすい
    • その場でイメージをつかみやすい

進化する開発環境

  • Mobile Roadie --CMS
    • スタンダードは1万円/月
    • MobileRoadieという名前でパブリッシュされる
    • HTML5 + Javascript
  • Yubizo --HTML5+Javascript
    • xCodeに埋め込む
    • Yubizo Engine Device APIs
      • OS情報の取得
      • デバイス状態の取得
      • カメラ制御
  • Packager for iPhone --flash
  • MonoTouch --C#

最後に

  • Appstoreで勝つには
  • AppStoreは世界で一番競争が激しい場所
  • なぜそうなるのか

質疑応答

  • iPhoneAndroid
    • 共通なところ
      • 画像
      • 画面サイズは同じ
    • Androidは規格がひとつだけじゃない
  • AppStoreを通さないBtoBの配信方法
    • アドホック配信
    • アプリを渡してiTunesで入れる
      • できない人もいる
    • ネットワーク越しでアプリをダウンロードできる
    • 母艦を一つ作って配信する?
  • Appleの審査が通らなかった場合の保証(契約面)
    • 公開できなくてもPSCの責任ではない
    • プランニングをメインにしてはいないので、アプリ開発がメイン
    • 100%公開できるかどうかは言えない
    • エンターテイメント系をやらない理由でもある