- From: Jean-Claude Dufourd <jean-claude.dufourd@telecom-paristech.fr>
- Date: Fri, 08 Feb 2013 17:02:27 +0100
- To: public-device-apis@w3.org
Le 8/2/13 16:21 , Rich Tibbett a écrit : > Jean-Claude Dufourd wrote: >> Le 8/2/13 15:27 , Rich Tibbett a écrit : >>> >>>> >>>> And also, my question about polling boils down to: what is the >>>> practical >>>> difference between "available" and "online" ? >>> >>> 'available' means that the service is present on the local network but >>> not yet shared with any web page. >>> >>> 'online' means the the service is present on the local network and >>> shared with a web page. >>> >>> We settled on these terms for lack of a better naming suggestion. >>> >>>> >>>> What is "online" ? A response to ping is characteristic of the device, >>>> not of the service. >>>> Is there anything standard in Bonjour and UPnP that can be used as a >>>> test of online-ness ? >>> >>> 'online' is a concept specific to this specification when a >>> NetworkService object is provided to a web page. At that point the >>> service is either online or offline for that web page to interact with. >>> >>>> Should the implementation poll for that ? >>>> Should the online attribute and events not be optional (SHOULD or MAY, >>>> rather that MUST now) ? >>> >>> There is some use to receiving these events for a web page. There is >>> the option for the web page to check the online-ness of a shared >>> NetworkService object by querying its .url attribute via an e.g. XHR >>> call. If that fails with a 4XX then they may be able to assume that >>> the service is no longer responding and hence offline. >>> >>> Since we're aware of general registration/deregitration/expiry of >>> Local-networked Services in the network at the underlying >>> implementation level we provide any status updates we can through the >>> 'online' attribute of the corresponding NetworkService object as a >>> convenience feature. >>> >>>> If it is too similar to "available", should it not be removed >>>> altogether ? >>> >>> It seems there's enough of a difference to warrant both events. One is >>> a generic notifier of the state of the network relating the requested >>> service types fired against NetworkServices. The other is a specific >>> notifier of the state of the service fired against its corresponding >>> NetworkService object. >>> >> JCD: I still do not understand the difference. >> You write: >> /'available' means that the service is present on the local network but >> not yet shared with any web page. // >> //// >> //'online' means the the service is present on the local network and >> shared with a web page. // >> >> /If "I" see a NetworkService object, then it has been provided to the >> web page "I" am in. > > Yes. > >> A NetworkService object has no existence (for the purpose of this >> standard) until it is provided to a web page. >> So if "I" see it, then online and available must have the same value. >> Best regards > > Yes, in this particular case that will be true. > > If we take another scenario, where I don't have access to a > NetworkService object but where a new service is detected on the > network, then the user agent is still going to fire a serviceavailable > event on the NetworkServices object (since I don't have any binding of > that service to a NetworkService object there can be no serviceonline > event fired). This is still useful because it is an indicator that I > can re-invoke getNetworkServices if I wish and more devices will be > available in the list presented to the user. > > When you're working with a NetworkService object it's quite important > to know whether _that particular service_ is available or not. In that > sense, 'online' is for tracking a shared service's availability and > 'servicesAvailable' is for tracking the general number of services > available on the current network(s). > > Like I said previously, we can change the naming here if there are any > better suggestions but I feel the need for both events is still > justified. JCD: I get it at last. It is the same thing. NetworkServices.onserviceavailable is fired when *a* new service becomes available NetworkService.onserviceonline is fired when *this* service becomes available Maybe better names could be NetworkServices.onnewserviceavailable and NetworkService.onavailable but I am not positive. Thanks JC -- JC Dufourd Directeur d'Etudes/Professor Groupe Multimedia/Multimedia Group Traitement du Signal et Images/Signal and Image Processing Telecom ParisTech, 37-39 rue Dareau, 75014 Paris, France Tel: +33145817733 - Mob: +33677843843 - Fax: +33145817144
Received on Friday, 8 February 2013 16:02:57 UTC