Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-15 Thread Jean-Claude Dufourd

Marcos Caceres a écrit :

From the spec ...an author can request that a widget asynchronously
check if a widget has been updated [(i.e., that a new version of the
widget package is available online)] via the widget.update() method,
defined in the Widgets-API specification. This strategy also relies on
the author having declared a update element in the widget
configuration document, as it makes use of the URI to potentially
retrieve an UDD and relay whether an update is available back to the
instantiated Widget. ***Actually performing the update is left to the
discretion of the widget user agent.***
  
JCD: this standards trick works if your aim is to have a patent on the 
highlighted point be judged as non-essential.

There are a few points to check to ensure non-essentiality:
- the language of the standard makes the feature a MAY (seems to be the 
case);

- no test case uses the feature (should be easy too).
However, if the implementations consistently implement the feature, they 
will infringe the patent and will get a call from the patent holder.


It seems to me that this feature may end up as consistently implemented.
There would then be a good case for the WG to spend some time on 
devising a proper workaround.
Anyone sharing my opinion that the widget update feature will be 
consistenly implemented (even if optional) ?

Best regards
JC

--
JC Dufourd
Groupe Multimedia/Multimedia Group
Traitement du Signal et Images/Signal and Image Processing
Télécom ParisTech, 46 rue Barrault, 75 013 Paris, France 



Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-15 Thread Marcos Caceres
On Wed, Jul 15, 2009 at 1:54 PM, Jean-Claude
Dufourdjean-claude.dufo...@telecom-paristech.fr wrote:
 Marcos Caceres a écrit :

 From the spec ...an author can request that a widget asynchronously
 check if a widget has been updated [(i.e., that a new version of the
 widget package is available online)] via the widget.update() method,
 defined in the Widgets-API specification. This strategy also relies on
 the author having declared a update element in the widget
 configuration document, as it makes use of the URI to potentially
 retrieve an UDD and relay whether an update is available back to the
 instantiated Widget. **Actually performing the update is left to the
 discretion of the widget user agent.**


 JCD: this standards trick works if your aim is to have a patent on the
 highlighted point be judged as non-essential.
 There are a few points to check to ensure non-essentiality:
 - the language of the standard makes the feature a MAY (seems to be the
 case);
 - no test case uses the feature (should be easy too).
 However, if the implementations consistently implement the feature, they
 will infringe the patent and will get a call from the patent holder.

 It seems to me that this feature may end up as consistently implemented.
 There would then be a good case for the WG to spend some time on devising a
 proper workaround.
 Anyone sharing my opinion that the widget update feature will be consistenly
 implemented (even if optional) ?

widget.update() will be dropped from the spec. It serves no useful purpose.

Kind regards,
Marcos

-- 
Marcos Caceres
http://datadriven.com.au



Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-15 Thread Robin Berjon

Dear Jean-Claude,

On Jul 15, 2009, at 13:54 , Jean-Claude Dufourd wrote:

Marcos Caceres a écrit :


From the spec ...an author can request that a widget asynchronously
check if a widget has been updated [(i.e., that a new version of the
widget package is available online)] via the widget.update() method,
defined in the Widgets-API specification. This strategy also relies  
on

the author having declared a update element in the widget
configuration document, as it makes use of the URI to potentially
retrieve an UDD and relay whether an update is available back to the
instantiated Widget. **Actually performing the update is left to the
discretion of the widget user agent.**

JCD: this standards trick works if your aim is to have a patent on  
the highlighted point be judged as non-essential.


It's not a trick, but more importantly you're answering the beginning  
of a thread that has now moved on to entirely different conclusions.



There are a few points to check to ensure non-essentiality:
- the language of the standard makes the feature a MAY (seems to be  
the case);


But as you know variability in specification through optional features  
leads directly to a marked lack of interoperability. Therefore using a  
MAY here would be bad. Since anyway it was never the intent that an  
update occur when this method is called, and since an optional feature  
is by and large useless, this entire method has been dropped. This  
makes the point moot.



- no test case uses the feature (should be easy too).


Test cases are orthogonal since they are not normative.

However, if the implementations consistently implement the feature,  
they will infringe the patent and will get a call from the patent  
holder.


People are, of course, always free to infringe on any patent they  
wish. All we care about is that it is possible to implement in a  
sensible manner and without infringing. Given that we're dropping a  
feature that could look like self-updating but wasn't, this is a minor  
concern.


It seems to me that this feature may end up as consistently  
implemented.


If it is it won't be because of us since we've concluded that it's of  
little use and dropped it from the specification!


There would then be a good case for the WG to spend some time on  
devising a proper workaround.
Anyone sharing my opinion that the widget update feature will be  
consistenly implemented (even if optional) ?


You seem to be mixing up Widget Updates and the update() method, is  
that the case?


Also, the PAG has convened several times already and should produce  
its output in a timely manner. So yes the PAG has looked at the  
problem from a variety of angles (on which I won't comment since its  
operation is member-only) and when its conclusions are published they  
will be announced here.


--
Robin Berjon - http://berjon.com/
Feel like hiring me? Go to http://robineko.com/








Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-15 Thread Jean-Claude Dufourd

Dear Robin,

Thanks for your email.

Robin Berjon a écrit :


There would then be a good case for the WG to spend some time on 
devising a proper workaround.
Anyone sharing my opinion that the widget update feature will be 
consistenly implemented (even if optional) ?


You seem to be mixing up Widget Updates and the update() method, is 
that the case?
JCD: I understood the widget.update() method being discussed to be the 
scripted version of the Widget Updates mechanism.

Please tell me if I am wrong. The current draft seems to still say that.
And I am really not sure that a script-triggered version of the update 
mechanism can be discarded off-hand.

Best regards
JC

PS: test sequences may be informative, but their content defines what is 
tested for normative behavior, so if a feature is tested in a sequence, 
it will appear normative to lawyers, even if the text of the spec says 
otherwise.


--
JC Dufourd
Groupe Multimedia/Multimedia Group
Traitement du Signal et Images/Signal and Image Processing
Télécom ParisTech, 46 rue Barrault, 75 013 Paris, France 






Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-15 Thread Marcos Caceres



On 7/15/09 5:56 PM, Jean-Claude Dufourd wrote:

Dear Robin,

Thanks for your email.

Robin Berjon a écrit :



There would then be a good case for the WG to spend some time on
devising a proper workaround.
Anyone sharing my opinion that the widget update feature will be
consistenly implemented (even if optional) ?


You seem to be mixing up Widget Updates and the update() method, is
that the case?

JCD: I understood the widget.update() method being discussed to be the
scripted version of the Widget Updates mechanism.


No. Read the spec. It says it's just a way of checking if an update is 
available (by asking the UA to check) and _not_ a way for a widget to 
update itself. Apples and oranges, as they say! (no pun intended)



Please tell me if I am wrong. The current draft seems to still say that.


You are wrong. The current draft does not specify anything normative 
about the behavior of widget.update().



And I am really not sure that a script-triggered version of the update


There has _NEVER_ been a script-triggered version of the update or any 
such functionality specified by the Working Group. To imply otherwise is 
misleading.



mechanism can be discarded off-hand.


Yes it can: I discarded it from the spec.

The point is moot. The issue has been resolved. Widget.update() does not 
exist (and has absolutely nothing to do with the PAG or whatever: 
widget.update was deemed useless by the Working Group long ago. We've 
just been too busy to publish a new draft without widget.update()).


So, please stop bringing up this closed issue.

As the Working Group awaits the findings of the PAG on how to proceed 
with Widget Updates, I find it inappropriate that you continue to 
discuss this matter here.


Once the PAG findings are made public, and the WG has a chance to 
respond and act, then, if you have concerns, raise them here.


Kind regards,
Marcos



Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-06 Thread Robin Berjon

Hey Marcos,

On Jun 30, 2009, at 11:24 , Marcos Caceres wrote:

The purpose of widget.update() is/was _not_ to  update the widget in
any meaningful way:
(...)
In other words, it was/is a means to for a widget to ask the Widget
User Agent if an update is available from the remote location
addressed by the update element's href attribute (so, really it should
have been called checkForUpdate() or updateInfo = new
UpdateChecker(), which the example begins to elude to). As it says in
the spec, _actually performing the update is left to the discretion
of the widget user agent._


Thanks for the clarification. This however does not strike me as  
something that is vitally useful. Is there really a strong use case  
backing this? I'd much rather see updates entirely handled by the UA  
(with or without the sulphurous smell coming from Apple when one  
mentions this topic) as they are generally in a better position to  
handle this correctly (from within the UA context we'd have to handle  
the fact that it might clash with access, that the response isn't  
boolean, etc. and people would likely get that wrong, were they to use  
this feature).


--
Robin Berjon - http://berjon.com/
Feel like hiring me? Go to http://robineko.com/








Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-06 Thread Robin Berjon

On Jul 6, 2009, at 16:07 , Marcos Caceres wrote:

On 7/6/09 3:35 PM, Robin Berjon wrote:

On Jun 30, 2009, at 11:24 , Marcos Caceres wrote:
The purpose of widget.update() is/was _not_ to update the widget  
in

any meaningful way:
(...)
In other words, it was/is a means to for a widget to ask the Widget
User Agent if an update is available from the remote location
addressed by the update element's href attribute (so, really it  
should

have been called checkForUpdate() or updateInfo = new
UpdateChecker(), which the example begins to elude to). As it  
says in

the spec, _actually performing the update is left to the discretion
of the widget user agent._


Thanks for the clarification. This however does not strike me as
something that is vitally useful.


What's this?


Sorry, by this I mean the ability for a widget to check if there  
exists a new version of itself. I can see value in the UA doing that  
on its own, at intervals and criteria (not if I'm roaming, more often  
if it crashed recently, etc) that can be set by the user. The UA would  
then provide a consistent UI indicating that an update is available  
and getting permission from the user (or just doing it, if allowed to  
do so).


The value in allowing authors to add blink color='red'Update!/ 
blink seems rather limited to me, is what I'm saying.


--
Robin Berjon - http://berjon.com/
Feel like hiring me? Go to http://robineko.com/




Re: Widgets PAG seeks feedback on Widget Updates spec

2009-07-06 Thread Marcos Caceres



On 7/6/09 4:47 PM, Robin Berjon wrote:

On Jul 6, 2009, at 16:07 , Marcos Caceres wrote:

On 7/6/09 3:35 PM, Robin Berjon wrote:

On Jun 30, 2009, at 11:24 , Marcos Caceres wrote:

The purpose of widget.update() is/was _not_ to update the widget in
any meaningful way:
(...)
In other words, it was/is a means to for a widget to ask the Widget
User Agent if an update is available from the remote location
addressed by the update element's href attribute (so, really it should
have been called checkForUpdate() or updateInfo = new
UpdateChecker(), which the example begins to elude to). As it says in
the spec, _actually performing the update is left to the discretion
of the widget user agent._


Thanks for the clarification. This however does not strike me as
something that is vitally useful.


What's this?


Sorry, by this I mean the ability for a widget to check if there
exists a new version of itself. I can see value in the UA doing that on
its own, at intervals and criteria (not if I'm roaming, more often if it
crashed recently, etc) that can be set by the user. The UA would then
provide a consistent UI indicating that an update is available and
getting permission from the user (or just doing it, if allowed to do so).

The value in allowing authors to add blink color='red'Update!/blink
seems rather limited to me, is what I'm saying.


Ok, I'm with you now. Yes, I agree it's a bit useless. Besides, the same 
thing can be easily done with XHR if need be. I say we kill 
checkForUpdate() as it gives back no useful info.





Re: Widgets PAG seeks feedback on Widget Updates spec

2009-06-30 Thread Marcos Caceres
On Mon, Jun 29, 2009 at 10:46 PM, Robin Berjonro...@berjon.com wrote:
 Hi,

 sorry, I hadn't seen that this was also posted publicly.

 On Jun 29, 2009, at 20:23 , Arthur Barstow wrote:

 The current Widgets-update Specification
 http://dev.w3.org/2006/waf/widgets-updates/
 contains in 12.3 a description on how a widget could update
 itself by a javascript calling the widget.update() method

 I wanted to know how important this feature is to the group
 and how likely it will be that it will find widespread use.
 The goal is to assess whether it is worthwhile to circumvent
 the patent also for this self-update feature, which will
 be a little bit harder than the circumvention for the rest
 of the Specification.

 My personal and non-legal opinion on this topic is that that feature simply
 does not exist.

 It is mentioned in an example which by definition is not normative (section
 1 Conformance further notes Everything in this specification is normative
 except for diagrams, examples, notes and sections marked as informative and
 the section itself starts with This section is informative.) It is not
 defined by Widget Updates and it is not defined by Widget APIs and Events.

 Furthermore my understanding is that this is the only part of the
 specification that could possibly infringe Apple's patent, which means that
 the specification in fact doesn't since that feature is not a part of it (or
 any other).

 We can more than very easily drop the example, and in fact the entire
 section since it is entirely incorrect.


The purpose of widget.update() is/was _not_ to  update the widget in
any meaningful way:

From the spec ...an author can request that a widget asynchronously
check if a widget has been updated [(i.e., that a new version of the
widget package is available online)] via the widget.update() method,
defined in the Widgets-API specification. This strategy also relies on
the author having declared a update element in the widget
configuration document, as it makes use of the URI to potentially
retrieve an UDD and relay whether an update is available back to the
instantiated Widget. **Actually performing the update is left to the
discretion of the widget user agent.**

In other words, it was/is a means to for a widget to ask the Widget
User Agent if an update is available from the remote location
addressed by the update element's href attribute (so, really it should
have been called checkForUpdate() or updateInfo = new
UpdateChecker(), which the example begins to elude to). As it says in
the spec, _actually performing the update is left to the discretion
of the widget user agent._

So, to try to be crystal clear, here is how I thought this would work
wrt widget.update() when I created this thing (and more or less what
is eluded to in the spec):

1. Widget is running.
2. At some point in time, widget calls
widget.update(callBackFunction). (Note that this is just one of the
three strategies for _checking for the availability of an update_ (no
actual updating is performed) - other two strategies are handled
exclusively by the widget user agent, see spec).
3. Iff an update element is declared in the widget's config doc, and
has a valid href attribute, the Widget User Agent MAY check for
changes in the update description document (using http responses AND
checking the content of the UDD for changes).
4. If an update is available invoke callBackFunction with an object
describing the update.
5. If no update is available, invoke callBackFunction with an object
describing that no update is available.
6. Author notifies, via some modality (e.g., a sound, an alert, or
some visual means left up to the author), that an update is or is not
available for the widget.
7. The end user quits the widget.
8. The end user requests from the Widget User Agent to update the
widget (if update is available).
9. The widget user agent downloads the updated package from the
location identified by the  description document.
10. The widget user agent checks authenticity of package. If
everything is ok, then overrides the existing widget, but maintains
preference data. User agent MAY notify the end user that the widget
has been updated.
11. End-User restarts the widget.

So, I don't what would be achieved by removing widget.update() as it
doesn't actually do any updating. If anything, we need to redefine
widget.update() to make it more useful and powerful.

Kind regards,
Marcos

-- 
Marcos Caceres
http://datadriven.com.au



Re: Widgets PAG seeks feedback on Widget Updates spec

2009-06-29 Thread Robin Berjon

Hi,

sorry, I hadn't seen that this was also posted publicly.

On Jun 29, 2009, at 20:23 , Arthur Barstow wrote:

The current Widgets-update Specification
http://dev.w3.org/2006/waf/widgets-updates/
contains in 12.3 a description on how a widget could update
itself by a javascript calling the widget.update() method

I wanted to know how important this feature is to the group
and how likely it will be that it will find widespread use.
The goal is to assess whether it is worthwhile to circumvent
the patent also for this self-update feature, which will
be a little bit harder than the circumvention for the rest
of the Specification.


My personal and non-legal opinion on this topic is that that feature  
simply does not exist.


It is mentioned in an example which by definition is not normative  
(section 1 Conformance further notes Everything in this specification  
is normative except for diagrams, examples, notes and sections marked  
as informative and the section itself starts with This section is  
informative.) It is not defined by Widget Updates and it is not  
defined by Widget APIs and Events.


Furthermore my understanding is that this is the only part of the  
specification that could possibly infringe Apple's patent, which means  
that the specification in fact doesn't since that feature is not a  
part of it (or any other).


We can more than very easily drop the example, and in fact the entire  
section since it is entirely incorrect.


--
Robin Berjon - http://berjon.com/
Feel like hiring me? Go to http://robineko.com/