WebIntentsにより拓かれる
        次のWeb
          2012/9/8
   NTTコミュニケーションズ
          小松健作
       Kensaku Komatsu
自己紹介
• Official works in NTT Communications
    – リサーチエンジニア
    – 最新Web技術の研究開発
    – W3C などでの標準化活動
• Personal works in Community
    –   html5j.orgスタッフ
    –   HTML5 Conference 2012 総合プロデュース
    –   Google API Expert (HTML5)
    –   Microsoft Valuable Professional (IE)

Blog : http://blog.livedoor.jp/kotesaki/
Twitter : http://twitter.com/komasshu
今日のMain Idea


Webはクラウドだけではない!!
どーゆーこと?
ってこと
  で
早速デモ
Demo

   by Saki Honma
@NTT Communications
テレビは、いたって
ふつーの市販のテレビ
しこみな
し!!
つまり、
テレビもWeb
そして、TV以外も・・・
なんでも
 Web
クラウドもローカルも
シームレスに全部Web
One Web!!
本日のAgenda
•   Web Intents
•   “Device API” -> “in-device Web Server model”
•   Service Discovery meets Web Intents
•   Sys Apps WG
本日のAgenda
•   Web Intents
•   “Device API” -> “in-device Web Server model”
•   Service Discovery meets Web Intents
•   Sys Apps WG
WebIntentsとは?
• Webアプリケーション同士をつなげる仕組
  み

• Androidインテントと良く似た仕組み
使ってるサイト
“http://events.html5j.org/”
             を
        “share”する
Registration & invoke
              registration




     invoke


              registration
Working Draft




http://www.w3.org/TR/web-intents/
Registration process
• 「何にこれが出来るよん」を宣言する
 – “何” : 名詞… type
   • Image/*, video/*, …
 – “これ” :動詞 … action
   • VIEW, PICK, SHARE, …
How to regist?
• ふつーのWebサイト




 現状流動的
How to regist? [cont]
Chrome extension: manifest.json
How to regist?[cont]
How to invoke?
How to handle the data?
  (for frameless app)
本日のAgenda
•   Web Intents
•   “Device API” -> “in-device Web Server model”
•   Service Discovery meets Web Intents
•   Sys Apps WG
Device apiの背景
• 主に二つのWGが関与
 • Web Apps WG
      • Geolocation, Device Orientation, GetUserMedia, …
      • Browser ベンダーが主導
      • 実装も順調に進んでいる

 • Device APIs WG (was: Device And Policy WG)
      • MediaCapture, Contact, Calendar, …
      • キャリアや端末ベンダーが主導(WACでの利活用を目
        的)
      • 個人情報に関わりの深い policy sensitive なAPIが多い
      • ほとんど実装されていない
Device apis wgの方針に対する問題
• 例えば、Calendar API                Google calendar


                        Web-API




   • 同じ「カレンダー」を操作することに対し、cloudではWeb-API、
     端末では専用JS APIとアンマッチが生じる
   • W3C の IPA ポリシーのため、デバイスの内部までアクセスする
     専用API検討に対し賛同が得られない(e.g. Apple, SONY, 東芝)
Device apis wgの方針変更
• 例えば、Calendar API                     Google calendar


                             Web-API


            In-Dev
Calendar
             Web
process
            Server
                     • デバイス内部に専用Webサーバーを立て、これを経
    独自API              由してカレンダー情報へアクセス
                     • 開発者からは共通のAPIで開発できる
                     • 内部APIを隠蔽できるため、既存ベンダーの賛同が得
                       られる
サービス選択の自由
• カレンダー情報をどこから取得するかは、
  その時の状況次第
 • パブリックなものは Google カレンダー
 • プライベートなものは モバイルデバイス内部


• その時々の状況に応じて、Web APIを選択
  する機能が必要
In device web serverモデルへの適合
• 例えば、Calendar API                             Google calendar
                        WebIntents
                                     Web-API


            in-Dev
Calendar
             Web
process
            Server


    独自API            • WebIntentsを使い、ユーザーはオンデマンドでクラ
                       ウド・デバイスのカレンダーを選択利用できる
                     • In-deviceのWebサービスは、Googleの検索結果に出な
                       いという問題も解決
Local nw devicesへの拡張
                           WebIntents
                                                  Webカメラ
Local NW                                          サーバー

                                        Web-API


               in-Dev
   Camera
                Web
   process
               Server


       独自API
                         Web       In-device Web Serverのモデルに立てば、同様
                        server     にWeb APIで Local NW内の他のデバイスも同
                                   じフレームワークで利用可能となる
課題
• どうやって、Local NW内のWeb Serverを知る?

 – Googleの検索結果には絶対に出てこない

 – アドレスもDHCPで変わってしまう
本日のAgenda
•   Web Intents
•   “Device API” -> “in-device Web Server model”
•   Service Discovery meets Web Intents
•   Sys Apps WG
デバイス内に
Webサーバー????
更に発見????
DLNA
• SOAP
  – TVなどのデバイスをリモート操作
    • Play, Pause, Stop, ….
• UPnP
  – IP multicast(udp) を用い、自動発見
すでに、環境
  は
そこにある
足りないの
は・・・・
ブラウザから、
使えるように
 すること
特にUPnP
Chrome packaged apps




  http://developer.chrome.com/trunk/apps/about_apps.html
Socket API




https://developer.chrome.com/apps/app_network.html
Yep, we can!!
Web can operates DLNA natively!!
Seamless web!!
Cutting Edge working drafts
           Discovery API                     Web Intents Addendum




                                      http://w3c-test.org/dap/wi-addendum-local-
http://www.w3.org/TR/discovery-api/   services/

              By Opera                              By SONY
普通に使える日
 が・・・
本日のAgenda
•   Web Intents
•   “Device API” -> “in-device Web Server model”
•   Service Discovery meets Web Intents
•   Sys Apps WG
Raw Socket API
Webの可能性が
   広がる
• Chrome OS
• Firefox OS
• Tizen
• Windows 8
• ….
新たな
fragmentation ?
System Applications WG




http://www.w3.org/2012/05/sysapps-wg-charter.html
Hopefully …
Summary
•   WebIntents
•   Device API => In device Web Server Model
•   DLNA
•   Discovery API, Web Intents Addendum
•   System Applications WG

      https://github.com/KensakuKOMATSU/chrome-upnp
THANK YOU!!
アンケートページURL
 http://bit.ly/html5j2012q

 アンケートにご協力いただけた方には、
 もれなく素敵なプレゼントが!!(受付にて
 配布)

WebIntentsにより拓かれる次のWeb