Getting Started with User Experience

Technology Overview

User Experience encompasses the visual appearance, interactive behavior, and assistive capabilities of software. As much as a powerful feature set, the look and feel of your application can determine its appeal to users.

For example, an application with a great user experience should:

  • Embody user-friendly design principles

  • Have a professional, consistent look, with quality icons and graphics

  • Support alternative input devices for users with disabilities

  • Offer a simple installation experience

By reading the documents described here, you will learn about the various facets of the Mac OS X user interface, the design principles behind them, and how to implement them properly in your application.

Start Here

Before you design a user interface or write any code, it’s a good idea to be familiar with the range of Mac OS X technologies that influence the user experience. Start by reading User Experience for an overview of these technologies and links to additional resources.

When you’re ready to begin development, read Parts 1 and 2 of Apple Human Interface Guidelines to:

  • Understand the design principles that underlie all user-friendly software.

  • Learn about the Mac OS X user interface features that your application can take advantage of.

If you have not already done so, you may want to:

  • Spend some time using the Finder, installing and running applications, and so on, to get used to the look and feel of Mac OS X.

  • Experiment with Interface Builder, Apple’s graphical editor for designing user interfaces. Designing a User Interface in Xcode Quick Tour for Mac OS X, gives an example of designing a simple application interface.

Choose a Learning Path

Unless you are designing an immersive environment such as a game, your application will use Aqua, the standard Mac OS X user interface. However, how you implement Aqua depends on what programming framework you use. (If you are not sure what framework to choose, see Getting Started With Mac OS X.) To offer users an easy installation experience, you’ll want to know how to create an installer package for your application. To accommodate users with disabilities, you want your application to support alternative input devices, such as screen readers, Braille keyboards, and the like.

Building a User Interface for Cocoa Applications

To build a user interface for your Cocoa application, you should read:

Building a User Interface for Carbon Applications

To build a user interface for your Carbon application, you should read:

Note that the Carbon user interface APIs are often referred to as the Human Interface Toolbox, High Level Toolbox, or, if you are using object-oriented HIViews, the HIToolbox.

Building a User Interface for Java Applications

Java applications automatically adopt the standard Aqua appearance when running on Mac OS X. However, you should still read:

Creating Installer Packages for Your Application

An essential part of the user experience is making sure that installing your application is just as simple and predictable as using it.

Supporting Universal Access

Most commercial applications must have user interfaces that support alternative input devices, such as screen readers, Braille keyboards, and so on, for users with disabilities. For more information about topics such as accessibility, speech synthesis, and speech recognition, see Getting Started with Accessibility.

Next Steps

The User Experience Reference Library includes the following high-level user experience resource pages, which you can bookmark for easy access:

  • Guides

    Conceptual and how-to information for user experience.

  • Reference

    Focused, detailed descriptions in reference format for user experience.

  • Release Notes

    Late-breaking news about new or changed features relating to user experience.

  • Sample Code

    Sample applications demonstrating a wide variety of user interface implementations. If you have installed the developer tools or Xcode CD, you may also want to check out the sample applications in Developer/Examples, especially the Carbon and Interface Builder folders.

  • Technical Notes

    Late-breaking documents on user experience–related issues.

  • Technical Q&As

    Programming tips, code samples, and FAQs by Apple’s support engineers.

  • Mailing Lists

    The Carbon development mailing list (carbon-dev) is an excellent place to ask questions about Carbon user interface implementation issues.

These additional ADC resource pages may also be helpful:

  • Interface Design Assistance

    Links to recommended third-party user interface designers. Designing a good user interface relies on both visual design skills and knowledge of interactive behavior. These designers can help create your application’s user interface, icons, artwork, and so on.

© 2003, 2008 Apple Inc. All Rights Reserved. (Last updated: 2008-10-15)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.