Copyright © 2008, 2009 Arndt Roger Schneider
Designing icons is never an easy task. No icon inside a Graphical User Interface stands alone. Any icon is surrounded by other icons. Thus an icon can never be designed by itself. Most icons are based on a real-world metaphor, such as a floppy-disk for "Save". These metaphors often become extinct. As with the floppy-disk example. Forcing the user to learn another computer-idiosyncratic symbol.
Designing an icon-set for an application is similar to crafting a font. The art of printing is interwoven with font design. There are extremely few font designers in the entire history of printing. Font design has a huge inherent complexity, which requires to test and combine various glyphs with each other. An icon-set burdens similar demands on the designers. And all to often the designer lacks the necessary skills. Creating a font means to repeat certain characteristics in each glyph, and above all to design them for being a part of an icon-set.
Font design is always devoid of colour, which is helpful during designing an icon-set,too. The first design phase can thus concentrate on »shape«, »outline«, »white space« and repeating characteristics for each »glyph«.
For Goolbar and Gstripes everything needed is done at this point. You may deploy the resulting glyph as you see fit, and do not have to care about »resolution« or »colour« anymore.
As a bonus, drawing the icon-set is incredible fast. The font renderer are the fastest vectorization frameworks inside of software. It is faster to render a font then mapping an image on screen. This is due to the memory footprint of images. Not the CPU or GPU determine the speed of an excessively bitmapped interface, the memory does.
Well, »glyph«s are monochrome and perhaps the application needs some spot-colour to lighten things a bit –or just for marketing reasons.
Then it is time to create a vector. Currently there are two vector types possible a) based on Tk canvas. And b) based on TkZinc 3.3.6. These vector types are not compatible to each other. In addition, TkPath can be used inside a Tk canvas, and is strongly recommended –forget about quality when designing vectors inside of a vanilla Tk canvas!
TkZinc 3.3.6 vectors are supported through the Zoolbar, only.
Don’t use transformations with TkPath 0.2 based vectors. Transformations are only applicable with the successor TkPath 0.3 –requires a local coordinate system for each object.
TkPath 0.3 introduces »groups«. A vector should be founded on a group. Only the group shall receive the provided tags. Any element inside the group must not use the provided tags. Transformations can be used on elements inside the vector-group –not on the founding group.
Colour is a powerful design tool, and can destroy a design! Try to use the same spot colour in your icon-set. Perhaps, two spot colours! Otherwise rely on gradients and shading of these spot colours to differentiate certain aspects.
The BLT package features vector images based on Encapsulated PostScript®. Consider using BLT, whenever the application requires it anyway.