Primary windows

Primary windows are the basic high-level container for your application user interface, and should present the core functionality of your application.

When to use

Every application should have at least one primary window associated with it.

Application types

There are two main models for primary windows:

Single instance applications

Single instance applications have a single primary window. This model is common for messaging applications, such as email, chat, or contacts.

Multiple instance applications

Multiple instance applications can have multiple primary windows. Typically, each primary window will be identical. Multi-instance applications are frequently viewers or editors, such as for documents or images.

Both single and multiple instance applications can allow multiple content items to be opened, either through the use of tabs or browser-style navigation. However, multiple windows do offer additional capabilities, which include:

  • Viewing several content items alongside each other.

  • Placing content on different workspaces.

  • Organizing sets of content into different windows (if using tabs).

General guidelines

  • If your application isn’t running and its launcher is activated, a single primary window should be displayed. Do not show multiple windows when your application is initially launched.

  • If your application launcher is selected while your application is running, all its primary windows should be displayed.

  • Primary windows should host the main functionality of your application. Do not rely on dialogs or secondary windows in order to present basic functionality.

  • Primary windows should be independent - closing one primary window should not result in other primary windows being closed.

  • Dialog windows should always be dependent on a primary window. See the dialogs page guidelines.

  • Your application should cease to run when all its primary windows have been closed.

  • Quit should close all primary windows.