Icon design is the process of designing a graphic symbol that represents some real, fantasy or abstract motive, entity or action. In the context of software applications, an icon often represents a program, a function, data or a collection of data on a computer system.
Icon designs can be simple, with flat two-dimensional drawing or a black silhouette, or complex, presenting a combination of graphic design elements such as one or more linear and radial color gradients, projected shadows, contour shades, and three-dimensional perspective effects.
Modern icons often have a maximum size of 1024 by 1024 pixels. The challenge of icon design is to create an image that is communicative, beautiful, and understandable, at every size from this maximum resolution down to the minimum resolution of 16 by 16 pixels. One of the most common and important examples of this are Application Icons, used to represent an app on Mac, Windows, Linux, or mobile platforms. These icons rely on unique and memorable metaphors as a form of product branding. Other common uses of icons include favicons, toolbar icons, and icons for buttons or controls.
There are three main approaches in defining pictograms. The first and the most desirable in icon design practice is using conventional images. If there is no conventional pictogram for the particular icon, a designer can use a literal image, including an image that is shared by the main concept (for example printer is shared image for printing concept), or metaphorical image. After the pictogram is defined, it is necessary to check it for possible conflicts (for example the snail image is a good metaphor for slow motion but if used as a road sign it will conflict with literal and partially conventional meaning "snails on the road").
Defining the pictogram can be different for the toolbar and other functional icons in the interface and for the icons representing independent software applications or websites which are closer to logotype or mascot design.
As computer icons can be used in different sizes, icon design involves creating master artwork usually for the biggest size used and producing smaller sizes from it. It is desirable to comply with overall style of the icon set, using the same color palette, perspective and renderings for all icons. Special attention should be given to eliminating unnecessary details and aligning strokes and objects to pixels in small icon sizes to avoid messy and blurred images.
See also 
- Apple guidelines on designing Mac OS Icons
- Microsoft guidelines on designing Windows Aero Icons
- Microsoft guidelines on designing Windows XP icons
- Icons at the Open Directory Project