ONE TRUE WINDOW

Aus DPWiki - The Design Pattern Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Illustration

A single calendar application running on a Palm m505
vergrößern
A single calendar application running on a Palm m505

Context

…you want to design a MOBILE APPLICATION for a handheld device. Now you are thinking about how many applications can be displayed on screen simultaneously.


Problem statement

How many applications or application windows should be displayed on screen at once?


Problem description with forces

Multiple windows are a key advantage of desktop windowing software, coming from the research work started at Xerox PARC. Multiple windows have many advantages:

  • Users can perform several tasks at one time, because several applications can be active simultaneously.
  • Interaction is modeless because users can choose a different window at any time.
  • Multiple windows can belong to single or multiple applications.
  • Multiple windows support lots of desk accessories (e.g. clocks, calculators) - each in their own window.
  • Multiple windows leave space for a desktop background that can support access to files and additional menus.

They also have several important disadvantages, especially for systems with little screen real estate:

  • Multiple windows require lots of screen space for window decorations that are used to manage the windows (especially old Macs & Windows)
  • Since users can resize the multiple windows, you have to design window layouts that will work in many different sizes.

On a large screen the advantages usually outweigh the disadvantages, although even relatively large screens can become cluttered with many applications, and lots of space is occupied by toolboxes and toolbars for many applications:

vergrößern

On a small screen, this problem would be much worse!

Examples

In the DOS, early Macintosh, PalmOS and Symbian Quartz environments only one application has an active state at a given time - and this application's window is on the screen.

The operating systems provide 'application switcher' mechanisms to change between the applications. This is sometimes done to save memory (see 'Application Switching' [1]), but - as in the case of EPOC Quartz [2] - may also be done simply to aid usability.

When the user moves to another application, any temporary user state (dialog box showing active, menus showing etc.) in the previous application is lost. For example, if you are editing a memo and have the editing cursor in the middle of some text, then you switch to the Email application and back to the Memo pad, the cursor will have moved to a safe position at the end of the memo. Similarly, if you have a dialog box or menu open it will be closed when you return.

In Symbian's Eikon environment (best known on the Psion Series 5) each application still shows only one single window, but each retains the user state even when another application is running. The operating system provides 'task switching' mechanisms for the user to switch between them. If you did the same switch between the Calculator application and the Email application, the working total will still be present.

There are, however, some examples that show how this pattern is disregarded.

In Insignia's Jeode EVM Console (Embedded Virtual Machine) [3] for example, the application window can be minimized, scaled and moved.

vergrößern
vergrößern


This, however, conflicts with the Pocket PC User Interface Guidelines [4], where only application is allowed to run at any time (actually, minimizing the EVM Console closes the application and moving the application window causes some displaying errors).

Solution

Therefore:

Have just one active application window visible.

Restrict your user interface to one active window. A design with one window is simpler: it has just one window visible at any time.

This means that users will be able to interact with only one application at a time (unless you can split that window across multiple applications).

Furthermore, because you only have one window, users have no need to resize it, so your design is simplified ("one size fits all") and you can dispense with the controls needed to resize and manage multiple windows.


Diagram

vergrößern

References

All references of Mobile Application (SAVING SCREEN SPACE, INFORMATION ARCHITECTURE AND NAVIGATION, CUP OF TEA TEST and A PICTURE IS SMALLER THAN A THOUSAND WORDS) also apply to this pattern.

Furthermore, SECONDARY WINDOW describes why sometimes it can be still reasonable to add an additional sub-window to an application.

Notes

This pattern was adopted from Charles Weir and James Noble [5]. It was modified to be adapted to the structure and format of this pattern language and supplemented where necessary.


Literature and Links

  1. Noble, J. and Weir, C. (2000): Small Memory Software. Addison-Wesley.
  2. Tasker, M. (July 2000): Designing for Quartz; paper based on material prepared for the Wrox Professional Wireless Developers Conference, Amsterdam; http://www.symbian.com/developer/techlib/papers/v6/quartz/ui/appdesign/index.html
  3. Insignia Solutions Inc.; http://www.insignia.com
  4. Microsoft Corporation (July 2003). Pocket PC User Interface Guidelines http://msdn.microsoft.com/library/en-us/ui_guide_ppc/htm/_UIguide_start.asp
  5. Weir, C. and Noble, J. (2001): A window in your pocket - Some small patterns for user interfaces. In Proceedings of the European Conference on Pattern Languages of Program Design, EuroPloP 2001. The Hillside Group, Inc.

Persönliche Werkzeuge