Re: Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-19 Thread Dominique Hazael-Massieux
Le samedi 17 septembre 2011 à 10:30 +0100, Marcos Caceres a écrit :
 shortcut: if you want to (incorrectly, IMO) continue to lump widgets
 and app cache, then do so making it clear that this is just one of the
 use cases for widgets and certainly NOT the primary use case…

My document focuses on technologies available to build client-side Web
applications for mobile devices; the 52 specifications that the document
mentions have all use cases that go well beyond that use case, but I
don't think the document would win in usefulness or clarity by stating
so for each of these specifications.

  And please add a separate section just for Widgets in your document
 that explains the other cases.  

If by the other cases, you mean:

 They have been used as server side applications, standalone
 applications, daemons, and as an extension format.  

Server-side applications, daemons, and browser extensions are clearly
out of scope of the document, so I don't think it would make sense to
list them.

 I agree that there are similarities and overlap for this *one* use
 case; but again, the use cases of Widgets are far greater than
 ApplicationCache. To lump them together waters Widgets down to a
 confusing equivalent to AppCache.

The document specifically says that the two approaches are complementary
(not redundant), and summarizes what the two technologies provide.

I don't see why having them in the same section would mean they're
equivalent (again, no more than having SVG and CSS in the same section
would mean they're equivalent).

If you think the current description doesn't convey clearly enough the
differences between the two approaches, I'll be happy to review a better
description (either in reply to this mail, or directly in the wiki
http://www.w3.org/wiki/Standards_for_Web_Applications_on_Mobile ).

Dom






Re: Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-19 Thread Marcos Caceres


On Monday, September 19, 2011 at 10:06 AM, Dominique Hazael-Massieux wrote:

 Le samedi 17 septembre 2011 à 10:30 +0100, Marcos Caceres a écrit :
  shortcut: if you want to (incorrectly, IMO) continue to lump widgets
  and app cache, then do so making it clear that this is just one of the
  use cases for widgets and certainly NOT the primary use case…
  
 My document focuses on technologies available to build client-side Web
 applications for mobile devices; the 52 specifications that the document
 mentions have all use cases that go well beyond that use case, but I
 don't think the document would win in usefulness or clarity by stating
 so for each of these specifications.
That's fine, but please make that clear - it is not clear enough in the 
introduction. I.e., just adapt what you say above and put it in the 
introduction:  

[[
This document focuses on technologies that may aid in the development of 
client-side Web applications for mobile devices; the specifications that the 
document mentions have all use cases that go well beyond the mobile application 
use case. For example, in addition to aiding in the development of client-side 
Web applications for mobile devices, W3C Widgets have been used as server 
side-applications, standalone applications, daemons, and as a Browser extension 
format. Similarly, [SVG] ...
]]

You can fill out the SVG bit or pick some other technology.  

   And please add a separate section just for Widgets in your document
  that explains the other cases.  
  
 If by the other cases, you mean:
  
  They have been used as server side applications, standalone
  applications, daemons, and as an extension format.  
  
 Server-side applications, daemons, and browser extensions are clearly
 out of scope of the document, so I don't think it would make sense to
 list them.
With a more clear understanding of what you are trying to achieve, I agree.  
  
  I agree that there are similarities and overlap for this *one* use
  case; but again, the use cases of Widgets are far greater than
  ApplicationCache. To lump them together waters Widgets down to a
  confusing equivalent to AppCache.
  
 The document specifically says that the two approaches are complementary
 (not redundant), and summarizes what the two technologies provide.
  
 I don't see why having them in the same section would mean they're
 equivalent (again, no more than having SVG and CSS in the same section
 would mean they're equivalent).
  
 If you think the current description doesn't convey clearly enough the
 differences between the two approaches, I'll be happy to review a better
 description (either in reply to this mail, or directly in the wiki
 http://www.w3.org/wiki/Standards_for_Web_Applications_on_Mobile ).
  
 Dom





Re: Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-17 Thread Marcos Caceres
shortcut: if you want to (incorrectly, IMO) continue to lump widgets and app 
cache, then do so making it clear that this is just one of the use cases for 
widgets and certainly NOT the primary use case… And please add a separate 
section just for Widgets in your document that explains the other cases.  

… now, more bla bla :)  

On Friday, 16 September 2011 at 16:00, Dominique Hazael-Massieux wrote:  
 Le vendredi 16 septembre 2011 à 21:36 +0700, Marcos Caceres a écrit :
   I think they are actually not so different, and share many use cases.
   
  Ok, I strongly object in the strongest of terms to them being put together 
  and I'm more than happy to debate any argument you might have for lumping 
  them together. Here we go :)  
  
 Well, you are on the program committee of an upcoming workshop that
 lumps them together:
There is nothing at the workshop that lumps them together (certainly nothing of 
any authority). The point of the workshop is to identify the differences, 
because, evidently, people are still confused. From the workshop:  

The current fragmentation in this solution space is creating confusion among 
would-be WebApp developers and organizations who would otherwise invest in the 
Open Web Platform. -- http://www.w3.org/2011/web-apps-ws/

I fear that document's like yours, which lump App Cache and Widgets together, 
don't help the situation (which is why we are having this discussion, which has 
brought out annoyed Marcos again).  

  As mentioned above, the World Wide Web Consortium has already
  developed standards to facilitate the development of off-line
  Web applications:
  the HTML 5 Working Group's Application Cache;
  the Web Applications Working Group's Packaging and XML
  Configuration.
 http://www.w3.org/2011/web-apps-ws/
That is consequential. Widgets are a general packaging format and one of its 
use cases is off-line web applications. But that is just one. They have been 
used as server side applications, standalone applications, daemons, and as an 
extension format.  

I think if you asked Mozilla, or Google, or Apple, or Opera, if their extension 
formats are off line web applications you would get a strange look. If you 
ask extension developers, I wonder what they would say?  
   ApplicationCache can be used to group a bunch of HTML, CSS and JS files
   that constitue an installable application (e.g. the way the iOS safari
   browser let you save to your homescreen an offline Web app when an
   application cache is present).
   
  I'm sorry, but that has absolutely nothing to do with Application cache. 
  It's done like this:  
   
  link rel=apple-touch-icon href=/icon.png
  
 Sure, that bits helps for having an icon on the homescreen; it's fair to
 say that rel=apple-touch-icon (and its standard equivalent rel=icon
 with the sizes attribute) completes ApplicationCache in matching the
 features that widget packaging provides.
I very much doubt the HTML WG looked to copy whatever features Widgets have. 
It's mere consequence. I also didn't do the reverse. We got to a similar place, 
but along a different path. And again, AppCache does not match the features 
that widget packaging provides. They are apples and oranges. The day I can put 
an app-cached application on a USB disk, or email it to you, then maybe the 
above would be a valid statement.  

 But without the application cache, your nice and shiny icon won't load
 anything if you're not connected;
Some apps are not made for offline, not should every web page be built for 
off-line. It's pretty rare to be offline on an iPhone.  
 link rel=apple-touch-icon is the
 equivalent to icon in config.xml, where ApplicationCache is the list
 of files encoded in the Zip file.
I agree that there are similarities and overlap for this *one* use case; but 
again, the use cases of Widgets are far greater than ApplicationCache. To lump 
them together waters Widgets down to a confusing equivalent to AppCache. This 
is confusing people because then they will think oh, that's widget thing is 
just a stupid way of doing app cache' and that is just wrong. No one that I 
know of is doing both.  

Again, the purpose of widgets is a general packaging format: not offline web 
applications - that is just _one_ of an number of use cases for which widgets 
have been used for. Until AppCache is extended to do more than it does at the 
moment, they remain separate things.  

ApplicationCache is cache control thing: it does not package a Web
Application; just makes some resources available from the cache
(potentially for off-line use). The end user has not control over it
and the author can shut it off at any point.

   The end user *could* have control over it if the user agent let her (the
  But the user agent doesn't let her, because he is mean. And I don't
  think that is the way the spec was written (though I need to check).
  But I doubt the spec says anything about that, as it seems the author
  is king in that 

Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-16 Thread Dominique Hazael-Massieux
Hi Marcos,

Le samedi 03 septembre 2011 à 22:47 +0200, Marcos Caceres a écrit :
[sorry for the delay in responding]

 Thank you for continuing to keep the document up to date. This document is 
 very helpful.  

Thanks!

 I have request: can you please ungroup Widgets and HTML's
 ApplicationCache? They are conceptually different things and have
 different use cases.

I think they are actually not so different, and share many use cases.

 Widgets are a way to zip up a bunch of HTML, CSS, and JS files that
 constitute an installable application (or some such). That is,
 something someone might want to distribute to keep.  

ApplicationCache can be used to group a bunch of HTML, CSS and JS files
that constitue an installable application (e.g. the way the iOS safari
browser let you save to your homescreen an offline Web app when an
application cache is present).

 ApplicationCache is cache control thing: it does not package a Web
 Application; just makes some resources available from the cache
 (potentially for off-line use). The end user has not control over it
 and the author can shut it off at any point.

The end user *could* have control over it if the user agent let her (the
same way a widget user agent could also automatically remove widgets
that their authors wish to retract). I don't think there is anything
fundamental is the underlying technologies that prevent or facilitate
that particular use case.


 IMO, keeping them together will lead to confusion. The use cases are
 different: a widget can embed content that uses ApplicationCache, as
 well as load in proprietary APIs (e.g., WAC).

Surely a Web-applicationcached app could also load proprietary APIs. And
an application cache could also have a widget as part of its list of
cacheable resources.

  It can be used for defining other classes of applications and formats
 (e.g., Opera Extensions).

I can also imagine using ApplicationCache to do that.

Widgets and ApplicationCache differ in some ways (e.g. the security
model of widgets is different, widgets currently don't have an origin,
etc), but I still don't see how they would fundamentally address
different use cases.

Dom





Re: Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-16 Thread Marcos Caceres
Hi Dom,  

On Friday, 16 September 2011 at 19:55, Dominique Hazael-Massieux wrote:  
 Hi Marcos,
  
 Le samedi 03 septembre 2011 à 22:47 +0200, Marcos Caceres a écrit :
 [sorry for the delay in responding]
  
  Thank you for continuing to keep the document up to date. This document is 
  very helpful.  
  
 Thanks!
  
  I have request: can you please ungroup Widgets and HTML's
  ApplicationCache? They are conceptually different things and have
  different use cases.
  
 I think they are actually not so different, and share many use cases.
Ok, I strongly object in the strongest of terms to them being put together and 
I'm more than happy to debate any argument you might have for lumping them 
together. Here we go :)  
  Widgets are a way to zip up a bunch of HTML, CSS, and JS files that
  constitute an installable application (or some such). That is,
  something someone might want to distribute to keep.  
  
 ApplicationCache can be used to group a bunch of HTML, CSS and JS files
 that constitue an installable application (e.g. the way the iOS safari
 browser let you save to your homescreen an offline Web app when an
 application cache is present).
I'm sorry, but that has absolutely nothing to do with Application cache. It's 
done like this:  

link rel=apple-touch-icon href=/icon.png
It's consequential that a web application is using app cache.  
  ApplicationCache is cache control thing: it does not package a Web
  Application; just makes some resources available from the cache
  (potentially for off-line use). The end user has not control over it
  and the author can shut it off at any point.
  
 The end user *could* have control over it if the user agent let her (the
But the user agent doesn't let her, because he is mean. And I don't think that 
is the way the spec was written (though I need to check). But I doubt the spec 
says anything about that, as it seems the author is king in that situation.  

 same way a widget user agent could also automatically remove widgets
 that their authors wish to retract).

There is no provision in any of the specs to do this. Certainly not by design, 
unlike HTML5.  

  I don't think there is anything
 fundamental is the underlying technologies that prevent or facilitate
 that particular use case.
It's clearly evil to do this (specially in the widget case, implying you do it 
with updates). Imagine if Microsoft decided one day to trash every user's copy 
of Windows through an update. Yeah, it's possible, but it just would not 
happen…. on the other hand, it seems to the norm with AppCache (as things are 
updated… though I have been in situations where I was locked out of an app, 
much to my annoyance).  
  IMO, keeping them together will lead to confusion. The use cases are
  different: a widget can embed content that uses ApplicationCache, as
  well as load in proprietary APIs (e.g., WAC).
  
 Surely a Web-applicationcached app could also load proprietary APIs.
How? What mechanism does a proprietary unpacked web application have to do 
this? And do you have any actual real examples of this happening in the wild?  
  And
 an application cache could also have a widget as part of its list of
 cacheable resources.
Sure, they could have bananas too and all sorts of hypothetical things too. But 
they don't.  
   It can be used for defining other classes of applications and formats
  (e.g., Opera Extensions).
  
 I can also imagine using ApplicationCache to do that.
You have a wild imagination :) I'm sure there is a good reason why no one has 
done it. In any case, the document is discussing concrete things, not imaginary 
things. Please base the document on real world things, not on things you 
imagine.  

 Widgets and ApplicationCache differ in some ways (e.g. the security
 model of widgets is different, widgets currently don't have an origin,

The do have an origin! It's called widget:// and it's an completely conforming 
origin: Please look up the definition of origin in the HTML5 spec.  

 etc), but I still don't see how they would fundamentally address
 different use cases.
If you don't understand widgets, then please read the specification, or take 
the Editor's word for it (I've been at this for 5 years, so I think I know what 
I am talking about when it comes to widgets) or please remove them from the 
document.  

Kind regards,
Marcos  




Re: Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-16 Thread Dominique Hazael-Massieux
Le vendredi 16 septembre 2011 à 21:36 +0700, Marcos Caceres a écrit :
  I think they are actually not so different, and share many use cases.

 Ok, I strongly object in the strongest of terms to them being put together 
 and I'm more than happy to debate any argument you might have for lumping 
 them together. Here we go :)  

Well, you are on the program committee of an upcoming workshop that
lumps them together:
As mentioned above, the World Wide Web Consortium has already
developed standards to facilitate the development of off-line
Web applications:
the HTML 5 Working Group's Application Cache;
the Web Applications Working Group's Packaging and XML
Configuration.
http://www.w3.org/2011/web-apps-ws/

  ApplicationCache can be used to group a bunch of HTML, CSS and JS files
  that constitue an installable application (e.g. the way the iOS safari
  browser let you save to your homescreen an offline Web app when an
  application cache is present).

 I'm sorry, but that has absolutely nothing to do with Application cache. It's 
 done like this:  
 
 link rel=apple-touch-icon href=/icon.png

Sure, that bits helps for having an icon on the homescreen; it's fair to
say that rel=apple-touch-icon (and its standard equivalent rel=icon
with the sizes attribute) completes ApplicationCache in matching the
features that widget packaging provides.

But without the application cache, your nice and shiny icon won't load
anything if you're not connected; link rel=apple-touch-icon is the
equivalent to icon in config.xml, where ApplicationCache is the list
of files encoded in the Zip file.

   ApplicationCache is cache control thing: it does not package a Web
   Application; just makes some resources available from the cache
   (potentially for off-line use). The end user has not control over it
   and the author can shut it off at any point.
   
  The end user *could* have control over it if the user agent let her (the
 But the user agent doesn't let her, because he is mean. And I don't
 think that is the way the spec was written (though I need to check).
 But I doubt the spec says anything about that, as it seems the author
 is king in that situation.  

I agree that the widget specs say a lot more on application management
than ApplicationCache (which more or less only deals with updates and
connectivity); but the applicationcache spec certainly doesn't forbid
user agents to do smart things with it, as the iPhone implementation
shows.

As far as I know, (at least) Mozilla is working on saving as Web
application, and I would be extremely surprised if they didn't use the
applicationcache when available to do that.

  same way a widget user agent could also automatically remove widgets
  that their authors wish to retract).
 
 There is no provision in any of the specs to do this. Certainly not by 
 design, unlike HTML5.  

Right; but knowing how application stores tend to have a remove-this-app
switch, I'd be surprised if many applications stores based on widgets
didn't have a similar ability.

   IMO, keeping them together will lead to confusion. The use cases are
   different: a widget can embed content that uses ApplicationCache, as
   well as load in proprietary APIs (e.g., WAC).
   
  Surely a Web-applicationcached app could also load proprietary APIs.

 How? What mechanism does a proprietary unpacked web application have to do 
 this? And do you have any actual real examples of this happening in the wild? 
  

ActiveX and other plugins seem to have provided this for quite some
time? Not to mention vendor-prefixed APIs?

   And
  an application cache could also have a widget as part of its list of
  cacheable resources.

 Sure, they could have bananas too and all sorts of hypothetical things too. 
 But they don't.  

Right, because that's not terribly useful. But you brought the fact that
one technology could embed the other, I didn't.

It can be used for defining other classes of applications and formats
   (e.g., Opera Extensions).
   
  I can also imagine using ApplicationCache to do that.

 You have a wild imagination :) I'm sure there is a good reason why no
 one has done it.

  In any case, the document is discussing concrete things, not
 imaginary things.

Right; the document is not discussing the fact that widgets can also be
used for creating browser extensions, or providing server-side lump of
content. It's discussing packaging web applications for offline usage.

  Please base the document on real world things, not on things you
 imagine.  

I don't think I'm imagining that both widgets and applicationcache
provide a way to package Web applications for users. At least, you still
haven't convinced me that they don't.

I don't think that lumping them together means they are the same
technology covering exactly the same use cases, otherwise my document
would also assert that SVG, canvas and CSS are the same.

  Widgets and ApplicationCache differ in 

Re: Widgets ApplicationCache (was: Standards for Web applications on mobile devices: August 2011 updates)

2011-09-16 Thread Scott Wilson

On 16 Sep 2011, at 13:55, Dominique Hazael-Massieux wrote:
 
 IMO, keeping them together will lead to confusion. The use cases are
 different: a widget can embed content that uses ApplicationCache, as
 well as load in proprietary APIs (e.g., WAC).
 
 Surely a Web-applicationcached app could also load proprietary APIs. And
 an application cache could also have a widget as part of its list of
 cacheable resources.
 
 It can be used for defining other classes of applications and formats
 (e.g., Opera Extensions).
 
 I can also imagine using ApplicationCache to do that.

I can imagine using all kinds of other things to do that. 

The point is, I don't want to, I want to use one standard way to do it along 
with all other companies in the space so we have a market, not a whole bunch of 
non-interoperating silos, and have a consistent message for users.

I don't really understand what the point is of putting these things together. 
Other than to annoy Marcos of course :)

 
 Widgets and ApplicationCache differ in some ways (e.g. the security
 model of widgets is different, widgets currently don't have an origin,
 etc), but I still don't see how they would fundamentally address
 different use cases.
 
 Dom