Methods to zoom in and out, especially suggested icons, ways of indicating zoom level (national to house) and literal scale axes and bars. Try to come up with good examples that are not maps. Charts of financial data, again.

Problem

Data in dense information arrays, such as charts, graphs and maps, must be able to change the level of detail presented by a zooming function or metaphor.

Solution

High density information, such as that in charts, graphs and maps, can be especially difficult to use on small screen devices. Showing a sense of the whole space can preclude viewing sufficient details for analysis and other uses.

Zooming into (and out of) the information is the general solution. As this is similar to changing the depth of view, it is a different axis than scrolling, so requires a unique control set.

Coordinated with changing the zoom level is communicating a sense of scale, whether relative or absolute.

Variations

Additional methods may emerge in the future, such as the use of sensors to change detail level as the device is moved towards the viewer's eye.

Some or all of these may be combined, for interfaces that work on multiple devices without change, to appeal to different user types, or to surmount lack of affordance in screen gestures.

For controls that do not integrate a scale, some sense of scale must be provided. This may be an explicit scale (labeling axes or a bar of distances) or implicit, by showing items of a well-understood size.

Interaction Details

talked about above mostly???

must take effect immediately...

Presentation Details

Display the zoom level WHILE zooming at least... gesture and hardware keys, as well as on-screen controls, must display the new zoom rate momentarily while the zoom is happening, so they

use standard units of measure, SEE THE OTHER PATTERN ABOUT THIS ONE...

Antipatterns

Don't delay... avoid using Wait Indicators or Infinite Area XXX when loading new data,

Don't use a toggle between two levels of zoom because your only convenient interaction does not support steps or graduations. Zooming via double-tap, for example, has value in some cases but is not a typical zoom and does not cover the majority of the needs for zooming into data.

Examples