- From: Jean-Claude Dufourd <jean-claude.dufourd@telecom-paristech.fr>
- Date: Mon, 04 Nov 2013 11:59:24 +0100
- To: FABLET Youenn <Youenn.Fablet@crf.canon.fr>, Rich Tibbett <richt@opera.com>
- CC: Device APIs Working Group <public-device-apis@w3.org>
- Message-ID: <52777E0C.5060903@telecom-paristech.fr>
This looks orthogonal to ProgressPromise. Promises are independant from the user validation mechanism. Best regards JC Le 4/11/13 11:32 , FABLET Youenn a écrit : > Would ProgressPromise be suitable for the following scenario: > > 1. A user agrees that a web app can always get informed of the process of a given set of services if they are available. > 2. The web app calls the NSD API > 3. The browser immediately sends back the matching pre-agreed services > 4. The browser shows an info bar in case the user wants to disclose other services to the web app > 5a. The user starts interacting with the pre-agreed services (no need to interact with the infobar) > Or > 5b. The user clicks on the info bar to disclose other services. > > This design would allow zero-click access to pre-agreed services (helping data minimization in a sense) while still enabling user to extend the set of disclosed services. > > Regards, > Youenn > >> -----Original Message----- >> From: Jean-Claude Dufourd [mailto:jean-claude.dufourd@telecom- >> paristech.fr] >> Sent: samedi 2 novembre 2013 12:39 >> To: Rich Tibbett >> Cc: Device APIs Working Group >> Subject: Re: [discovery-api] NSD and promises, questions >> >> Le 31/10/13 03:26 , Rich Tibbett a écrit : >>> On Wed, Oct 30, 2013 at 1:30 AM, Jean-Claude Dufourd >>> <jean-claude.dufourd@telecom-paristech.fr> wrote: >>>> The NSD draft has been updated to use promises. >>>> In the process of implementing that version, I am coming up with >> questions. >>>> In the newest draft, getNetworkServices returns a promise. >>>> Then the promise gets resolved. >>>> Then if a new matching service is discovered and authorized, the >>>> onserviceavailable *callback* is used. >>>> Then getNetworkServices is called again and returns a new promise, etc... >>>> >>>> The first question is, if promises are supposed to avoid callbacks, why do >>>> we still have callbacks (onserviceavailable, onserviceunavailable) ? >>>> Would it make sense to change onserviceavailable and >> onserviceunavailable to >>>> promises ? >>>> Old usage: >>>> networkServices.onserviceavailable = function() {...}; >>>> would become: >>>> networkServices.onserviceavailable.then(function() {...}); >>>> >>> It's a good question. Current practice seems to prefer hanging events >>> off 'stub' objects. I haven't seen this type of practice elsewhere >>> Promises are being used. I'm more concerned with having consistency >>> with other Promise-based APIs than anything else right now. It could >>> be good to explore this further. >> About exploring, I have implemented that and tested it. It is very clean >> from the author's perspective. >> >> From a theoretical perspective, onserviceavailable is closer to a >> promise than to an event, in the sense that it happens once and then the >> whole structure is updated. Events are for situations whith multiple >> calls. For example, UPnP event subscription should stay with callbacks, >> whereas onserviceavailable could become a promise. >> >>>> The second question is, are promises-with-immutable-value-once-set the >> right >>>> model for NSD ? >>>> It looks like a mutable promise would be better, but I understand from >>>> reading about promises that immutability is an important feature. >>> There has been some discussion around implementing e.g. >>> ProgressPromise @ >>> http://lists.w3.org/Archives/Public/www-dom/2013JulSep/0113.html. I'm >>> not sure that gives you exactly what you want but does perhaps present >>> a similar strategy that could be used. I don't think DAP or the NSD >>> API is the right place to invent such things though (maybe WebApps?). >> Thank you for that link to ProgressPromise. It was close to what I >> wanted at some point, but now I am closer to opponents of that proposal: >> while there may be a need for a new abstraction for event/progress, it >> should be different from promise. >> >> Best regards >> JC >> -- >> Télécom ParisTech <http://www.telecom-paristech.fr> *Jean-Claude >> DUFOURD <http://jcdufourd.wp.mines-telecom.fr>* >> Directeur d'études >> Tél. : +33 1 45 81 77 33 37-39 rue Dareau >> 75014 Paris, France >> >> Site web <http://www.telecom-paristech.fr>Twitter >> <https://twitter.com/TelecomPTech>Facebook >> <https://www.facebook.com/TelecomParisTech>Google+ >> <https://plus.google.com/111525064771175271294>Blog >> <http://jcdufourd.wp.mines-telecom.fr> >> -- Télécom ParisTech <http://www.telecom-paristech.fr> *Jean-Claude DUFOURD <http://jcdufourd.wp.mines-telecom.fr>* Directeur d'études Tél. : +33 1 45 81 77 33 37-39 rue Dareau 75014 Paris, France Site web <http://www.telecom-paristech.fr>Twitter <https://twitter.com/TelecomPTech>Facebook <https://www.facebook.com/TelecomParisTech>Google+ <https://plus.google.com/111525064771175271294>Blog <http://jcdufourd.wp.mines-telecom.fr>
Received on Monday, 4 November 2013 10:59:54 UTC