CHI '95 ProceedingsTopIndexes
Short PapersTOC

Pad++: A Zoomable Graphical Interface System

Benjamin B. Bederson and James D. Hollan

Computer Science Department
University of New Mexico
Albuquerque, NM 87131
(505) 277-3112
bederson@cs.unm.edu, hollan@cs.unm.edu

Note:
This work was paid for in part by the ARPA HCI Initiative grant #N66001-94-C-6039.

© ACM

Abstract

Large information spaces are often difficult to access efficiently and intuitively with traditional window and icon-based interfaces. In this paper, we demonstrate Pad++, a graphical interface system based on zooming. Objects can be placed in the graphical workspace at any size, and zooming is a basic interaction technique for navigating. The goal is to provide simple methods for visually navigating complex information spaces that ease the burden of locating information while maintaining an intuitive sense of location and of relationships between information objects.

Keywords:

Interactive user interfaces, multiscale and zoomable interfaces, authoring, information navigation, hypertext, information visualization.

Introduction

Large information spaces are often difficult to access efficiently and intuitively with traditional window and icon-based interfaces. In the past several years, many techniques have been introduced for viewing large dataspaces, including: SDMS [4], fisheye views [5], information visualizer [3], graphical fisheye views of graphs [10], Pad [9], and Pad++ [1][2][7]. Space-scale diagrams have been used as an analytical tool for some of them [6].

This paper accompanies a demonstration of Pad++, an interface system based on zooming. The workspace area of Pad++ is very large in extent and resolution, allowing objects to appear at any size. Zooming and panning are fundamental interaction techniques, and there are several efficiency mechanisms implemented to maintain interactive frame rates for animation, even when the scenes get complicated.

Figure 1:Hypertext Markup Language (HTML). As links are followed, they are placed on the surface to the side and made smaller.

Pad++ is a general-purpose substrate for exploring user interfaces. While not an application itself, it directly supports creation and manipulation of graphical zoomable objects and navigation through the dataspace. Pad++ is built as a new widget for Tk using Tcl, an interpreted scripting language. Increasingly popular, Tcl and Tk [8] combine a scripting language and Motif-like library for creating graphical user interfaces and applications without the need to write C code. The Tcl interface to Pad++ is similar to the interface to the Tk Canvas widget, a surface for drawing structured graphics.

Objects in Pad++ can be described so that they change the way they look depending on their size. This is called semantic zooming, and among other things, is a simple method for representing abstraction. When you zoom out, you see a simplified rendering of the object, and when you zoom in, you see more details. Perlin [9] described a prototype zooming calendar with this notion.

NAVIGATION

Finding information on the Pad++ surface is important because intuitive navigation through large dataspaces is one of its primary motivations. Pad++ supports visual searching with zooming in addition to traditional mechanisms, such as content-based search. Searching produces smooth animations to the desired objects.

These animations interpolate in pan and zoom to bring the view to the specified location. If the end point, however, is more than one screen width away from the starting point, the animation zooms out to a point midway between the starting and ending points, far enough out so that both points are visible. The animation then smoothly zooms in to the destination. This both gives a sense of context to the viewer as well as speeding up the animation since most of the panning is performed when zoomed out which covers much more ground than panning while zoomed in. We use space-scale diagrams [6] to help analyze these trajectories.

SAMPLE APPLICATION - HYPERTEXT

Many systems that are based on hypertext confront the problem of how to give the user an intuitive sense of location as they navigate through large information spaces. An example is NCSA's Mosaic system. It allows traversal of a vast information space across the internet via hyperlinks. In Mosaic, as with many other window-based hypertext systems, following a link replaces the contents of the window with the linked data, or sometimes brings up a new window. However, there is no graphical depiction of the relationship among windows - even when there is a strong semantic relationship. Thus, it is quite common to hear users's complain of losing a sense of relationship between where they are and where they've been. Pad++ attempts to address this problem by using a very high resolution surface to graphically layout the links representing the user's traversal. When a hyperlink is selected, the linked data is loaded to the side and made smaller while the view is animated to center the new data. The nodes are layed out in such a way so that no traversal of links can cause overlapping. Pad++ can read in hypertext files written in Hypertext Markup Language (HTML), the language used by Mosaic. Figure 1 shows a snapshot with a home page loaded and several links followed.

CONCLUSION

Pad++ is an effective tool for exploring interfaces and visualizations based on zooming. We believe that multiscale interfaces provide effective mechanisms for addressing the problem of navigation through very large dataspaces. The goal is to provide simple methods for visually navigating that ease the burden of locating information while maintaining an intuitive sense of location and of relationships between information objects.

We are currently, in collaboration with NYU and Bellcore,, continuing development of the Pad++ substrate as well as starting work in several application domains - including a complete zooming-based work environment.

Acknowledgments

We thank Ken Perlin and his students and staff, David Fox, Matthew Fuchs, Jon Meyer and David Bacon, at NYU for many enjoyable discussions and for initiating interest in zooming interfaces. We especially appreciate Craig Wier's support from ARPA's new HCI Initiative. We thank Bellcore for making an early version of Pad++ available for our group's further development. We also thank other members of the Computer Graphics and Interactive Media Research Group at Bellcore for all their support and discussion of zoomable interfaces.

References

[1] Bederson, B.B., Stead, L., and Hollan, J.D., Pad++: Advances in Multiscale Interfaces, Proceedings of ACM Human Factors in Computing Systems Conference Companion (CHI �94), pp. 315- 316.
[2] Bederson, B.B. and Hollan, J.D., Pad++: A Zooming Graphical Interface for Exploring Alternate Interface Physics, Proceedings of ACM User Interface and Software Technology Conference (UIST'94), pp. 17-26.
[3] Card, S.K., Robertson, G.G., and Mackinlay, J.D. The Information Visualizer, an Information Workspace, Proceedings of ACM Human Factors in Computing Systems Conference (CHI �91), pp. 181- 188.
[4] William C. Donelson. Spatial Management of Information, Proceedings of 1978 ACM SIGGRAPH Conference, 203-209.
[5] Furnas, G.W, Generalized Fisheye Views, Proceedings of 1986 ACM SIGCHI Conference, pp. 16- 23.
[6] Furnas, G.W. and Bederson, B.B., Space-Scale Diagrams: Understanding Multiscale Interfaces, Proceedings of ACM Human Factors in Computing Systems Conference (CHI �95), In Press.
[7] Meyer, J., et. al. Two Document Visualization Techniques for Zoomable Interfaces, Proceedings of ACM Human Factors in Computing Systems Conference Companion (CHI �95), submitted.
[8] Ousterhout, J.K., Tcl and the Tk Toolkit, Addison Wesley, 1994. [9] Perlin, K.and Fox, D. Pad: An Alternative Approach to the Computer Interface, Proceedings of 1993 ACM SIGGRAPH Conference, pp. 57-64.
[10] Sarkar, M. et. al, Stretching the Rubber Sheet: A Technique for Viewing Large Layouts on Small Screens, Proceedings of ACM Human Factors in Computing Systems Conference (CHI �93).