- From: Marcos Caceres <m.caceres@qut.edu.au>
- Date: Sat, 24 Feb 2007 20:49:29 +1000
- To: "Stephen Paul Weber" <singpolyma@gmail.com>
- Cc: arveb@opera.com, public-appformats@w3.org
- Message-ID: <b21a10670702240249n6e09be31rf970ce55674231bb@mail.gmail.com>
Hi Stephen, Thanks again for your thoughts... On 2/24/07, Stephen Paul Weber < singpolyma@gmail.com> wrote: > > So I just found the requirements page < http://www.w3.org/TR/WAPF-REQ/ > > and some things make more sense now. Doesn't change my earlier > thoughts, just clarifies some other things. That document has been superseded. Please see [1] instead. <http://www.w3.org/TR/2007/WD-widgets-reqs-20070209/> One question I had was why ZIP is/was chosen? Why not one of the (I > am tempted to say more open?) compression formats such as TAR+GZIP or > just TAR? Maybe I'm missing something. All the widget engines that we looked at support Zip (see appendix of widget reqs for a list of engines we looked at). Zip is also supported in the mobile space, so it seems like the logical choice. Also, it is not easy for a windows user to make a tar.gz files as the format is not natively supported. That would go against our design goals (particularly ease of use) and would not meet requirement 3: "Free and Widely Available Packaging Format". >From the requirements doc : "The APIs that authors can use to > programmatically access..." > Is the list there given considered an exhaustive list of what may be > treated by the spec? Much of what is there is not mentioned in the > draft. Preferences is a nice thing, but what about non-preference > data? Is that to be treated or not? Is there a place for widgets to > be able to launch other widgets or dialogs, etc? The list in not exhaustive and its at risk because of the degree of divergence in widget APIs. We are trying to define the core of widgets without interfering with platform specific stuff. Can you please give an example of non-preference data and why a developer would want to include that in a manifest? Seems to me that any data would be either downloaded (using xhr), or put somewhere inside the widget's scripts (eg. an array of data to populate a drop down list). Also, what do you mean by dialogs? Do you mean like javascript "confirm()"? or some kind of floating (div) element with a bunch of options, or the settings (html) files currently by Sidebar? How is extensibility on this? Obviously any JavaScript (ECMAScript) > stuff can be extended by using <script src="..." /> tags to include > other APIs. I assume we're allowed to extend the manifest XML with > namespacing? Regarding the script element, it depends on the UI language being used. Not all widget engines support the HTML DOM. Regarding extensions through namespaces, maybe. Depends on what manifest language we come up with. >From the requirements doc : "The packaging format should support > optional data compression to make packages smaller." -- the spec > doesn't make it sound too optional. Can one just use a folder of > files then? A "should" requirements is fairly strong. Please see [2] for a definition of "should". However, some widget engines, such as Konfabulator, have experienced issues with regards to performance when dealing with (Zip) compressed widgets (see flat-file format in [3]). I imagine this is probably worst on mobile devices. >From the requirements doc (R20) : "XML is generally excepted and > understood by..." -- I assume that's meant to be "accepted"? Woops, thanks! :) You have documented many desktop-based systems (which I had now come > to expect from this spec), but you then included AOL Modules... If > you are referencing one online system, why not others (such as > netvibes and live.com) perhaps they're not identical, but they're > closely related systems. Again, I may be missing something. > > Anyway, just thoughts :) > AOL's modules were dropped from the the latest draft of the requirements document. I know AOL are working on some other widget engine, but I can't remember what it is called (boxy or something?) We are still looking at live.com and we may include it in the next release of the document. Web widgets (widgets that are embedded into web pages, like live.comwidgets, wordpress widgets, etc) are included into the HTML without needing any special security permissions, APIs, and such. Hence, and we can argue about this, they are not "widgets" as are defined by the widget requirements document or by the widgets 1.0 spec. Web widgets are more like "interface widgets" or interface elements in the classical sense [4] and hence are just normal parts of a web page. For example, I can make a web "widget" by simply doing the following inside a html document and adding some script: <div id="myFancyWidget"> .... </div> Even if I get my RSS-based configuration for the "widget" through XHR, and dynamically bind scripts or whatever, it is still just another set of elements inside a HTML document. Ie. in reality, the browser is still the same, security model still the same, the web document is still the same, so there is really nothing new. Hence, IMHO,web widgets are just a kind of metaphor for widgets that run on widget engines. Widgets that run on widget engines, on the other hand, do change the security model, do need their own special APIs, and do have other specific requirements that are beyond web widgets. Kind regards, Marcos [1] http://www.w3.org/TR/2007/WD-widgets-reqs-20070209/ [2] http://www.ietf.org/rfc/rfc2119.txt [3] http://widgets.yahoo.com/gallery/dl_item.php?item=WidgetEngineReference_3.1.1.pdf [4] http://www-ftp.lip6.fr/pub/distributed_systems/athena/xtk.PS.gz -- Marcos Caceres http://datadriven.com.au
Received on Saturday, 24 February 2007 10:49:36 UTC