Appearance-savvy Apps
Volume Number: 14
Issue Number: 1
Column Tag: Programmer's Bookshelf
Designing Appearance-savvy Applications
by Avi Rappoport
Using Apple's Mac OS 8 Human Interface Guidelines and the
Appearance Manager
This was supposed to be a simple review of the Mac OS 8 Human Interface Guidelines, a
Developer Note from Apple. But, while trying to write the review, I ended up tracking
down additional issues, such as what, exactly, the "Mac OS 8 Human Interface" refers
to, what "Appearance" means, how the Appearance package updates the Control Manager
and the Dialog Manager, and how to go about using this information in your design.
Here's what I found.
About the Mac OS 8 Human Interface
Mac OS 8 has some fairly radical changes from System 7 automatically propagated
throughout all applications which call the standard Toolbox. These changes include a
gray-scale look, windows with draggable borders, button-like popup menus, new
controls such as progress bars, an explicit Help menu, and more. All common interface
elements are now grouped together under the term Appearance, a concept salvaged from Apple's Copland effort. This Appearance concept will allow future Mac OS
releases to support switchable themes - unified sets of interface elements, including
windows, dialogs, controls and color. When themes are supported, designers will be
able to create themes without having to program them. Applications which call
Toolbox-standard interface elements will automatically display these new interface
elements. This will allow users to customize the look of their desktops, without using
extensions or changing any basic functionality.
In the meantime, the new Appearance Manager extends interface elements from the
Window, Control, Dialog and Menu Managers. These finally bring Mac Toolbox support
for new standard controls, including sliders, progress bars, digital clocks, disclosure
triangles and tab panes, as well as menu key command icons and more.
In a striking instance of rationality and clarity, Apple will allow developers to ship
this functionality with their applications to run on earlier systems! Appearance 1.0.1, an extension/control panel package, is designed to work with versions of Mac
OS from 7.1 through 8.0, and runs on 68K and PowerPC processors. You can use these
Gestalt selectors to check for the Appearance Manager:
/* Gestalt selector and values for the Appearance Manager */
gestaltAppearanceAttr = 'appr',
gestaltAppearanceExists = 0,
gestaltAppearanceCompatMode = 1
According to Apple, the Appearance package supports three run-time models: Classic
68K, CFM-68K, and PowerPC CFM. Color QuickDraw is required for Appearance, so it
requires a 68020 or better processor. You can download the current Appearance
package from Apple's developer site, as described below.
About The Human Interface Guidelines
Back to the design issues and the guidelines: designing the user interface of an
application or control panel is not trivial. Designers, and especially programmers
working without formal design training, are often confronted with situations where
they must present complex information without confusing beginners or annoying
expert users. Apple has traditionally provided advice and design information in the
Human Interface Guidelines. This has helped interface designers to be consistent in
their standard elements and to create good solutions for situations specific to
applications. The Mac OS 8 Human Interface Guidelines continue this tradition,
describing the changed elements and new features in Mac OS 8, and how to incorporate
them in your interface. However, these Guidelines do not include background materials
on the theories and principles of interface design: for these, see the earlier Macintosh Human Interface Guidelines.
Showing that Apple "gets it" about web distribution, both the original Human Interface
Guidelines and this update (among other documentation) are available free on the Web,
in both HTML and Adobe Acrobat PDF format at
http://devworld.apple.com/dev/insidemac.shtml.
The Mac OS 8 Human Interface Guidelines is aimed at people designing and implementing interfaces for applications and control panels, so they can make best use
of the new features. It includes such specific guidelines as detailed pixel counts of
distances between radio buttons, and suggestions for when to use a scrollbar instead of
a slider. The writing is clear and concise, and the examples are good - of the high
quality we've come to expect from the Inside Macintosh series.
Unfortunately, the reasons for changes in Mac OS 8, such as the removal of the
border around dialogs, the new text "Help" menu, changes to the scrollbar arrows and
the "affordance" (cursor change to indicate move, copy, alias, etc.) are not described
at all. Past versions of the interface guidelines explained more of the theory behind
design decisions, which educated interface designers and helped them when they had to
create elements not covered by the standard interface. In addition, this book does not
provide much to help designers use contextual menus or extended menu key commands.
Therefore, this document is only adequate: it provides the basics but does not go
beyond. It does not give enough background, theory and examples to ensure that Mac