Cocoa UI spit & polish
When playing with Interface Builder to create a UI for my application I sometimes run into the problem of trying to recreate a visual element used in Apple software. There are a lot of buttons and gradients used repeatedly in several Apple applications. When adding buttons with similar functionality I try to use the same artwork Apple uses for consistency.
The problem is that most of the buttons for example are custom designed by Apple and are not available by drag-n-drop in Interface builder.
So here is a collection of some images and custom classes that can be used for free in you application to add the spit and polish that makes your application look like a real Apple application. (Be sure to read the licenses for the specifics on copyrights).
- Polished metal buttons
- TunesWindow, a polished metal window
- Badging for everone, a class to add badges like used by Mail to your application icon.
- Plus & Minus
- Gear Icon & Add Menu
- Green Check & Red Cross
- Royalty Free Icons to be used in toolbars for example
An effort to give developers guidelines for replicated Apple interface elements was started under the name IndieHIG:
The IndieHIG Wiki is a place where developers and UI designers can come together to create a new set of Human Interface Guidelines to supplement Apple’s guidelines. Apple has neglected to update their HIG with modern UI designs and controls, so developers have been forced to replicate these UI elements on their own to keep their applications from looking dated. Since each developer has slightly different implementations of these elements, it has resulted in a fairly inconsistent look and feel for Mac OS users.
Maybe it's an idea to provide implementations of interface elements that follow these guidelines? For example the Polished Metal page describes the properties of a currect Polished window, for wich an implementation already exists in the form of TunesWindow.
I'm currently working on an implementation of a RuleEditor as used by the Finder to create smart folders:

When finished I'll document the properties of a rule editor in the IndieHIG and publish the sources of this class.