Design Specifications and Guidelines - Window Management


Projects

A project is another window management technique that associates a set of objects and their windows. It is similar to multiple-document interface (MDI), but does not visually contain the child windows.

Project Design

A project is similar to a folder in that the objects represented by icons contained within it can be opened into primary windows that are peers with the parent window. As a result, each child window can have its own entry on the taskbar. Unlike a folder, a project provides window management for the windows of its content. For example, when the user opens a document in a folder and then closes the folder, it has no effect on the window of the opened document. However, when the user closes a project window, all the child windows of objects contained in the project also close. In addition, when the user opens a project window, this action should restore the windows of objects contained within it to their previous state.

To facilitate window management, when the user minimizes a project window, you may want to minimize any windows of the objects that the project contains. Taskbar entries for these windows remain. Enable the user to restore a specific child window without restoring the project window or other windows within the project. In addition, enable the user to minimize any child window without affecting the project window. Figure 10.2 shows an example of a project.

Sample project design

Figure 10.2 A sample project design (click to enlarge image)

The windows of objects stored in the project do not share the menu bar or other areas within the project window. Instead, include the interface elements for each object in the object's own window. However, you can provide toolbar palette windows that can be shared in the windows of the objects in the project.

As with workbooks, a project should include commands for creating new objects within the project, for transferring objects in and out of the project, and for saving any changes to the objects stored in the project. In addition, a project should include commands and properties for the project object itself.

Design Trade-offs

A project provides the greatest flexibility for user placement and arrangement of its windows. It does so, however, at the cost of increasing complexity; it may be more difficult for a user to differentiate the child window of a project from windows of other applications.