On Apr 29, 2008, at 6:52 PM, Ian Hickson wrote:
(With my rarely-used Google hat on:)
The Gears team has an API that allows authors to specify a set of
icons:
http://code.google.com/apis/gears/upcoming/api_desktop.html
They used a scripted API, but when I tried to get them to use a
declarative API, they said that the main reason they used a scripted
one
is that the declarative options didn't have a way to specify
dimensions.
This is a proposal to add "height" and "width" attributes to <link>
specifically for the case of rel=icon, so that authors can provide
multiple icons and let the UA decide which to use based on their size
(without having to download them all to find out which is best).
Opinions?
I think a way to specify multiple icons at different sizes is a good
idea. However, I do not think width and height attributes sufficiently
cover the available options. We need to be able to handle:
1) Scalable vector formats such as SVG or PDF. These work well at any
size. On some Linux desktop environments, SVG is used as a native icon
format.
2) Formats that include bitmaps at multiple sizes. These include the
Windows native ICO format and the Mac OS X native ICNS format. At
least for Mac OS X, the HI guidelines strongly recommend providing
multiple sizes for best integration with the system UI. It is possible
in theory for a UA to download multiple icons at different sizes and
build a multi-size file, but more network transactions is less
efficient.
Therefore, I think it needs to be possible to specify multiple sizes,
or to specify that an icon is scalable and thus usable at any size.
I would suggest a sizes attribute which can take a list of sizes (with
x as a width/height separator), or a keyword such as "any" or
"scalable" to indicate a scalable format suitable for any size.
<link type="icon" type="application/svg" sizes="any" href="whatwg.svg">
<link type="icon" type="image/microsoft.vnd.icon" sizes="16x16 32x32"
href="whatwg.ico">
<link type="icon" type="image/x-apple-icons" sizes="16x16 32x32 64x64
128x128 256x256 512x512" href="whatwg.icns">
<link type="icon" type="image/png" sizes="59x60" href="whatwg.png">
Regards,
Maciej