Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MVP Community Camp 2015
クロスプラットフォーム
AED 検索のキモ
2015/01/31 初音玲
アジェンダ
AED検索とは
Microsoft Azure Mobile Servicesのキモ
universal Windows appのキモ
Xamarinのキモ
本日のゴール
Microsoft Azure Mobile Servicesが何かが分かる
クラスプラットフォームのゴール形態が分かる
AED検索とは
AEDの現状
国内40万台
一般利用可能20万台
AEDの現状
国内40万台
一般利用可能20万台
使用率 3.7% (2013年)
使用率3.7%
心肺停止者
年間73,023人
うち、目撃者あり
年間23,797人
32.6%
67.4%
目撃者あり 目撃者なし
使用率3.7%
32.6%
67.4%
目撃者あり 目撃者なし
96.3%
3.7%
AED未使用 AED使用
使用率3.7%
目撃者ありの場合の使用率
目撃者ありの場合の使用率
3.7%
881人 / 23,797人
すべての心停止者に対する使用率
1.2%
881人 / 73,023人
なぜこんなに使用率が低いのだろう
AEDって最近のもの?
認知率が低い?
使い方が分からない?
なぜこんなに使用率が低いのだろう
AEDって最近のもの?
認知率が低い?
使い方が分からない?
なぜこんなに使用率が低いのだろう
AEDって最近のもの?
⇒2014年で10年目
認知率が低い?
使い方が分からない?
なぜこんなに使用率が低いのだろう
AEDって最近のもの?
認知率が低い?
⇒認知率93.6%
使い方が分からない?
93.6%
6.4%
知っている 知らない
なぜこんなに使用率が低いのだろう
AEDって最近のもの?
認知率が低い?
使い方が分からない?
⇒講習受講率50.7%
50.7%
49.3%
ある ない
Why:救命処置をとれない理由
目撃時に救命措置をとれない理由は何ですか?
18
47.7%
30.4%
25.6%
25.0%
22.5%
7.9%
7.4%
4.0%
方法が分からない
対応する自信がない
専門家に任せた方が良い
方法を忘...
AED認知率向上、
講習会の実施、
にプラスして何かが必要
19
アプリ作れば解決する
と思っていた時期もありました
問題は
問題は
アプリから使えるAED位置情報がない
自治体の公開フォーマットは不統一
二次利用禁止で集めているところはある
問題は
アプリから使えるAED位置情報がない
自治体の公開フォーマットは不統一
二次利用禁止で集めているところはある
なければ作るのが「開発者」
作りました
システム構成
24
Microsoft Azure Mobile Services
Microsoft Azure SQL Database
Microsoft Azure Notification Hub
Windowsストアアプリ ...
Azure
Mobile
Services
AED情報の収集
情報記録
認
証
Azure
SQL Server
Facebook認証
AED管理用データベース
経済産業省 IODD2014
AEDの共通語彙基盤に準拠
心停止者を発見したときには…
該当AED抽出
Azure
SQL Server
Azure
Mobile
Services
Facebook認証
AED管理用データベース
経済産業省 IODD2014
AEDの共通語彙基盤に準拠
私のめざしたい姿
使用率3.7%を4%に上げる
私のめざしたい姿
使用率3.7%を4%に上げる
だけじゃ満足できない
私のめざしたい姿
使用率3.7%を4%に上げる
だけじゃ満足できない
偶然そばに人がいたとき
だけじゃ満足できない
私のめざしたい姿
すべての心停止者にAEDを
将来想定(M2Mによる119番連携/SOS自動発信)
通知
認
証
該当者抽出
該当AED抽出
AED位置表示
SOS位置表示
承諾応答
通知ハブ
Azure
SQL Server
Azure
Mobile
Services
通知
Facebo...
Microsoft Azure Mobile Servicesのキモ
AEDオープンデータAPI
指定した都道府県単位のAED情報一覧
指定した市町村区単位のAED情報一覧
指定した緯度経度の直近AED情報
指定した緯度経度の指定範囲内のAED情報一覧
指定したIDのAED情報
直近AED検索速度<3秒
東アジア 3.23sec ⇒ 国内 2.95sec
サーバー側でfacebook認証およびfacebook投稿
登録/変更時のみ
使いやすさを考えたAPIのアクセス許可設定
GETは緩く、POSTは認証済のみ、削除は管理者
DBアクセス
カスタムAPIによる細かな制御を実施している
テーブルの自動生成は利用していない
プロト開発には有用
実開発までのどこかできちんとしたDB設計で性能担保
今後の改善
直近AED検索の実行プラン
直近を求めるために全件並び替えを実施
「並び替え」の対象レコード数を少なくする
緯度経度でざっくり絞る?
DB破壊からの復旧
AEDオープンデータプラットフォーム公開前に実施済
破壊シナリオ
AED検索用のMobile Serviceの他に、もう1つMobile Serviceを作成
構成画面にて接続先データベースをAED検索用SQL Da...
universal Windows appのキモ
ロジックは共通
画面が別途
Portable Class Library
42
PCL
プロジェクト
Windowsストア
プロジェクト
WindowsPhone
プロジェクト
PCLビルド
PCL
PCL
参照設定
参照設定
共有
43
共有
プロジェクト
Windowsストア
プロジェクト
WindowsPhone
プロジェクト
ソース
コード
参照設定
参照設定
ソース
コード
ソース
コード
for Windows
for Windows Phone
Xamarinのキモ
Portable Class Library
47
PCL
プロジェクト
Android
プロジェクト
iOS
プロジェクト
PCLビルド
PCL
PCL
参照設定
参照設定
共有
48
共有
プロジェクト
Android
プロジェクト
iOS
プロジェクト
ソース
コード
参照設定
参照設定
ソース
コード
ソース
コード
iOSとAndroidでコードに差があるとき
49
PCLは「if」で条件分岐
・実行時に判定
共有コードは「#if」で条件分岐
・コンパイル時に判定
PCL vs 共有コード
PCL方式なら
OS別ロジックがそもそも入り込まない
共有コード方式なら
universal Windows appsは共有コード方式
実行ファイルにOS別ロジックが入らない
OS別ロジックに専用クラスが書...
Xamarin Forms
Android版はもう動いています
Xamarin.Forms.Mapは成長中
Androidのmapに比べると…
まとめ
4OSクラスプラットフォームのゴール
53
PCL
プロジェクト
Windowsストア
プロジェクト
WindowsPhone
プロジェクト
PCL
参照設定
ViewModel
Model
Android
プロジェクト
iOSプロジェクト
固...
AEDオープンデータプラットフォーム
http://hatsunejournal.jp/w8/AEDOpendata/
誰でもが無償で自由に使えるAEDデータ
直近検索、facebook認証などを整備⇒スマホ側アプリが楽に
クライアント...
クロスプラットフォームAED 検索のキモ
Upcoming SlideShare
Loading in …5
×

クロスプラットフォーム AED 検索のキモ

715 views

Published on

MVP Community Camp 2015 東京会場でお話させて頂いたセッションスライドです。

Published in: Education
  • Be the first to comment

クロスプラットフォーム AED 検索のキモ

  1. 1. MVP Community Camp 2015 クロスプラットフォーム AED 検索のキモ 2015/01/31 初音玲
  2. 2. アジェンダ AED検索とは Microsoft Azure Mobile Servicesのキモ universal Windows appのキモ Xamarinのキモ
  3. 3. 本日のゴール Microsoft Azure Mobile Servicesが何かが分かる クラスプラットフォームのゴール形態が分かる
  4. 4. AED検索とは
  5. 5. AEDの現状 国内40万台 一般利用可能20万台
  6. 6. AEDの現状 国内40万台 一般利用可能20万台 使用率 3.7% (2013年)
  7. 7. 使用率3.7% 心肺停止者 年間73,023人 うち、目撃者あり 年間23,797人 32.6% 67.4% 目撃者あり 目撃者なし
  8. 8. 使用率3.7% 32.6% 67.4% 目撃者あり 目撃者なし 96.3% 3.7% AED未使用 AED使用
  9. 9. 使用率3.7% 目撃者ありの場合の使用率
  10. 10. 目撃者ありの場合の使用率 3.7% 881人 / 23,797人
  11. 11. すべての心停止者に対する使用率 1.2% 881人 / 73,023人
  12. 12. なぜこんなに使用率が低いのだろう AEDって最近のもの? 認知率が低い? 使い方が分からない?
  13. 13. なぜこんなに使用率が低いのだろう AEDって最近のもの? 認知率が低い? 使い方が分からない?
  14. 14. なぜこんなに使用率が低いのだろう AEDって最近のもの? ⇒2014年で10年目 認知率が低い? 使い方が分からない?
  15. 15. なぜこんなに使用率が低いのだろう AEDって最近のもの? 認知率が低い? ⇒認知率93.6% 使い方が分からない? 93.6% 6.4% 知っている 知らない
  16. 16. なぜこんなに使用率が低いのだろう AEDって最近のもの? 認知率が低い? 使い方が分からない? ⇒講習受講率50.7% 50.7% 49.3% ある ない
  17. 17. Why:救命処置をとれない理由 目撃時に救命措置をとれない理由は何ですか? 18 47.7% 30.4% 25.6% 25.0% 22.5% 7.9% 7.4% 4.0% 方法が分からない 対応する自信がない 専門家に任せた方が良い 方法を忘れてしまった 怖くて手が出せない 対応したくない 巻き込まれたくない その他
  18. 18. AED認知率向上、 講習会の実施、 にプラスして何かが必要 19
  19. 19. アプリ作れば解決する と思っていた時期もありました
  20. 20. 問題は
  21. 21. 問題は アプリから使えるAED位置情報がない 自治体の公開フォーマットは不統一 二次利用禁止で集めているところはある
  22. 22. 問題は アプリから使えるAED位置情報がない 自治体の公開フォーマットは不統一 二次利用禁止で集めているところはある なければ作るのが「開発者」 作りました
  23. 23. システム構成 24 Microsoft Azure Mobile Services Microsoft Azure SQL Database Microsoft Azure Notification Hub Windowsストアアプリ / Android & iOSアプリ(Xamarin) AEDオープンデータプラットフォーム
  24. 24. Azure Mobile Services AED情報の収集 情報記録 認 証 Azure SQL Server Facebook認証 AED管理用データベース 経済産業省 IODD2014 AEDの共通語彙基盤に準拠
  25. 25. 心停止者を発見したときには… 該当AED抽出 Azure SQL Server Azure Mobile Services Facebook認証 AED管理用データベース 経済産業省 IODD2014 AEDの共通語彙基盤に準拠
  26. 26. 私のめざしたい姿 使用率3.7%を4%に上げる
  27. 27. 私のめざしたい姿 使用率3.7%を4%に上げる だけじゃ満足できない
  28. 28. 私のめざしたい姿 使用率3.7%を4%に上げる だけじゃ満足できない 偶然そばに人がいたとき だけじゃ満足できない
  29. 29. 私のめざしたい姿 すべての心停止者にAEDを
  30. 30. 将来想定(M2Mによる119番連携/SOS自動発信) 通知 認 証 該当者抽出 該当AED抽出 AED位置表示 SOS位置表示 承諾応答 通知ハブ Azure SQL Server Azure Mobile Services 通知 Facebook認証 AED管理用データベース 経済産業省 IODD2014 AEDの共通語彙基盤に準拠 ウェラブル/スマホ などからの自動発信
  31. 31. Microsoft Azure Mobile Servicesのキモ
  32. 32. AEDオープンデータAPI 指定した都道府県単位のAED情報一覧 指定した市町村区単位のAED情報一覧 指定した緯度経度の直近AED情報 指定した緯度経度の指定範囲内のAED情報一覧 指定したIDのAED情報
  33. 33. 直近AED検索速度<3秒 東アジア 3.23sec ⇒ 国内 2.95sec
  34. 34. サーバー側でfacebook認証およびfacebook投稿 登録/変更時のみ
  35. 35. 使いやすさを考えたAPIのアクセス許可設定 GETは緩く、POSTは認証済のみ、削除は管理者
  36. 36. DBアクセス カスタムAPIによる細かな制御を実施している テーブルの自動生成は利用していない プロト開発には有用 実開発までのどこかできちんとしたDB設計で性能担保
  37. 37. 今後の改善 直近AED検索の実行プラン 直近を求めるために全件並び替えを実施 「並び替え」の対象レコード数を少なくする 緯度経度でざっくり絞る?
  38. 38. DB破壊からの復旧 AEDオープンデータプラットフォーム公開前に実施済 破壊シナリオ AED検索用のMobile Serviceの他に、もう1つMobile Serviceを作成 構成画面にて接続先データベースをAED検索用SQL Databaseに切り替え 削除するときに関連するデータベースも削除 復旧シナリオ データベースで管理⇒構成をえらび自動エクスポートの情報を設定 エクスポートから新しいデータベースを作成 元のサーバーを指定して復旧
  39. 39. universal Windows appのキモ
  40. 40. ロジックは共通 画面が別途
  41. 41. Portable Class Library 42 PCL プロジェクト Windowsストア プロジェクト WindowsPhone プロジェクト PCLビルド PCL PCL 参照設定 参照設定
  42. 42. 共有 43 共有 プロジェクト Windowsストア プロジェクト WindowsPhone プロジェクト ソース コード 参照設定 参照設定 ソース コード ソース コード
  43. 43. for Windows
  44. 44. for Windows Phone
  45. 45. Xamarinのキモ
  46. 46. Portable Class Library 47 PCL プロジェクト Android プロジェクト iOS プロジェクト PCLビルド PCL PCL 参照設定 参照設定
  47. 47. 共有 48 共有 プロジェクト Android プロジェクト iOS プロジェクト ソース コード 参照設定 参照設定 ソース コード ソース コード
  48. 48. iOSとAndroidでコードに差があるとき 49 PCLは「if」で条件分岐 ・実行時に判定 共有コードは「#if」で条件分岐 ・コンパイル時に判定
  49. 49. PCL vs 共有コード PCL方式なら OS別ロジックがそもそも入り込まない 共有コード方式なら universal Windows appsは共有コード方式 実行ファイルにOS別ロジックが入らない OS別ロジックに専用クラスが書ける 50
  50. 50. Xamarin Forms Android版はもう動いています Xamarin.Forms.Mapは成長中 Androidのmapに比べると…
  51. 51. まとめ
  52. 52. 4OSクラスプラットフォームのゴール 53 PCL プロジェクト Windowsストア プロジェクト WindowsPhone プロジェクト PCL 参照設定 ViewModel Model Android プロジェクト iOSプロジェクト 固有ロジック 固有ロジック 固有ロジック 固有ロジック View View View View
  53. 53. AEDオープンデータプラットフォーム http://hatsunejournal.jp/w8/AEDOpendata/ 誰でもが無償で自由に使えるAEDデータ 直近検索、facebook認証などを整備⇒スマホ側アプリが楽に クライアント ロジックは可能な限り共通化 画面の見た目はOSごとに別(基本は一緒)

×