W3C home > Mailing lists > Public > public-device-apis@w3.org > September 2011

Re: Discovery API proposals: call for comments

From: Dave Raggett <dsr@w3.org>
Date: Thu, 22 Sep 2011 12:29:05 +0100
Message-ID: <4E7B1C01.6090505@w3.org>
To: public-device-apis@w3.org
Some clarification questions about:

    http://people.opera.com/richt/release/specs/discovery/Overview.html

Reading the algorithm, it seems that getNetworkedServices is supposed to 
return quickly with a list of network services objects matching the 
given service type name.  If no services have been found in this time a 
task is queued to invoke the error call back (if supplied) and 
getNetworkedServices then returns.

In many cases, local discovery protocols take time to take effect. Is 
the browser supposed to have discovered services in advance so that a 
match can be made immediately?  That doesn't seem likely although it is 
a possibility, e.g. with mDNS where the avahi daemon listens on a 
multicast port and maintains a cache. Even so, what I connect (or turn 
on) my device *after* the script calls getNetworkedServices?

Perhaps I am misreading the algorithm. I would have expected it to take 
up to a few seconds for a success call back, judging from my experience 
with writing a discovery plugin for mDNS, SSDP, SLP, Bluetooth and USB. 
One challenge is when to ask users for permission to grant access to 
each of the matching services. I would expect to give browsers some 
freedom in how they deal with that.

What about being able to filter services by context, e.g. by friendly 
name, location, by ownership (Pete's phone), or other properties?  Users 
may for example want to type a user friendly name for a device/service 
into a search box. Multicast DNS is nice in that regards, as it allows 
users to assign names that can encapsulate the owner, the location and 
the service. It would be nice to allow for smarter search where these 
properties are separated out (what services are available in my living 
room), and a JSON valued argument would be more flexible than a single 
DOM string for a valid type name.

My samsung printer supports mDNS,, SSDP and SLP.  Am I correct in 
thinking that getNetworkedServices will provide different network 
service objects for the same service, when exposed by different 
discovery protocols?

Does getNetworkedServices also apply to other kinds of interconnect 
technologies such as USB, or services directly coupled to the device 
hosting the web run time?  This suggests changing the terminology to be 
more general, e.g. findService.

-- 

  Dave Raggett<dsr@w3.org>  http://www.w3.org/People/Raggett
Received on Thursday, 22 September 2011 11:29:29 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 May 2012 00:14:22 GMT