- From: <Cathy.Chan@nokia.com>
- Date: Mon, 6 Aug 2012 19:40:37 +0000
- To: <public-device-apis@w3.org>
- Message-ID: <A46437648ECB3D4F852B077AFF9099F518DEF1FE@008-AM1MPN1-062.mgdnok.nokia.com>
First of all, thank you Rich and Clarke for putting together the draft. I think it cleaned up a lot of ambiguities in the previous drafts. I also applaud the change to now allow UAs to choose to implement SSDP or zeroconf or both as opposed to mandating both. Below are some comments and questions on the design of the API in general. I'll be sending a separate message with comments specific to UPnP discovery as I expect those to draw a different set of audience. 4.1 - In Step 1, add "and return" at the end (to be consistent with e.g. Step 5). - The PERMISSION_DENIED_ERR error code is used in Steps 8 and 10, but the error conditions in Step 8 ("services found is an empty array") and Step 10 ("based on a previously-established user preference", "for security reasons", "or due to platform limitations") do not really match the definition of the error "The user denied the page permission to access any services." I would suggest either making the error code (and description) more generic, or creating a separate error code to handle these other conditions and leaving the PERMISSION_DENIED_ERR error code for use solely in the situation where the user *actively* denies permission. - In Step 13-2, instead of using "service was originally created from a UPnP discovery process", using "the type attribute of service begins with "upnp:" is a more precise condition. (Probably similar changes are needed at other places.) 5.1 - [typo] s/in one or the requested valid service types/in one of the requested valid service types/ (two instances) - On servicesAvailable: "By default, servicesAvailable must be set to 1." When do we expect a default value to be in use instead of an actual value? Why is the default value not 0? - The onserviceavailable event is fired when a previously unknown instance of a matching service becomes available. How about the case when a previously known instance re-connects to the network (after having been disconnected from the network for any period of time)? In other words, is the onserviceavailable event tied solely to newly available services, or does it reflect an increase in the value of servicesAvailable? 5.2 - In previous drafts, the list of "current authorized services" in NetworkServices is explicitly stated as immutable. Similar language is no longer found in this draft, and the Note also mentions the UA dynamically adding or removing network services. Does it mean that the list can dynamically change now? If so, how, and where is it described? 6.1 - "The id attribute is a unique identifier for the service. Two services provided at different times or on different objects must have the same id value." Shouldn't they have "different" values? 6.3 - There is no description on when these events will be fired (albeit quite obvious). 7. - In the first sentence, the reference to Zeroconf is to RFC 3927, which is misleading, as RFC 3927 is only one part of what is generally known as the Zeroconf discovery mechanism and does not have much to do with discovery. Implementing that reference alone is not sufficient to provide the feature detailed in this specification. The actual relevant reference would be mDNS and DNS-SD. 7.3 - In the case that the user has dropped from the network, there needs to be a Step 2-4 to set servicesAvailable to 0, and possibly to dispatch an onserviceunavailable event. - In the case that the user has connected to a new network, what parameters are being used in re-issuing the discovery search (e.g. what search target is used in SSDP)? There is not mentioned in the section on Service Discovery either. Also, s/Section 6: Service Discovery/Section 7: Service Discovery/. References - RFC 3927 has been published and is no longer a draft. The reference should be to http://www.ietf.org/rfc/rfc3927.txt, unless there is a reason to refer to the specific draft. Regards, Cathy.
Received on Monday, 6 August 2012 19:41:39 UTC