実践モバイルアプリケーション開発  ~ iPhone で作るコンシェルジュ・アプリケーション~   日本アイ・ビー・エム株式会社 加藤真吾
1.はじめに モバイル活用の本格化  GPS   Bluetooth   非接触 IC カード   2 次元コード デバイスの進化 いつでも、どこでも、高速に 働き方の変化 企業におけるモバイル技術の活用は 新たなフェーズへ ・モバイル技術の戦...
サンプルアプリケーション紹介 <ul><li>コンシェルジュ・アプリケーション </li></ul><ul><li>コンセプト </li></ul><ul><ul><li>モバイルならでは </li></ul></ul><ul><ul><li>...
スケジュールの表示 ミーティング開始 5 分前にアラーム ミーティング場所の確認 開始に遅れる連絡  by メール / チャット ** 外出時間アラーム 所要時間 +10 分前にアラーム 交通費経路情報スタート ** 経路・地図表示 交通費精算...
2.コンシェルジュ・アプリケーション開発事例 <ul><li>iPhone 編 </li></ul>
iPhone 3G iPod Touch®2  iPhone 3GS iPhone 4 iPad iPad2 iPod Touch3  iPod Touch4  パスコード入力に 10 回失敗後のデータ消去オプション <ul><li>カレンダー...
企業利用における有用機能 アプリケーション機能 紛失対策 情報保護 統合管理 伝送セキュリティー <ul><li>企業ネットワークと端末間通信の暗号化 </li></ul><ul><li>デバイス上での送信メールの暗号化 </li></ul><...
iPhone 版コンシェルジュ・アプリ紹介  - スケジュール通知 - <ul><li>iOS 標準のカレンダーと GPS を連動させてユーザーのロケーションを考慮したうえでスケジュール通知を行う </li></ul><ul><ul><li>予...
iPhone 版コンシェルジュ・アプリ紹介  - 交通費精算 - <ul><li>記録開始と終了の GPS 情報から住所および日時を保存 </li></ul><ul><li>記録した住所間の経路の交通費を経路探索 Web サービスを利用して算定...
iPhone アプリケーション開発 Tips (1/2) <ul><li>  GPS/Location サービスの利用 </li></ul><ul><ul><li>iOS の Core Location API では位置情報を取得するために 3...
iPhone アプリケーション開発 Tips (2/2) <ul><li>ローカル・データストア </li></ul><ul><ul><li>デバイスにデータを保存する方法は2種類 </li></ul></ul><ul><ul><ul><li>...
iPhone アプリ開発の良いところ・良くないところ <ul><li>良いところ </li></ul><ul><ul><li>Apple 監視下で強固なセキュリティー </li></ul></ul><ul><ul><li>各アプリがロジック・デ...
iPhone アプリケーション開発 まとめ <ul><li>エンタープライズ向けという観点で考えると、制約が多いがセキュリティー面は悪くない </li></ul><ul><li>開発ノウハウは多く出回っているが、 Java に比べると開発者は少...
Upcoming SlideShare
Loading in …5
×

iPhoneコンシェルジェアプリの紹介

1,880 views
1,723 views

Published on

社内技術コミュニティで作成したスケジュールや交通費精算を支援してくれるコンシェルジェアプリのiPhone版の紹介。

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,880
On SlideShare
0
From Embeds
0
Number of Embeds
93
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

iPhoneコンシェルジェアプリの紹介

  1. 1. 実践モバイルアプリケーション開発  ~ iPhone で作るコンシェルジュ・アプリケーション~ 日本アイ・ビー・エム株式会社 加藤真吾
  2. 2. 1.はじめに モバイル活用の本格化  GPS Bluetooth 非接触 IC カード 2 次元コード デバイスの進化 いつでも、どこでも、高速に 働き方の変化 企業におけるモバイル技術の活用は 新たなフェーズへ ・モバイル技術の戦略的活用方法の検討 ・モバイルデバイスを前提にしたシステム構築 ・モバイルアプリケーションモデルへの対応 ・新たな運用方針、セキュリティー対策の確立 オープン化
  3. 3. サンプルアプリケーション紹介 <ul><li>コンシェルジュ・アプリケーション </li></ul><ul><li>コンセプト </li></ul><ul><ul><li>モバイルならでは </li></ul></ul><ul><ul><li>モバイルデバイスが今後のオススメ行動を提示してくれる </li></ul></ul><ul><ul><li>行動を記録してくれる </li></ul></ul><ul><li>基本機能 </li></ul><ul><ul><li>カレンダー連携 </li></ul></ul><ul><ul><li>経路検索表示 </li></ul></ul><ul><ul><li>遅れるよ!プッシュ通知 </li></ul></ul><ul><ul><li>移動経路記録 </li></ul></ul>
  4. 4. スケジュールの表示 ミーティング開始 5 分前にアラーム ミーティング場所の確認 開始に遅れる連絡 by メール / チャット ** 外出時間アラーム 所要時間 +10 分前にアラーム 交通費経路情報スタート ** 経路・地図表示 交通費精算情報収集 ** 遅れるアイコンを押すと、自動的にミーティング招集者のチャットかメールに通知 ** 外出予定時間のアラームで交通費経路アプリケーションをスタート コンシェルジュのお仕事 9:00AM 10:00AM 12:00PM 1:00PM 3:00PM 7:00PM コンシェルジュがあなたの1日をサポート 本日のスケジュール( Notes カレンダー) 9:00-10:00 社内ミーティング 13:00-15:00 ワークショップ参加(途中退席予定) 15:00-16:30 客先コール 19:00-20:00 TELECON
  5. 5. 2.コンシェルジュ・アプリケーション開発事例 <ul><li>iPhone 編 </li></ul>
  6. 6. iPhone 3G iPod Touch®2 iPhone 3GS iPhone 4 iPad iPad2 iPod Touch3 iPod Touch4 パスコード入力に 10 回失敗後のデータ消去オプション <ul><li>カレンダーの CalDAV 対応 </li></ul><ul><li>アプリケーションからのプッシュ型通知機能 </li></ul><ul><li>MobileMe® 経由でリモートでパスコード・ロック可能 </li></ul><ul><li>Safari® で詐欺サイトにアクセス時に警告(フィッシング対策) Exchange カレンダーの同期と招待の処理を向上 </li></ul><ul><li>写真の撮影位置情報表示( GPS )に対応 </li></ul><ul><li>マルチタスク対応 </li></ul><ul><li>カレンダーで ics ファイルを読み込み </li></ul><ul><li>iPhone を探す」機能の Apple ID のみでの利用可 </li></ul>
  7. 7. 企業利用における有用機能 アプリケーション機能 紛失対策 情報保護 統合管理 伝送セキュリティー <ul><li>企業ネットワークと端末間通信の暗号化 </li></ul><ul><li>デバイス上での送信メールの暗号化 </li></ul><ul><li>クライアント証明書 </li></ul><ul><li>無線 LAN における認証・暗号化 </li></ul><ul><li>カレンダー (iCallendar, CalDAV 対応 ) </li></ul><ul><li>プッシュ通知 </li></ul><ul><li>GPS </li></ul><ul><li>フィッシング対策 </li></ul><ul><li>マルチタスク </li></ul><ul><li>遠隔端末データ削除機能 </li></ul><ul><li>遠隔端末探索機能 </li></ul><ul><li>パスコード・ロック </li></ul><ul><li>規定回数失敗時のデータ消去 </li></ul>
  8. 8. iPhone 版コンシェルジュ・アプリ紹介 - スケジュール通知 - <ul><li>iOS 標準のカレンダーと GPS を連動させてユーザーのロケーションを考慮したうえでスケジュール通知を行う </li></ul><ul><ul><li>予定に住所が含まれていれば、その場所を目的地とする </li></ul></ul><ul><ul><li>GPS の位置情報から住所を割り出し、出発地点を得る </li></ul></ul><ul><ul><li>それらの情報を用いてオンラインの経路探索サービスで経路と所要時間を割り出す </li></ul></ul>
  9. 9. iPhone 版コンシェルジュ・アプリ紹介 - 交通費精算 - <ul><li>記録開始と終了の GPS 情報から住所および日時を保存 </li></ul><ul><li>記録した住所間の経路の交通費を経路探索 Web サービスを利用して算定 </li></ul>移動記録機能 記録閲覧機能
  10. 10. iPhone アプリケーション開発 Tips (1/2) <ul><li>  GPS/Location サービスの利用 </li></ul><ul><ul><li>iOS の Core Location API では位置情報を取得するために 3 つのテクノロジーを使用 </li></ul></ul><ul><ul><ul><li>Global Positioning System(GPS) </li></ul></ul></ul><ul><ul><ul><ul><li>複数の測地用の人工衛星からマクロ波の信号を読み取って現在位置を推測 </li></ul></ul></ul></ul><ul><ul><ul><li>Cell Tower Triangulation (CTT) </li></ul></ul></ul><ul><ul><ul><ul><li>電話のある区域の携帯電話の基地局から現在位置を推測 </li></ul></ul></ul></ul><ul><ul><ul><li>Wi-Fi Positioning System(WPS) </li></ul></ul></ul><ul><ul><ul><ul><li>iPhone の Wi-Fi コネクションの IP アドレスを使って、サービスプロバイダーの大規模データベースやプロバイダーのサービスエリアを参照することで現在位置を推測 </li></ul></ul></ul></ul><ul><ul><li>ユーザーは精度を指定するだけで iPhone が自動的に 3 つのテクノロジーを組み合わせる </li></ul></ul><ul><ul><ul><li>Ex) locationManager.desiredAccuracy = kCLLocationAccuracyBest; </li></ul></ul></ul><ul><ul><li>精度が高ければ高いほど処理量も増えるためバッテリーの消耗が早くなる </li></ul></ul><ul><ul><ul><li>=> 常に位置情報を取得するのではなく、必要なときのみ位置情報を取得する </li></ul></ul></ul>設定値 精度 kCLLocationAccuracyBest 出来る限り正確 kCLLocationAccuracyNearestTenMeters 10m kCLLocationAccuracyHundredMeters 100m kCLLocationAccuracyKilometer 1km kCLLocationAccuracyThreeKilometers 3km
  11. 11. iPhone アプリケーション開発 Tips (2/2) <ul><li>ローカル・データストア </li></ul><ul><ul><li>デバイスにデータを保存する方法は2種類 </li></ul></ul><ul><ul><ul><li>プロパティリスト・ファイル </li></ul></ul></ul><ul><ul><ul><ul><li>実装が簡単。但し、書き出すオブジェクトの制限やプロパティリストの全データをメモリ上で管理するため、複雑なアプリケーションや大量にデータを扱うには不向き </li></ul></ul></ul></ul><ul><ul><ul><li>SQLite </li></ul></ul></ul><ul><ul><ul><ul><li>簡易 SQL データベースであるため、 SQL の学習コストはかかるものの、格納できるオブジェクトのクラスに制限がないこと、必要なデータを必要なタイミングで取得することができるため、デバイスのメモリの占有量が少ない </li></ul></ul></ul></ul><ul><ul><ul><li>=> 交通費精算アプリケーションでは、データを長期間保存するため、データ量が増えていくことを考慮して SQLite を利用 </li></ul></ul></ul><ul><ul><li>iPhone SDK 3.0 以降からデータベースとオブジェクト指向プログラミング間の非互換なデータを変換する OR マッパーである Core Data を備えており、直接 SQL を書かずにデータを操作可能 </li></ul></ul><ul><ul><ul><li>データの追加: [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context] </li></ul></ul></ul><ul><ul><ul><li>データの参照: [fetchedResultsController objectAtIndexPath:indexPath]; </li></ul></ul></ul><ul><ul><ul><li>データの削除: [context deleteObject:[fetchedResultsController objectAtIndexPath:indexPath]]; </li></ul></ul></ul>
  12. 12. iPhone アプリ開発の良いところ・良くないところ <ul><li>良いところ </li></ul><ul><ul><li>Apple 監視下で強固なセキュリティー </li></ul></ul><ul><ul><li>各アプリがロジック・データ共に独立しているため他アプリへ影響を及ぼしにくい </li></ul></ul><ul><ul><li>開発の書籍や Web サイトが多い </li></ul></ul><ul><ul><li>あまり意識することなく見た目がキレイなアプリケーションの開発が可能 </li></ul></ul><ul><li>良くないところ </li></ul><ul><ul><li>アプリ間連携がしにくい </li></ul></ul><ul><ul><ul><li>一度に起動できるアプリケーションは一つと決まっているため複数のアプリケーションを切り替える必要がある </li></ul></ul></ul><ul><ul><ul><li>=>iOS の URL スキーム * による連携機能  </li></ul></ul></ul><ul><ul><li>複数バージョン・端末への対応の難しさ  </li></ul></ul><ul><ul><ul><li>バージョンによる条件分岐などが必要 </li></ul></ul></ul>URL スキーム * ・・・アプリケーションで独自の URL スキーム (ex. schme://hoge) を定義して NSURL クラスの openURL メソッド経由でリクエスト文字列を渡すことでアプリケーション間連携を図る仕組みである。これにより機能が増えた場合にも少ない労力でアプリケーション間連携を図ることができる。 <ul><li>その他 </li></ul><ul><ul><li>デザインのガイドラインが細かい </li></ul></ul><ul><ul><li>エミュレーターの限界 </li></ul></ul><ul><ul><ul><li>カレンダーや GPS 連携ができない </li></ul></ul></ul><ul><ul><li>実機テストには iOS Developer Program 契約が必要 </li></ul></ul><ul><ul><ul><li>社内利用のアプリケーション開発には iOS Developer Enterprise Program 契約が必要 </li></ul></ul></ul><ul><ul><li>アプリケーション管理・配布 </li></ul></ul>
  13. 13. iPhone アプリケーション開発 まとめ <ul><li>エンタープライズ向けという観点で考えると、制約が多いがセキュリティー面は悪くない </li></ul><ul><li>開発ノウハウは多く出回っているが、 Java に比べると開発者は少ない </li></ul><ul><li>当面デファクトとしての地位は続くので企業は対応を迫られる </li></ul><ul><li>是非 iPhone ネイティブ・アプリケーション開発にチャレンジしてみてください! </li></ul>

×