Local tools: an alternative to tool palettes

We describe local tools, a general interaction technique that replaces traditional tool palettes. A collection of tools sit on the worksurface along with the data. Each tool can be picked up (where it replaces the cursor), used, and then put down anywhere on the worksurface. There k a toolbox for organizing the tools. These local tools were implemented in Pad++ as part of KidPad, an application for children. INTRODUCTION Sitting at a desk, many people find that they work with several tools simultaneously. Perhaps they have a pencil, a red pen, a stapler, or some paper clips all on their worksurface together. This is a very natural way to work, yet most computer interfaces don’t support this style of interaction. Rather, traditional computer tool palettes allow only a single tool to be active at a time. Inl the real world, this would be equivalent to being forced to put away every tool before another could be used. In the Pad++ research group at the University of New Mexico, we have been experimenting with an alternative style of interaction we call local tools. Motivated by the above scenario, we allow the user to place several tools directly on the work surface, and then pick them up and use them, When a tool is held, it becomes the cursor and can be used just like a regular tool. But these tools can easily be put down anywhere on the work surface, and other tools can be picked up in their place. One of the driving reasons behind this development of local tools has been our work in developing a zooming application for children using Pad++. We tested Ithe standard tool palette interface in Pad++ with computer-novice fourth graders. What we found was that children had a Permission to make digitsi/hard copies of all or part of this material for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication and its date appear, and notice is given that copyright is by permission of the ACM, Inc. To copy otherwise, to repubtish, to post on servers or to redkibute to fists, requires specific permission and/or fee. UIST ’96 Seattle Washington USA @ 1996 ACM ()_8979 l_798_7/96/l 1 ..$3.50 Figure 1: Screen snapshot from KidPad showing use of local tools. difficult time with the interface. Despite the fact that the interface used direct manipulation, itwasn’t direct enough. Tool palettes are hard to use. The user must first find the tool palette (sometimes having to access it from a menu). Then she must press the correct button resulting in the cursor changing which is quite confusing to the uninitiated computer user. Finally, she must select various attributes of the tool, such as color and width. A local tool can embody all of these characteristics at once. Local tools remain on the surface and can be picked up and used with all of their attributes, potentially reducing cognitive load. We are building these local tools within Pad++, a zoomable environment [1] [2] [3]. Pad++ provides a huge worksurface where graphical objects can be put on the surface at any position and at any size. The user can navigate through this planar space by panning and zooming. While local tools could be implemented in a non-zooming environment, there are some drawbacks because the local tools sit on the worksurface taking up valuable screen real estate. In a zoomable environment, however, the tools can easily be made as large or small as desired. In addition, they can be pushed off the screen and then easily brought back with a special toolbox (see below). Developments similar to local tools have recently been iescribed by several research groups. Bier et. al. [4] and >ur own research group [1] have recently discussed the