© Copyright ACM 1997
Most current windowing systems follow the independent overlapping windows approach, which emerged as an answer to the needs of 1980's applications and technology. These windowing systems no longer provide efficient means to serve the functions in this list for today's information-intensive applications. With advances in computer networks, especially the Internet, users are collecting more information in image, video, sound, and structured text formats.
With the introduction of windows, users can employ spatial attributes like location of icons or open windows to access information. However, current systems provide limited capabilities of icon and window organization; generally a single screen space where icons and windows can be placed independently anywhere on the screen. As a result, the computer screen becomes cluttered and windows are hidden, making it harder to access information using spatial attributes.
Access to and use of multiple sources of information or multiple representations are difficult because operations are performed one window at a time. Providing multiple window operations with a single action is likely to help users.
Novel approaches emphasize a docu-centric approach (Microsoft OLE and Apple's OpenDoc ) in which documents become more important and applications fade into the background. The enriched document can contain various types of objects such as text, image, video, sounds, spreadsheets, etc.
Although these innovations are one step toward achieving a computer working environment in harmony with users' perceptions of their work, an effective organization of information according to users' roles that reflects this perception may bring further benefits [19,16].
The key to personal role management is organizing information according to the roles of an individual. When users are working in a role, they have the most relevant objects regarding that role like schedules, documents, tools, correspondence with people, etc.~all visually available. These visual cues remind them of their goals, related individuals, required tasks, and scheduled events all within the context of the current role. Users should be able to create and abandon roles as well as extend and modify the role hierarchy.
Our earlier work  stated the requirements for
future windowing systems. A more complete list is as follows:
The next section gives a brief description of the Elastic Windows approach, followed by an analytic comparison of windowing systems. Next, the study comparing performance of Elastic Windows to traditional Independent Overlapping Windows is described in detail, along with the results and observations made.
Figure 1 displays the hierarchical organization of different roles of a university professor. This professor is advisor to a number of graduate students in a number of research projects, teaches two courses this semester at the university, is liaison to three companies, and has personal duties.
Figure 1:Hierarchical Organization of a University Professor's Roles: University Research and Teaching, Industry, and Personal
The hierarchical layout clearly indicates the hierarchic relationship between the contents of the windows by the spatial cues in the organization of windows. It provides the users with an overview of all their roles, where they can pick any role or parts of it and start working on it.
Hierarchical grouping provides role-based context for information organization. It also supports graphical information hiding capability where window hierarchies can be collapsed into a single icon (or other primitives) making the approach scalable. Collapsed hierarchy of windows can be saved and retrieved, which allows users to reuse a previous window organization. Besides, layouts can be saved under different names giving users flexibility in using alternative layouts for different subtasks within the same context.
Current window management strategies have a limited notion of workspace. Most of the systems provide only one screen, whereas more novel systems, following the Rooms approach , provide multiple virtual screen spaces where windows can be placed in any of these spaces. Rooms also provides an overview where users can look at thumbnail images of the screen layouts and use the overview to switch to these screens. Users are limited to an overview level and the workspace level. In Elastic Windows, however, multi-level task focus is provided by allowing users to make any window full screen at any point in the hierarchy (Figure 2).
Figure 2:a) Maximize university roles from Figure 1 b) Maximize research roles within the university
In Elastic Windows, multiple window operations are achieved by applying the operation to groups of windows at any level of the hierarchy. The results of operations are propagated to lower level windows inside that group recursively. In this way, a hierarchy of windows can be packed, resized, or closed with a single operation. Operations like multi-window open, close, resize, maximize, and pack enable users to change the window organization quickly to compare, filter, and apply the information.
In Elastic Windows, window groups can be created by opening a container window and dragging and dropping selected items inside this window (Figure 3). Separate windows are opened for each item in the selection as a member of the group surrounded by the container-window borders. Multiple items can be added to or removed from the group at any time. It is also possible to open a new container window within another container window to create hierarchical windows.
Figure 3: a) An empty container-window opened on the right b) Mutli-window open for selected items
In Elastic Windows, groups of windows stretch like an elastic material as they are resized, and other windows shrink proportionally to make space (Figure 4). Users are given flexibility in the placement of sub-windows in a group. There is no strict horizontal or vertical placement rule within window groups. The extent of window operations is limited to the windows in the same group and their sub-windows. Effects in the upper levels are propagated down to sub-windows recursively.
Figure 4:Elastic resizing of Teaching window on the original layout of Figure 1
Bly and Rosenberg  compared user performance of tiled and overlapping window strategies for regular and irregular tasks, where regularity is determined by the organization of information in a window. Their results supported tiled windows for regular tasks. For irregular tasks, however, expert performance was faster in overlapping windows, whereas novice performance was faster in tiled windows.
Gaylin  observed that the number of window operations to switch the active window set constitutes 63% of all the operations in an independent overlapped window manager. This result supports the findings by Bannon et al.  that people switch among tasks frequently, forcing them to change the visible set of windows on the screen. According to Gaylin's observations, create and delete window operations accounted for about 15%, whereas move and resize for 6%, with twice as many moves as resizes.
Gaylin also measured window operation frequencies during log-on, as users set up their computers in a typical work configuration. Although, the most frequently used commands are still those used to switch the active windows, window creation operations accounted for 17%, move operation for 17%, and resize for 12%.
Gaylin used window operation frequencies to create a windowing system benchmark. We believe that a more reliable benchmark test should be based on task-domain rather than interface-domain operations (e.g. window operations).
In our evaluation, we measured user performance on Task Environment Setup, Task Environment Switch, and Task Execution (Figure 5).
Figure 5:Three categories for evaluation.
Task Environment Setup is the act of accessing information objects needed for the task, opening windows for them, and arranging the layout. An example would be for programmers to open source code modules in multiple windows and to arrange them on the screen.
Task Environment Switching is the act of changing the screen contents to an existing environment setup. An example would be to switch to reading specifications in the middle of programming.
Task Executions are actions with information contained in windows in a task environment layout. An example would be looking sequentially through many job descriptions to find the best paying job. We identified four task execution types: Sequential Scanning, Comparison, Determine Context+Scan, and Recall Context+Scan (Figure 6).
Sequential scanning is looking sequentially through a number of information sources for a certain attribute of the information, such as the job salary. Comparison is comparing a number of information sources based on one or more attributes, such as job descriptions or benefits. It is different from sequential scanning because users tend to glance back and forth multiple times till they comprehend the distinctions well enough to make a judgment. Determine Context+Scan is a filtering based on an attribute to establish a context for further scanning. For example, once a decision is made to seek jobs in California, this context enables the users to limit scanning to only California jobs. In Recall Context+Scan, the context is not determined rather recalled based on previous interaction with the same information sources. It is designed to test how well the windowing system supports recall based on spatial attributes.
Figure 6:Task execution types
We are aware that not all the tasks users do with computers are this regular and this list is not complete. We have chosen these four types of task execution because of their significance in personal role management. Task executions types chosen cover basic information management tasks such as a quick scan of multiple information to gain an overview, comparison of multiple information, and filtering of a set of information from a larger set.
Independent variables were the windowing interface (Elastic Windows, and Independent Overlapping Windows), and task environment complexity (2, 6, and 12 windows). Dependent variables were task environment setup times, switching times, and task execution times.
Each subject performed three task environment setups, one from each complexity, three task environment switchings, and a total of 12 task executions, covering all task execution types at all three complexities. The order of task environment complexities were varied across subjects to test all combinations of task environment switchings.
Training on the Elastic Windows interface began with the hierarchical coloring scheme, and the elastic nature of windows with the proportional space allocation strategy. It covered opening/closing, resizing, packing/unpacking, and maximizing a hierarchy of windows.
Training on the independent windows interface covered similar tasks, including opening a window, iconifying and reopening windows, resizing, and closing windows as well as traversing the information hierarchy using the file manager.
Figure 7:Task Environment Setup Times
In Elastic Windows, the steps for setting up a task environment include opening a container window, selecting multiple task-related objects, and dragging and dropping them in the container window. Some subjects maximized the container window to full screen for more efficient utilization of the screen space. Average task environment setup times stayed nearly constant for all task complexities as shown in Figure 7. The increase was mostly due to the loading of larger number of files.
In Independent Overlapping Windows, each icon has to be double-clicked and the windows placed appropriately on the screen, one by one. The setup times are heavily dependent on the number of windows. However, the dependency is more than linear since as the number of windows on the screen increases, it becomes much more difficult to arrange windows. We believe that the high standard deviation for the high complexity task environment setup is due to the diverse approaches taken by the subjects in their organization of windows.
Multiple selection and open can easily be added to the existing windowing systems, but what is lacking is the framework to identify and operate on multiple windows as a group.
Figure 8:Task Environment Switching Times
Elastic Windows allows multiple levels of workspaces where a hierarchy of windows at any level can be made to fill the whole screen. During the experiments, some of the subjects used three actions to enlarge a window to maximize, whereas some used only two. Variation among task switch performances was mainly caused by the number of actions to achieve maximization. Although the switching times from low to medium and low to high complexities were less for the Elastic Windows interface, the variation among the subjects prevented a possible statistically significant difference.
Diverse strategies in switching among environments, led to variances in performance times. Still, the average time to do a task environment switch was nearly constant, independent of the environment complexity. In the Independent Overlapping Windows, however, the switching time increased as task environment complexity increased. This was mainly due to the one window at a time approach. Providing an overview and a set of workspaces, as in Rooms , would certainly make task switching time independent of the number of windows involved, but Rooms offers only two levels.
Figure 9:Average Task Execution Times
In Sequential Scanning, having a stable layout during the task execution helped subjects greatly. In Elastic Windows, windows are well-organized, side-by-side, and during task execution subjects did not find it necessary to manipulate (resize, move) windows. However, in Independent Overlapping Windows, the layout was continuously changing, windows were raised, moved, and resized frequently, due to limited screen space. Subjects produced dramatic changes from the initial layout during task execution. These disruptive changes were more prevalent as task environment complexity increased.
In Comparison, having windows side-by-side in Elastic Windows helped users to compare window contents. Since windows are well organized, users adopted a visual approach in comparing window contents, and eliminated some windows immediately. However, in Independent Overlapping Windows, users had to look at each window one by one, changing the layout constantly, which made it harder to do the comparison after a while. The problem was more severe in the high complexity treatment.
In Determine Context+Scan, subjects using Elastic Windows maximized a subset of the windows belonging to the context, enabling them to focus on the context more easily due to larger screen space allocated. In Independent Overlapping Windows, however, subjects did not reorganize the layout.
Recall was easier in the Elastic Windows interface because of the more stable window organization across task executions. Subjects stated that it was easier to remember window locations than in the Independent Overlapping Windows. Since the window organization was modified in the overlapping windows interface for each task execution in the sequence, the locational memory of users was lost. In the low complexity task environment with only two windows on the screen, it was not difficult to recall window locations.
Some subjects claimed that, although it was not easy to see the hierarchy at first, they got used to it after several tasks. According to our observations during the experiment, subjects were initially following the hierarchy to access information, however, after some time, they started to use their locational memory and access information directly based on that knowledge. This observation was confirmed by most of the subjects. Some subjects, however, had no problems visualizing the hierarchy. One subject said that he liked the overview of hierarchical roles as a guide to his daily tasks.
Recent research in more advanced information management user interfaces has generated a handful of interesting innovations. The WebBook work at Xerox extends the 2D desktop metaphor to a 3D office metaphor . Pad++ introduced a novel technique for spatially organizing information on an infinitely zoom-able surface . LifeStreams organizes documents by temporal attributes on a linear timeline . In LifeLines , users can access documents from a compact temporal overview consisting of multiple time-lines each characterizing different aspects of the information through direct manipulation. IGD is a hypertext system which supports the creation of large graphical documents with an arbitrary directed graph structure, with graphical information hiding and structure manipulation capabilities . The Dylan programming environment uses a pane-based window system , which allows both horizontal and vertical panes, with a mechanism to create links between panes.
Lansdale  argues that people employ a number of different strategies to access information during their daily practices, and it would be beneficial to support those strategies in computer environments. In , a number of interesting strategies are introduced to coordinate information in multiple windows. Myers has an excellent taxonomy of early windowing systems .
These results suggest promising possibilities for multiple window operations and hierarchical nesting, which can be applied to the next generation of tiled as well as overlapped window managers. They should enable users to more readily deal with increasingly complex tasks.
Role management was not explicitly tested in this study, but users appeared to grasp this novel layout strategy and use it competently. A future study will focus on the benefits of role management and alternate layouts to support it.
 Bederson, B., B., Hollan, J., D., Pad++: A zooming graphical interface for exploring alternate interface physics, Proc. UIST'94, User Interface Software and Technology Conference, (1994), pp. 17-26.
 Bly, S., Rosenberg, J., A comparison of tiled and overlapping windows, Proc. CHI '86 Conference - Human Factors in Computing Systems, ACM, New York, NY, (1986), pp. 101-106.
 Bury, K. F., Davies, S. E., and Darnell, M. J., Window management: A review of issues and some results from user testing, IBM Human Factors Center Report HFC-53, San Jose, CA, (June 1985), 36 pages.
 Card, S. K., Pavel, M., and Farrell, J. E., Window-based computer dialogues, INTERACT '84, First IFIP Conference on Human-Computer Interaction, London, UK, (1984), pp. 355-359.
 Card, S., Robertson, G., York, W., The WebBook and the Web Forager: An information workspace for the World-Wide Web, Proc. CHI 96 Conference - Human Factors in Computing Systems, New York, NY, (1996), pp. 111-117.
 Dumas, J., Parsons, P., Discovering the way programmers think about new programming environments, Communications of the ACM 38, 6, (June 1995), pp. 45-56.
 Feiner, S., Seeing the forest for the trees: Hierarchical display for hypertext structure, Proc. UIST'90, User Interface Software and Technology, (1990), pp. 205-212.
 Gaylin, K., B., How are windows used ? Some notes on creating empirically-based windowing benchmark task, Proc. CHI '86 Conference - Human Factors in Computing Systems, ACM, New York, NY, (1986), pp. 96-100.
 Freeman, E., Gelernter., D., LifeStreams: A storage model for personal data, ACM SIGMOD Bulletin 25, 1, (March 1996), pp. 80-86.
 Henderson, A., Card, S. K., Rooms: The use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface, ACM Transactions on Graphics 5, 3, (1986), pp. 211-243.
 Kandogan, E., Shneiderman, B., Elastic Windows: Improved Spatial Layout and Rapid Multiple Window Operations, Proc. Advanced Visual Interfaces '96, ACM, New York, NY, (May 1996), pp. 29-38.
 Lansdale, M., The psychology of personal information management, Applied Ergonomics, (March 1988), pp. 55-67.
 Malone, T. W., How do people organize their desks? Implications for the design of office automation systems, ACM Transactions on Office Information Systems 1, pp. 99-112.
 Myers, B., Window interfaces: A taxonomy of window manager user interfaces, IEEE Computer Graphics and Applications 8, 5 (September 1988), pp. 65-84.
 Plaisant, C., Shneiderman, B., Organization overviews and role management: Inspiration for future desktop environments, Proc. IEEE 4th Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, (April 1995), pp. 14-22.
 Plaisant, C., Milash, B., Rose, A., Widoff, S., Shneiderman, B., LifeLines: Visualizing personal histories, Proc. CHI '96 Conference - Human Factors in Computing Systems, New York, NY, (1996), pp. 221-227.
 Shneiderman, B., Designing the User Interface: Strategies for Effective Human-Computer Interaction: Second Edition, Addison Wesley Publ. Co., Reading, MA, (1992), Ch.9.
 Shneiderman, B., Plaisant, C., The future of graphic user interfaces: Personal role managers, People and Computers IX, Cambridge University Press, (Aug 1994), pp. 3-8.