Networked Service Discovery and Messaging

Use cases, gaps, ideas from the Web&TV Home Network TF

Giuseppe Pascale, Opera

http://people.opera.com/giuseppep/hntf-usecases-gaps/

What have all these devices in common?

3... 2... 1...

They run Opera a Browser

They run a Browser

and

They are connected to the home network

Numbers, Numbers, Numbers

  • 59% of Americans surf the Internet and watch TV at the same time [1]
  • Hundreds of millions UPnP products ship annually [2]
  • More than a billion UPnP devices a year to ship by 2014 [2]
  • Over 200 Millions iOS Devices (with Bonjour support) sold to date

How can we enable a multi-screen experience?

...ah, and BTW: what is a multi-screen experience?

#1. From PC to TV

Once I find the video I want to watch...

#1. From PC to TV (2)

I just sit back and relax

#2. All my media on one screen

#3. Control your TV with your mobilephone

#4. Multi-screen application: quiz, slideshows, social, ...

Are we there yet?

Almost...

Phase 1: Download

Application downloaded via broadband, broadcast or other means

Phase 2: Discovery

Application discovers other devices in the home network

Phase 3: Communicate (Play)

Application communicates with discovered devices (after user authorization)

Mind the gap

Download: done!

  • Nothing to see here...

Discovery/Advertisement: NA

  • Allow applications to be aware of services available in the home network
  • Allow applications to advertise themselves on the home network
  • Support for devices already on the market and discovery protocol publicly available (UPnP, M-DNS/DNS-SD, etc.)

Communication: almost there

  • Re-use of existing messaging mechanisms (XHR, Web Sockets, etc.)
  • Relax same origin restrictions (when CORS not supported)

Some ideas

// Search for a service
if(navigator.getNetworkServices)
 navigator.getNetworkServices('urn:schemas-upnp-org:service:ContentDirectory:1', browseContent, error);

// Browse content on another device
function browseContent(services) {
//create a SOAP message
 var xml = createSoapMessage(services[0].type,"Browse");
 
//Send a SOAP message to get the list of content (and process the service response) 
 var xhr = new XMLHttpRequest();
 xhr.onreadystatechange=function(){//handler code goes here}
 xhr.open("POST", services[0].url, true);
 xhr.setRequestHeader('HOST',host);
 xhr.setRequestHeader('Content-type','text/xml');
 xhr.setRequestHeader('Content-length',msg.length);
 xhr.setRequestHeader('SOAPAction',services[0].type+'#'+"Browse");
 xhr.send(msg);
 
 // NOTE: services[0].url and its sub-resources have been 
 // whitelisted for cross-site XHR use in this  
 // current browsing context.
}
 

Timeline

From rough ideas to first demos

  • Tokyo, Dec '10 (1st Web & TV workshop)
    • Panel: TV as the hub within home network
    • Web & TV IG is proposed
  • Berlin, Feb '11 (2nd Web & TV workshop)
    • Presentations on: Multi-screen scenarios, Home Networking
    • Web & TV IG is launched. Home Network TF (HNTF) first Task Force of the IG [3]
  • Hollywood, Sept '11 (3rd Web & TV workshop)
  • TPAC, Nov '11 (Today): what's Next?
    • Anyone interested in working together on this?
    • Friday Morning: joint Web&TV/DAP F2F to discuss identified gaps and next steps
      • Opera/CableLabs proposal [4]
      • Sony-Ericsson/Webinos Proposal [8]
      • Comparison with other approaches [9]

Networked Service Discovery and Messaging

Thanks for listening!

http://people.opera.com/giuseppep/hntf-usecases-gaps/