Drawers and Disclosure
Volume Number: 16
Issue Number: 9
Column Tag: OS X
More or Less: Drawers and Disclosure Views for
Cocoa
by Andrew C. Stone
In designing an intuitive interface for users, the great French architect Le Corbusier's
adage still rings true: less is more. The less user interface you have visible, the more
likely the user will be able to understand your program's feature set. But applications
without depth and functionality are boring and leave the user feeling "if only the
application could do X or Y". There are several ways to hide complexity and still have
the features available for expert users. Along with the ubiquitous tabview, two major
techniques are the drawer and the disclosure view.
Mac OS X introduces the concept of the drawer - a Daliesque subwindow which expands
from under the parent window in a smooth opening animation, remaining attached to
the window until no longer needed when it animates smoothly closed. An example of a
good use of drawers is Mail.app's "Mailboxes". Drawers have certain limitations
however - for instance, you cannot pull out a bottom-mounted drawer with a depth
greater than the height of the window since this would violate the physical reality
being emulated. Moreover, there were no drawers in Mac OS 9 or Mac OS X Server, so