Live data from Hacker News

About those vector icons

pushing-pixels.org

21–30 of 41 posts

Re: About those vector icons

#21
But doesn't SVG support CSS Media Queries? That would make it more than possible to support showing/ hiding appropriate elements/ layers according to the current dpi, width/ height, orientation or whatever?

Re: About those vector icons

#22

Earlier quoted context omitted.

I agree it was a fascinating look at the problem. However, the assumption in the article is pixels. Let me sum up. Scaling artifacts occur because at smaller sizes the quantitization of the unit pixel overwhelms the details of the image. When I was a system programmer at the Image Processing Institute at USC (you know the source of that Lena picture :-) this was characterized as the frequency response of the display.…

> The second thing is that while a designer can poke pixels to get an icon that looks good, so can the computer. One of the things you can do is compute the frequency 'footprint' of the image, then change the render until the render foot print is as close as you can get to the original. HP did this for their ink jet printer half-toning algorithm. In a 16 x 16 pixel space you could almost exaustively search it on a mo…

http://www.dsi.unive.it/~auce/docs/celentano_spie97b.pdf

http://www.stanford.edu/~slansel/tutorial/Papers/Donoho/Imag...

Are exemplar uses of the FFT to analyze the signature and content of an image. Since a lot of work on this was done in the 80's I would expect some good summaries in the current texts on image processing.

Re: About those vector icons

#23
The answer is to use HTML5 canvas instead of SVG, and create your icons as a JavaScript algorithm. Canvas code can become vector if you utilize the scale() function. I've done this for the icons in one of my web apps and it's a superb solution.

If there was some way to export a vector drawing as a JavaScript algorithm, or some semi-standard way to process an SVG image to Canvas then it'll become the defacto icon solution for the forseeable future.

Re: About those vector icons

#24

Isn't this a little bit of inefficient over-optimization. Sure auto scaled vectors look more blurred than hand made bitmaps. But the important question is: do normal people even notice the difference in today's screens? At the end of the post, the author concludes that not yet. But he doesn't seem to back it up. And I don't mean to back it up by comparing vector and manual icons for videophile designers. But actually…

It depends what you are showing. Seriously some stuff just has too much detail and. Less detailed version works better - was doing this for a logo the other day and there were three versions for different scales; all worked well but the larger ones were closer to the full logo.

Oddly the .ico format allows different versions for different resolutions, unlike most ther formats.

Re: About those vector icons

#25

Long but good article. Glad he got into (and linked to the excellent article about) font hinting, because that is of course the solution. A simple vector format is not enough, you need to define what parts should scale how, which are rigid, which are elastic. I don't think higher resolution displays actually help, because the real limitation becomes the human eye. Though the new display could use the 'old' normal siz…

I agree it was a fascinating look at the problem. However, the assumption in the article is pixels. Let me sum up. Scaling artifacts occur because at smaller sizes the quantitization of the unit pixel overwhelms the details of the image. When I was a system programmer at the Image Processing Institute at USC (you know the source of that Lena picture :-) this was characterized as the frequency response of the display.…

Author of the article here.

If you read the closing paragraphs of the article, you will see that I do talk about the physical size of the final representation of the pixel-based icon. However, just because you can use more pixels on higher-resolution displays, it does not mean that you can just take a highly detailed vector artwork and display it.

Being able to display very intricate details for each icon is not necessarily the end goal. The end goal is to preserve the clarity, which is why smaller icons (physically, not pixelwise) should have smaller amount of detail compared to larger ones.

In your example, a 128x128px icon that occupies the same physical size on an extra-high DPI screen as a 16x16px icon on a lower-end screen can (mathematically) have 8 times as much detail along each axis. Just because this is possible to do without losing the signal quality on the level of individual pixels, does not mean that it is desirable from the UX / UI perspective.

Re: About those vector icons

#26

Oxygen icons (by KDE project) use SVG for all sizes of icons. Here is an example: http://wstaw.org/m/2012/03/18/plasma-desktopA20554.png (The icon on the left is suited for 16x16 size. The icon in right is the same icon, just suited for larger scales) I think this scheme is supported by FreeDesktop.org's Icon Theme Specifications and other icon theme's used on Linux desktops (like Tango) use the same scheme.

Indeed, in that they have multiple SVG versions of the same icon (name) for smaller pixel sizes - 16x16, 22x22, 24x24, 32x32 - the last time I checked.

Re: About those vector icons

#27
Great, detailed post. I think situations exist today where vector icons can be a good solution; however, the promise of design once, deploy everywhere for artwork and UI that requires attention to every detail ... the rendering/display tech is not yet available at scale.

I think an orthogonal challenge is convincing cross-functional peers that visual execution and all of the design details have a huge affect on the user experience, the product, and therefore the business. In my experience, it's rarely a straight-forward or painless debate.

Re: About those vector icons

#29

Earlier quoted context omitted.

I agree it was a fascinating look at the problem. However, the assumption in the article is pixels. Let me sum up. Scaling artifacts occur because at smaller sizes the quantitization of the unit pixel overwhelms the details of the image. When I was a system programmer at the Image Processing Institute at USC (you know the source of that Lena picture :-) this was characterized as the frequency response of the display.…

Author of the article here. If you read the closing paragraphs of the article, you will see that I do talk about the physical size of the final representation of the pixel-based icon. However, just because you can use more pixels on higher-resolution displays, it does not mean that you can just take a highly detailed vector artwork and display it. Being able to display very intricate details for each icon is not nece…

You're right that in a world with varying pixel densities, it's not enough to just design an icon for a given pixel size. But physical size isn't the right design target either. An icon designed for a given physical size on a display close to the user's eyes won't work if the display is much further away.

So when you go from thinking about pixel size to thinking about physical size, you're going in the right direction, but you're not going far enough. The relevant metric is more like "the angle subtended at the user's eyes", kinda like how the "CSS pixel" unit works.

Now, given that it's almost impossible for software on the device to know how far away the user is, trying to design up front for that metric (angle subtended by the icon) is also almost impossible.

And even if you did know both the pixel density and the distance to the display, that still doesn't take into account the fact that users will vary in their visual acuity. The right design choice for a 20-year-old user holding the display close to their face is going to be dramatically different from the right choice for a 70-year-old holding the display at arms length.

You can't really design well for all those possibilities up front. The right answer has to involve allowing the user to adjust the "zoom level" to their liking. And that level of flexibility means that automated approaches (possibly something like freetype's autohinting, extended to work in color) are probably going to be a better approach than manual pixel tweaking.

Re: About those vector icons

#30

The very meaning of the term “icon” implies a non-literal representation, and since there is no automatic way to transform high-res representation to low-res caricature, you end up with vector artists doing horrendous pixel art. Pixel art is a very different medium from what they’re used to, and there are specific techniques that they haven’t learned, largely because they don’t even know such techniques exist. They d…

Do you have any resources for beginners you recommend? (I'm not a designer -- just have a certain fondness for dying media, I guess.)
Post reply on HN