Human Interface Note #7    
_____________________________________________________________________________

Note #7    Who's Zooming Whom?

           Written by:    John Sullivan                            April 1990
_____________________________________________________________________________

Further discussion about using the zoom box.
_____________________________________________________________________________


Introduction

A click in the zoom box toggles a window between two states, the user state 
and the standard state.  The user state, as its name implies, is set by the 
user.  The standard state is defined by the Apple Human Interface Guidelines 
(p. 48) as "generally the full screen, or close to it...the size and location 
best suited to working on the document."  That brief description has proven 
to be too brief in these days of larger and multiple monitors.  This note is 
a more explicit guide to determining the appropriate standard state.


Size of the Standard State

When the zoom box was introduced, all Macintoshes had the same relatively 
small screen, so the "most useful" size of a window was almost always larger 
than the screen.  Setting the standard state to the full screen size was, 
therefore, a good rule of thumb.  This is no longer the case.  These days, 
Macintosh monitors come in all shapes, sizes, and configurations, so
applications should never simply assume that the standard state should be as 
large as the screen.  Frequently the monitor is larger, sometimes much larger, 
than the most useful size for a window.  Screen real estate is valuable, so 
screen-sized windows should be used only when they make sense.

For example, a document for a word processor has a well-defined
"most useful width" (the width of a page) and a variable "most useful height" 
(depending on the number of pages).  Therefore, the width of the standard 
state should be the width of a page or the width of the screen, whichever is
smaller, and the height of the standard state should be the height of the 
screen or the height of the document, whichever is smaller.

Another example is a paint application whose documents are always exactly one 
page in size.  In this case, the width of the standard state should be the 
width of a page or the width of the screen, whichever is smaller, and the 
height of the standard state should be the height of a page or the height 
of the screen, whichever is smaller.

Yet another example is an application that displays pictures but does not 
let users edit them.  Since its pictures cannot be modified, making a window 
larger than the pictures it displays would not be useful.  Therefore, the 
width of the standard state should be the width of the picture or the width of 
the screen, whichever is smaller, and the height of the standard state should
be the height of the picture or the height of the screen, whichever is smaller.  
Note that this means that different document windows from the same application
may have different standard states.


Position of the Standard State

One of the basic principles of the Apple Desktop Interface is "perceived 
stability."  Users are more comfortable in an environment that does not 
change in an apparently random manner; a window need not move just because it
is changing in size.  When toggling a window from the user state to the 
standard state, first determine the appropriate size of the standard state.  
If this size would fit completely on the screen without moving the upper-left 
corner of the window, keep this corner anchored.  Otherwise, move the window 
to an appropriate default location (see Human Interface Note #6, 
Window Positions).


The Standard State on Multiple Monitors

Zooming behavior in multiple monitor environments should not violate any of 
the guidelines described herein, but it does introduce a single additional 
rule: the standard state should be on the monitor containing the largest 
portion of the window, not necessarily on the monitor with the menu bar.  
Note that this means the standard state for a single window may be on 
different monitors at different times if the user moves the window around.  
In any case, the standardstate for any window must always be fully contained 
on a single screen.


_____________________________________________________________________________
Further Reference
  o  Macintosh Technical Note #79, _ZoomWindow

