Elastic Windows: A scenario

Computer users frequently need to jump around related text or graphics when working on a task. For example, programmers have to jump from procedural code to data declarations, from application window to debugger window.

In general, many users need to access multiple information rapidly, while minimally disrupting their concentration on the task. With large displays and higher resolution a large number of related documents can be displayed simultaneously, but with current approaches visibility and arrangement of multiple windows is a problem.

Almost all current systems follow the independent overlapping windows approach, where windows are allowed to overlap each other, operations on windows are performed one at a time, and size and location of each window is independent.

We developed a new windowing approach called Elastic Windows.

It is based on three principles:

  • Hierarchical Window Organization, which supports users structuring their work environment according to task.
  • Multiple Window Operations, to decrease the number of window operations to lessen the load on the cognitive abilities of users, and
  • Space-Filling Tiled Layout, to use the screen space more productively. To test our ideas, we developed a mail-tool application based on these principles.

    The screen is divided into two main windows. The window on the left displays the new incoming mail, and the window on the right contains the old correspondence, represented as icons with pictures of the sender, grouped hierarchically in separate windows. A default icon is used for people with no pictures in the system. The border coloring indicates the nesting. It gets gradually darker, deeper in the hierarchy.

    My old mails are divided into three subwindows, those from the UMD people, those from the friends, and those related to the association that I am a member of. Each of these subwindows are further subdivided into different subwindows.

    I see four new mails, three of which are from my advisor, Ben Shneiderman. He was going to sent me some internship information. Let me open a new window ,to be used as a container window, by double-clicking on the left border of OldMail window. The container window is opened to the left of the OldMail window, pushing it and all its subwindows to the right in an elastic manner. Selecting a group of icons, dragging and dropping them in the container window will open all three mails in separate windows. I guess, these are internship information that I was looking for.

    Let's see what the other mail is about. Dragging and dropping on the border of a window is another way to open a window. This time the new window is opened above the OldMail window, pushing it lower. This message is from Chris North. I see that Chris also sent me an internship information. I would like to put this message among other windows containing internship information. To do this, I first select the relocate operation from the menu, and then double-click on the border of another window.

    I recall that Flip, a friend of mine from College, some time ago sent me internship information at the company he is working at. Let me find it. I go to the oldmail window, resize the friends subwindow. There it is.

    Selecting, dragging, and dropping, gives me a list of e-mail's he sent. Then I select the appropriate one, and open another window similary to see its contents. Let me put this window among others as well.

    Now, that I gathered all the information that i want, I would like to look each one of them in more detail and compare.

    To do this, first I would like to make these windows a little bit wider. I can make this top window large by pushing the lower border, which shrinks windows below proportionally.

    To read the contents of the middle window, I will resize it in both directions a t the same time.

    Now, that I am done with my little investigation, I would like to minimize all these 5 windows with a single operation for later use. The minimized window is packed appropriately in the same location. This helps users to locate it later easily. Double-clicking restores all the windows to their previous sizes.

    An interesting resize is the Pump operation, which let's you focus on a window for some time. To start pumping I press the left mouse button on the zo om gadget. It pumps the window gradually pushing all the surrounding windows to the sides. To unpump it i press the middle mouse button on the zoom gadget.

    Another feature of the system is its ability to apply the window operations in a serial manner to a number of windows. For example, I select the close operatio n from the main menu, the cursor shape changes accordingly to indicate the operation, and then clicking anywhere on the windows closes that window. As the windows are closed the emptied space is filled by the surrounding windows.

    With this scenario I described the multi-open operation, minimize and restore operations, relocate operation and some of the resize operations.

    In this brief description of elastic windows, I demonstrated how multiple window operations and improved spatial layout of elastic windows

  • support users to promote organization and coordination of windows according to tasks,
  • supports them to integrate, organize, compare, filter, and apply the information,
  • free users' cognitive resources to work on task related operations by decreasing the number of window operations,
  • use the screen space efficiently for the tasks,


    Last update : November 5, 1995