These guidelines are designed to assist you in developing products that provide Mac OS X users with a consistent visual and behavioral experience across applications and the operating system. Following the guidelines is to your advantage because:
- Users will learn your application faster if the interface looks and behaves like applications they’re already familiar with.
- Users can accomplish their tasks quickly, because well-designed applications don’t get in the user’s way.
- Users with special needs will find your product more accessible.
- Your application will have the same modern, elegant appearance as other Mac OS X applications.
- Your application will be easier to document, because an intuitive interface and standard behaviors don’t require as much explanation.
- Customer support calls will be reduced (for the reasons cited above).
- Your application will be easier to localize, because Apple has worked through many localization issues in the Aqua design process.
- Media reviews of your product will be more positive; reviewers easily target software that doesn’t look or behave the way “true” Macintosh applications do.
The implementation of Apple’s human interface principles make the Macintosh what it is: intuitive, friendly, elegant, and powerful.
What Are the Apple Human Interface Guidelines?
This document is the primary user interface documentation for Mac OS X. It provides specific details about designing for Aqua compliance in Mac OS X version 10.4, although some of the information may apply to previous versions of Mac OS X.
Aqua is the overall appearance and behavior of Mac OS X. Aqua defines the standard appearance of specific user interface components such as windows, menus, and controls, and is also characterized by the anti-aliased appearance of text and graphics, shadowing, transparency, and careful use of color. Aqua delivers standardized consistent behaviors and promotes clear communication of status through animated notifications, visual effects, and more. Designing for Aqua compliance will ensure you provide the best possible user experience for your customers.
Aqua is available to Cocoa, Carbon, and Java software. For Cocoa and Carbon application development, Interface Builder is the best way to begin building an Aqua-compliant graphical user interface. If you are porting an existing Mac OS 9 application to Mac OS X, see the Carbon Porting Guide in Carbon Porting Documentation. Java developers can use the Swing toolkit, which includes an Aqua look and feel in Mac OS X.
Who Should Read This Document?
Anyone building applications for Mac OS X should read and become familiar with the contents of this document. This document combines information on the mechanics of designing a great user interface with fundamental software design principles and information on leveraging Mac OS X technologies.
Organization of This Document
The document is divided into three main parts, each of which contains several chapters:
- The first part, "Application Design Fundamentals", describes the fundamental design principles to keep in mind while designing an application.
- The second part, "The Macintosh Experience", discusses many of the Mac OS X technologies that users are accustomed to using. You can take advantage of these technologies to streamline your development process and ensure that your application is well-behaved in the context of the operating system as a whole.
- The third part, "The Aqua Interface", describes the Mac OS X Aqua user interface. It explains the specific user interface components available to you and includes extensive guidelines on how to use and implement them in your application.
Supplementary information is provided in the following locations:
- A listing of the recommended and reserved keyboard shortcuts for Mac OS X, in "Keyboard Shortcuts Quick Reference"
- A summary of the changes made to this document in its various incarnations appears in "Document Revision History".
- A listing of the terms used in this document, along with their definitions, is provided in the "Glossary".
Conventions Used in This Document
Throughout this document, certain conventions are used to provide additional information:
Carbon-specific and Cocoa-specific implementation details and references to supplementary documentation are provided in paragraphs that begin with either Carbon: or Cocoa:. If you do not see a specific reference to either Carbon or Cocoa, the information presented applies to both Carbon and Cocoa.
Some of the example images include visual cues to note whether a particular implementation is appropriate or not:
- image: ../art/mini_useicon.jpg
- indicates an example of the correct way to use an interface element.
- image: ../art/mini_do_notuseicon.jpg
indicates an example of the wrong way to use an interface element. An example accompanied by this symbol often illustrates common mistakes.
Bold text indicates that a new term is being defined and that a definition of the word appears in the glossary.
All Apple developer documentation is available from the Apple Developer Connection (ADC) website:
http://developer.apple.com
Under the heading “Reference Library” on that page, click Documentation to go to the main Documentation page. From there you can go to Documentation pages for various categories of information and see the lists of documents applicable to that category.
In this document, cross-references to Apple documents look like this:
See Handling Carbon Windows and Controls in Carbon User Experience Documentation.
To navigate to that document from the main Documentation page, you click Carbon, then click User Experience on the Carbon Documentation page. You are then on the Carbon User Experience Documentation page, which lists all the documents that have information related to the user experience in Carbon.