Apple "Switch to OS X" UI Tips

Take a look at Apple’s Switch to Mac OS X page, a “guide to key user experience differences between Microsoft Windows and Mac OS X”. Top of the list of 14 points to remember when developing for OS X:

1. Use the Aqua Human Interface Guidelines

Updated for Mac OS X 10.2 Jaguar: The definitive guide to designing an application that will offer a great Mac OS X user experience, available in PDF and on the web. Apple strongly recommends that you follow these guidelines to create an intuitive interface for your application, enabling your users to accomplish their tasks and goals quickly and efficiently, and maintaining the consistency and ease of learning that is characteristic of Macintosh software.

Custom controls can be confusing to your users, and more importantly, they may look out of place, especially as Aqua is refined as Mac OS X evolves. If you must use custom controls, be sure to use them for unique interface elements; for example, avoid replacing a standard checkbox, for example, with a custom one.

When porting your Microsoft Windows application to Mac OS X, develop a standard, Aqua-compliant Mac OS X interface: You'll find that product reviews are more positive and users are more satisfied. If branding your product's UI is important, consider integrating brand identity, perhaps by using a watermark in window backgrounds.

Now, you can take that both ways. You can say “Look, man: it says they’re constantly improving the controls - there’s your carte blanche, explaining away Apple’s recent UI decisions”. Alternatively, you can say “Blimey. That’s decidedly hypocritical, if you don’t mind my saying.” (You might also draw attention to the fact that they say “for example” twice in the sentence about the checkboxes, but that would be a little churlish!)

What you can’t really explain away, however, is (1) the advice about, say, not “replacing a standard checkbox with a custom one”,

and also (2) berating Windows for being awash with “nonstandard buttons”, and such evils.

But, look on the bright side: at least they do understand that these custom controls “can be confusing to users”