- From: Dave Raggett <dsr@w3.org>
- Date: Thu, 22 Sep 2011 12:29:05 +0100
- 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 UTC