Re: [WIDGETS] Zip Support (request for comments)

Hi Jon,

> The IDPF went through all of the issues about how to standardize an
> appropriate subset of ZIP and has an approved specification. Look at (http://www.idpf.org/ocf/ocf1.0/download/ocf10.pdf)
> and go to section 4.
>
The current draft of the Widgets spec's zip text is heavily based on section
4 OCF, but I'm concerned that OCF's ZIP requirements are incompatible with
the Widgets 1.0 design goals [1] (more details below).

>  I see that you want to disallow the ZIP64 extension, but a 4G limitation
> seems rather small these days. I realize that W3C Widgets are usually meant
> for lightweight things that can download quickly, but W3C should be defining
> orthogonal, reusable technologies that will be suitable for a long time.
> Also, I would argue that any ZIP container capabilities belong in a separate
> specification (that supports 64 bits). The widget specification then could
> refer to this separate ZIP specification (perhaps even the IDPF spec) and
> then say that 64-bit support is not required in conformant desktop widget
> clients.
>
Sorry, I'm not sure what you mean by a "4G limitation"?

I am not against ZIP64, and may change the spec to allow its usage if more
people want it and vendors say they are going to support it; I'm also not
adverse to the idea of modularizing the packaging section, but we need to
resolve the technical issues first. Regarding ZIP64, I have not seen any
native implementations of Zip64 support in any of the OSs or in the mobile
space (Java, Symbian). But then, if we allow ZIP64, then I think that
mandates that widget engines support the Deflate64 compression algorithm to
get any benifit (I need to check the relationship between Zip64 and
Deflate64). In addition, if widget engines are relying on native OS/Platform
implementations of Zip to do the decompression, then it seems overly
restrictive to ask them to implement ZIP64 in order to be considered
conformant (as OCF does on its reading systems).

Additionally, there are a few oddities that make OCF incompatible with our
design goals for Widgets 1.0 (see requirements document [1] for a list of
design goals). For example, having to have the "mimetype" file as the first
file in the archive seems overly restrictive (and the fact that it has to be
set to the OCF media type in order to be conformant). Such a requirement,
IMHO, goes against our "ease of use" design goal. According to OCF, the
mimetype file must be encountered at the 30th byte of the Zip archive. This
would make creating widgets by hand extremely annoying, particularly if you
don't have control over the order in which files get added to the Zip
archive.

> But more fundamentally, I'm not fully convinced that version 1.0 of the
> Widgets spec has to include ZIP packaging. For example, it looks to me like
> neither Google Gadgets nor Vista Gadgets create a single-file package. This
> makes me suspicious about whether ZIP packaging is a requirement.
>
I think you are confusing iGoogle Gadgets with Google Desktop Gadgets and
Microsoft Live Gadgets with Windows Vista Sidebar Gadgets. Yes, iGoogle
Gadgets and Windows Live Gadgets don't require packaging because, as I have
previously pointed out (and is discussed in the Widgets 1.0 Requirements),
those "widgets" are just embedded into design document user HTML/CSS/JS
(they are a design pattern and not *technically* a "widget" under the
definition of the Widgets 1.0 Specification). Please see my last email [2],
which I am still hoping you will reply to.

To prove to you that Google Gadgets use Zip, let me quote for Step 6 of the
Google Desktop Gadget tutorial [3]:
"In this step, you create a .gg package — a ZIP archive of the files that
define your gadget's appearance and behavior. You can then double-click the
.gg file to run the gadget."

To prove to you that Window SideBar Gadgets use Zip, let me now also quote
from Microsoft's Vista Sidebar tutorial [4]:
"All of the content is stored in a ZIP file that is renamed with a .gadget
extension."

Hopefully that clarifies the confusion. See the Appendix of the
Widgets 1.0Requirements, where it shows that ALL relevant widget
engines support for ZIP for packaging.

Lastly, FWIW, the OCF spec has had a great influence on the Widgets 1.0 spec
and I will continue to align both specifications as closely to each other as
possible.

Kind regards,
Marcos

[1] http://www.w3.org/TR/widgets-reqs/
[2] http://lists.w3.org/Archives/Public/public-appformats/2007Sep/0013.html
[3] http://desktop.google.com/dev/Tutorials/RssGadget/index.html#1
[4] http://msdn.microsoft.com/msdnmag/issues/07/08/SideBar/default.aspx

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

Received on Thursday, 4 October 2007 05:37:56 UTC