Published by Derek Moore on 08 Jul 2008
It sure is hard to find icons that can be used in software. You know, in menus, toolbars, tabs, etc. No one hardly talks about it in programming, because most software designers (this one included) are not artists. I would make the icons myself, but I couldn’t draw a decent-looking icon to save my life.
And yet, one of my biggest pet peeves is software that looks spartan. I mean, if you want to design something that looks like an eight-year old could’ve made it in two hours with Visual Basic, then try to sell it on the open market, be my guest. (Ironically, some of my competitors look like they already do this.) But to me, an ugly app means that the author doesn’t care.
I say all this because I’m putting the finishing touches on Speedy Shopper 2.0 with icons. Since I can’t draw, I have to cobble together icons from disparate sources. And most of the freely available icons look like crap. When you do searches for icons via Google Images or IconFinder, you pick a good-looking icon here or there. But the end product looks inconsistent. And, you have to make sure that any graphics you find are free for non-commercial use, and give credit in the help file for every one that you find.
On the other side, if you want a consistent look, you can use (or buy) a collection. But most collections don’t have certain icons for specialized functions. Example: Speedy Shopper needs icons for things that are incredibly hard to define in an 24×24 icon .. like “Aisles/Departments”. What tiny graphic represents aisles in a grocery store? Eventually I settled on a loaf of bread. Why? Why not a steak, or fish, or the number 9? I have no idea. A bakery is in a grocery store, right? Right!?!
Then, there’s the need to find multiple resolutions of the same icon. Toolbar icons are usually 24×24 or 32×32. Menus are 16×16. Oh sure, I could resize every single icon in Photoshop, and put 3 different versions of the icon in the app, and make sure each icon is ChromaKey‘ed properly to have a transparent background for the toolbar, and do your best to eliminate “jaggies” for each resolution. OR…. I could have a root canal through my nose. Personally, I’d opt for #2.
So, the solution I’ve come up with is, in my opinion, the best of all worlds. First, I’ve settled on the Tango Icon Collection for 90% of my icon needs. The remainder are hand-picked to look consistent as best as possible. There are three big advantages this way: first they are consistent-looking. Second .. they’re free, even for commercial use. But the biggest advantage of using these is that they are PNGs. PNG graphics don’t need to be chromakeyed, because of the inherent transparency, and they can be resized and still look good.
(I’m gonna get a little techie here .. sorry) So using these PNGs, I was able to do a little slight-of-hand using the Delphi library Graphics32 (which can use PNG’s native transparency) to draw the icons on the SpTBXLib toolbars and menus. That way, instead of needing three different sizes of the same icon, I only need one icon which can be resized as needed.
I have to say, I’m proud of the result. No one could ever accuse me of not caring .. or of using Visual Basic