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.

Kilimanjaro Event

2,053 views

Published on

OSC Nagoya で使用したスライド
http://www.ospn.jp/osc2012-nagoya/

Published in: Technology
  • Be the first to comment

Kilimanjaro Event

  1. 1. Kilimanjaro Event Slides @ OSC Nagoya 2012 by Tomoya ASAI (dynamis) last update on 2012.05.12 see also: http://dynamis.jp/r
  2. 2. about:me http:// dynamis.jp @dynamitter facebook.com/ dynamis mailto: Tomoya ASAI <dynamis@mozilla-japan.org>
  3. 3. あーる てぃー まずは最近の話題を一つ
  4. 4. Windows 8 のアプリ Classic アプリ 従来の Win32 API アプリ Metro アプリ 新しい WinRT API アプリ Metro 対応 Desktop ブラウザ 規定のブラウザのみ Win32 API も使える Metro ブラウザ
  5. 5. Windows RT Windows 8 の ARM 版 主にタブレットがターゲット
  6. 6. Windows RT での制限 Classic アプリのブラウザ 許可しません。 Metro アプリのブラウザ ご自由に。WinRT API で作れる ものなら作ってみやがれ。 MS のブラウザ (IE10) API 制限のない特権あり
  7. 7. IE 以外ブラウザイラネ
  8. 8. 競争のない独占環境はiOS だけで十分です...
  9. 9. Agenda WebRT Boot to Gecko Marketplace Persona Kilimanjaro furfox アイコン: http://kaishinlab.com/furfox/
  10. 10. WebRTWeb Runtime...
  11. 11. ぶらうざでできること? フォクすけに教えて!
  12. 12. Semantic Elements CSS Transforms ECMA5thMultimedia Elements CSS Animations WebM Codec Canvas 2D API SVG WebGL Forms WOFF (Web Fonts) WebCL Offline Events Event Listener (DOM) Typed Array Drag & Drop API XHR Level 2 Audio Data API Web Storage Indexed DB SQL DB (obsolate) HTML5 Parser File API River Trail Web Workers Geolocation SPDY Microdata Device Orientation ContentSecurityPolicy Web Sockets API Server-Sent Events Web Socket Protocol Web RTC Battery Status ICC Color Profile
  13. 13. Semantic Elements CSS Transforms ECMA5thMultimedia Elements CSS Animations WebM Codec Canvas 2D API SVG WebGL Forms WOFF (Web Fonts) WebCL Offline Events Event Listener (DOM) Typed ArrayInternet Explorer Drag & Drop API XHR Level 2 Audio Data API Web Storage Indexed DB SQL DB (obsolate) HTML5 Parser File API River Trail Web Workers Geolocation SPDY Microdata Device Orientation ContentSecurityPolicy Web Sockets API Server-Sent Events Web Socket Protocol Web RTC 点線は標準非搭載や限定的実装 Battery Status ICC Color Profile
  14. 14. Semantic Elements CSS Transforms ECMA5thMultimedia Elements CSS Animations WebM Codec Canvas 2D API SVG WebGL Forms WOFF (Web Fonts) WebCL Offline Events Event Listener (DOM) Typed Array Chrome Drag & Drop API XHR Level 2 Audio Data API Web Storage Indexed DB SQL DB (obsolate) HTML5 Parser File API River Trail Web Workers Geolocation SPDY Microdata Device Orientation ContentSecurityPolicy Web Sockets API Server-Sent Events Web Socket Protocol Web RTC 点線は標準非搭載や限定的実装 Battery Status ICC Color Profile
  15. 15. Semantic Elements CSS Transforms ECMA5thMultimedia Elements CSS Animations WebM Codec Canvas 2D API SVG WebGL Forms WOFF (Web Fonts) WebCL Offline Events Event Listener (DOM) Typed Array Firefox Drag & Drop API XHR Level 2 Audio Data API Web Storage Indexed DB SQL DB (obsolate) HTML5 Parser File API River Trail Web Workers Geolocation SPDY Microdata Device Orientation ContentSecurityPolicy Web Sockets API Server-Sent Events Web Socket Protocol Web RTC 点線は標準非搭載や限定的実装 Battery Status ICC Color Profile
  16. 16. "HTML5" の現状 "HTML5" >> HTML > HTML5 実装や仕様策定に伴い "HTML5" の領域は広がり続けている Web もプラットフォームに 本格的アプリ開発が可能に
  17. 17. これで十分? フォクすけに教えて!
  18. 18. "HTML5" ではまだできない システムステータス WiFi 情報, モバイル通信... 各種センサー 光センサー, 近接センサー... 低レベルハードウェア制御 USB, BlueTooth, NFC...
  19. 19. http://arewemobileyet.com/
  20. 20. ボクもいろいろ使ってみた〜い!
  21. 21. Web API Web の限界を押し進める HTML5 などの基本 API 以外 API の総称であって定義はない W3C では DAP などで標準化 実装と共に標準化も進めていく 一部別の WG に分かれるかも? https://wiki.mozilla.org/WebAPI
  22. 22. 昔からある Web API Geolocation (位置情報) Orientation (加速度センサー) Audio Data API WebGL (3D グラフィック) Camera API (WebRTC へ移行) これらは既に Android 版 Firefox でも実装済み
  23. 23. 実装済みの Web API SMS, Telephony, Contacts Settings, Network Information Vibration, Pointer Lock Battery Status (電池や充電) Resource Lock (スリープ禁止) Light Sensor (環境光センサー), Proximity Sensor (近接センサー) まだ不完全な実装の API も一部含む
  24. 24. 現在実装中の Web API WebRTC (Camera, P2P など含む) Open Web Apps (アプリ管理) Device Storage Idle, Power Management Mobile Connection, WiFi Information (無線情報) TCP Socket
  25. 25. 実装見込みの Web API UDB Datagram Socket Bluetooth, USB, NFC WebSocket 的な API になる? Background Service USB file-reading (B2G 専用) ...and more... ネイティブアプリにできることは何でも可能に
  26. 26. Web API も Web 標準 W3C DAP (Device API) WG ハードウェア操作やセンサー系 IETF/W3C WebRTC WG マルチメディア系や P2P など Notification なども個別 WG また別の WG 増えるかも? NFC, USB など低レベル系
  27. 27. WWeebb がプラット フォーム!
  28. 28. Boot to GeckoWebRT as an OS...
  29. 29. Boot to Gecko Gecko WebRT を起動する OS Linux Kernel 上に Gecko を Java VM などの中間レイヤなし Web 技術が「ネイティブ」に HTML5, JavaScript, Web API... Gecko は Firefox の描画エンジン、WebRT = Web Runtime
  30. 30. ステータスバーも(電波強度、電池残量...)電話や SMS の送受信ももちろん Firefox もカメラを使うのも写真やビデオを見るのもその他いろんなアプリもマーケットプレイスも
  31. 31. ステータスバーも (電波強度、電池残量...) 電話や SMS の送受信も もちろん Firefox も カメラを使うのも 写真やビデオを見るのも その他いろんなアプリも マーケットプレイスもすべて Web 技術で!
  32. 32. Boot to Gecko の3要素 Gaia ユーザインターフェイス Gecko アプリケーションランタイム Gonk 低レベルの OS 層 シンプルなカスタム Linux
  33. 33. Status 2012/03/09 - M2.1 Dogfood Release 2012/03/26 M2.5 Developer Preview Phone JSConf にて開発端末配布
  34. 34. Roadmap 2012/06/01 - M3 functional/Gecko complete 2012/06/29 - M4 feature/Gaia complete and code freeze(これはダミー) TBD - M4.5 major bug fixing / UI freeze あくまでもスケジュールの「プラン」です
  35. 35. 開発パートナーと製品化 Telefónica は本年中に製品化 世界 3∼4 位のキャリア ホーム画面やアプリはカスタム Deutsche Telekom (T-Mobile) Innovation Labs が開発に参加 Adobe, Qualcomm らも協力 PhoneGap の B2G 対応など
  36. 36. WWeebb こそがプラットフォーム! 大事なことはもう一度
  37. 37. MarketplaceOpen Web Apps...
  38. 38. 既存のプラットフォーム 現在のアプリケーションはそれぞれのプラットフォーム毎に作る必要がある
  39. 39. ブラウザ vs 独自プラットフォーム
  40. 40. Web がプラットフォーム プラットフォーム としての WebWeb がプラットフォームになれば業界標準技術でどこでも動作するアプリ環境に
  41. 41. Mozilla Marketplace デバイス・OS 横断マーケット Web Platform のためのストア Firefox 限定とかじゃない 現在コミュニティ向けベータ Firefox 開発版ユーザ向けテスト 今年中に正式リリースを予定 http://hacks.mozilla.org/2012/02/mozillamarketplace-open-for-app-submissions/
  42. 42. オープンなアプリストア 全てを Web 技術で実装 安定・平等な環境を提供 ベンダー非依存 アプリストア、認証、課金 ... ブラウザ非依存 後方互換ダッシュボード https://developer.mozilla.org/en/apps
  43. 43. アプリの登録 マニフェスト書いて登録 Content-Type: application/x- web-app-manifest+json Chrome との書式統一は議論中 Widget などとの関係も議論中 スクリーンショットも必須
  44. 44. manifest.webapp# 最低限 name, description があればいい{ "version": "1.0", "name": "SampleApp", "description": "サンプルアプリ", "icons": { "48": "/img/icon-48.png" }, "developer": { "name": "dynamis", "url": "http://dynamis.jp/" }, "installs_allowed_from": [ "https://appstore.mozillalabs.com" ]} Content-Type は application/x-web-app-manifest+json で送信
  45. 45. manifest.webapp{ "version": "1.0", "name": "SampleApp", "description": "サンプルアプリ", "icons": { "48": "/img/icon-48.png" }, "widget": { "path": "/widget.html", "width": 100, "height": 200 }, "developer": { "name": "dynamis", "url": "http://dynamis.jp/" }, "installs_allowed_from": ["https://appstore.mozillalabs.com"]} その他の項目は https://developer.mozilla.org/en/OpenWebApps/The_Manifest 参照
  46. 46. レビューシステム 現在公開前のレビューあり Mozilla スタッフによるレビュー 将来は AMO のようになる? コミュニティボランティアによる レビューへの移行なども検討中 基本的チェックだけ ルールなど詳細は未確定
  47. 47. PersonaBetter Authentication...
  48. 48. これまでのユーザID サービス別のユーザID 個別のユーザ名とパスワード... 普通の人は管理しきれない 大手ベンダー提供のID Google, Facebook, Twitter... ベンダーロックイン
  49. 49. 求められるユーザID 安全かつ簡単に プライバシーの確保 ベンダー非依存 ブラウザ非依存 シンプルな API
  50. 50. Mozilla Persona ID = メールアドレス 普通の人でも理解・記憶可能 大半のサービスが要求する ブラウザが直接サポートする 前提で設計し直された ブラウザへの UI 組み込み DOM API の定義と標準化
  51. 51. Persona と BrowserID Mozilla Persona 認証サービス名 BrowserID Mozilla Persona の開発時名称 プロトコル等は今も BrowserID https://browserid.org/
  52. 52. Verified Email Protocol メールアドレスの所有を確認 Primary Identity Authority メールサービス自身が認証 メールサーバのパスワードで OK Secondary Identity Authority 第三者が認証サーバを提供 確認メールを送信して所有確認 https://developer.mozilla.org/en/BrowserID/Protocol_Overview
  53. 53. Persona (BrowserID)<!-- API の後方互換実装ライブラリを読み込む --><script src="https://browserid.org/include.js"></script><script>navigator.id.get(function(assertion) { if (assertion) { // assertion は暗号化された認証情報 // assertion 得られた場合の処理 } else { // エラーハンドリング }});</script> https://github.com/mozilla/browserid/wiki/How-to-Use-BrowserID-on-Your-Site
  54. 54. Persona (BrowserID)navigator.id.get(function(assertion) { if (assertion) { // browserid.org で認証情報を検証する場合 jQuery.post("https://browserid.org/verify", { assertion: assertion, // 暗号化された認証情報 audience: "http://dynamis.jp" }, // 対象サイト function(session){ // session は認証されたユーザ情報 alert(session.email); }); } else { ... }}); https://github.com/mozilla/browserid/wiki/How-to-Use-BrowserID-on-Your-Site
  55. 55. 得られる認証データ// 認証成功時に得られるセッション情報{ "status": "okay", "email": "dynamis@mozilla", "audience": "http://dynamis.jp", "expires": 1308859352261, "issuer": "browserid.org"}// 認証失敗時は reason 文字列だけが返される{ "status": "failure", "reason":"verification failure"} https://github.com/mozilla/browserid/wiki/How-to-Use-BrowserID-on-Your-Site
  56. 56. KilimanjaroThe web is the Platform...
  57. 57. Kilimanjaro Event Mozilla の今年の統合プラン 「Web がプラットフォーム」 実現に向けたマイルストーン 早ければ 9 月をターゲットに 高速リリースで Firefox にコード ネーム付けなくなったから… 公園じゃなく山でシリーズ化?
  58. 58. Kilimanjaro Event Web がプラットフォーム API の追加: WebAPI アプリ配信: Marketplace OS の提供: Boot to Gecko 認証: Persona
  59. 59. 続きは DevCon@Osaka でhttp://mozilla.jp/devcon 6/29 & 6/30 には大阪で!
  60. 60. 続きは DevCon@Osaka でhttp://mozilla.jp/devcon
  61. 61. 前日は CSS Nite in Osakahttp://osaka.cssnite.jp/vol31 6/29 & 6/30 には大阪で!
  62. 62. 前日は CSS Nite vol.31

×