The Full Wiki

Multiple Document Interface: Wikis

Advertisements

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

(Redirected to Multiple document interface article)

From Wikipedia, the free encyclopedia

GIMP 2.7 development release, showing its new multiple document interface

Graphical computer applications with a multiple document interface (MDI) are those whose windows reside under a single parent window (usually except for modal windows), as opposed to all windows being separate from each other (single document interface). In the usability community, there has been much debate about which interface type is preferable. Generally, SDI is seen as more useful in cases where users work with more than one application. Software companies have used both interfaces with mixed responses. For example, Microsoft changed its Office applications from SDI to MDI mode and then back to SDI, although the degree of implementation varies from one component to another.

The disadvantage of MDI usually cited is the lack of information about the currently opened windows: In order to view a list of windows open in MDI applications, the user typically has to select a specific menu ("window list" or something similar), if this option is available at all. With an SDI application, the window manager's task bar or task manager displays the currently opened windows. In recent years, applications have increasingly added "task-bars" and "tabs" to show the currently opened windows in an MDI application, which has made this criticism somewhat obsolete. Some people call this interface "tabbed document interface" (TDI). Another When tabs are used to manage windows, individual ones usually cannot be resized.

Some suggest that ideally the user should be able to switch between these modes at their choosing, depending on personal preference or the task at hand. This way the vendor does not have to dictate one preference over another. Another option is "stacked" windows or documents, with a drag-able separation bar between them. Stacking can be vertical or horizontal. Thus, users in theory could be allowed to select between four different layout modes: MDI, SDI (tabbed), vertical stacking, and horizontal stacking. However, there are no conventions for how select or change the layout method.

Nearly all graphical user interface toolkits to date provide at least one solution for designing MDIs. The Java GUI toolkit, Swing, for instance, provides the class javax.swing.JDesktopPane which serves as a container for individual frames (class javax.swing.JInternalFrame). GTK+ lacks any standardized support for MDI.

Contents

Compared to single document interface

Advertisements

Advantages

  • With MDI (and also TDI), a single menu bar and/or toolbar is shared between all child windows, reducing clutter and increasing efficient use of screen space.
  • An application's child windows can be hidden/shown/minimized/maximized as a whole.
  • Features such as "Tile" and "Cascade" can be implemented for the child windows.
  • Possibly faster and more memory efficient, since the application is shared, and only the document changes, the speed of switching between the internal windows being usually faster than having the OS switch between external windows.
  • Some applications have keyboard shortcuts to quickly jump to the functionality needed (faster navigating) without OS or window manager support, since it happens inside the application.

Disadvantages

  • Can be tricky to implement on desktops using multiple monitors as the parent window may need to span two or more monitors.
  • Virtual desktops cannot be spanned by children of the MDI. However, in some cases, this is solveable by initiating another parent window; this is the case in Opera, for example, which allows tabs/child windows to be dragged outside of the parent window to start their own parent window. In other cases, each child window is also a parent window, forming a new, "virtual" MDI[1].
  • MDI can make it more difficult to work with several applications at once, by restricting the ways in which windows from multiple applications can be arranged together.
  • Without an MDI frame window, floating toolbars from one application can clutter the workspace of other applications, potentially confusing users with the jumble of interfaces.
  • The shared menu might change, which may cause confusion to some users.
  • MDI child windows behave differently from those in single document interface applications, requiring users to learn two subtly different windowing concepts. Similarly, the MDI parent window behaves like the desktop in many respects, but has enough differences to confuse some users.
  • Many window managers have built-in support for manipulating groups of separate windows, which is typically more flexible than MDI in that windows can be grouped and ungrouped arbitrarily. A typical policy is to group automatically windows that belong to the same application. This arguably makes MDI redundant by providing a solution to the same problem.

Switching Between SDI and MDI

Switching between SDI and MDI is possible in some programs. For example, Microsoft provides directions on how to switch SDI & MDI [2]:

- Microsoft Office Word 2007 Click the Microsoft Office Button, click Word Options, and then click Advanced. Under Display, click to select (or click to clear) the Show all windows in the Taskbar check box. Click OK

- Microsoft Office Word 2003 and earlier versions of Word On the Tools menu, click Options. On the View tab, click to select (or click to clear) the Windows in Taskbar check box. Click OK.

Application examples

Features mdi.png

  • GIMP: SDI with floating windows. (Limited MDI is available via a plug-in[3])
  • GIMPshop: A fork of GIMP aiming to be more like Adobe Photoshop. The Windows version has limited MDI.[4]
  • Adobe Photoshop: Floating windows in Mac version; MDI in Windows XP version. In newer versions, toolbars can move outside the frame window. Child windows can be outside the frame unless they are minimized or maximized.
  • Adobe Acrobat: MDI until version 7.0 (Windows-only); SDI default in 8.0 (configurable to MDI); SDI only in 9.0.
  • Microsoft Excel 2003: SDI if you start new instances of the application, but MDI if you click the "File → New" menu (but child windows optionally appear on the OS taskbar)
  • Microsoft Word 2003: MDI until Microsoft Office 97. After 2000, Word has a Multiple Top-Level Windows Interface, thus exposing to shell individual SDI instances, while the operating system recognizes it as a single instance of an MDI application. In Word 2000, this was the only interface available, but 2002 and later offer MDI as an option. Word for Mac OS was always SDI. Microsoft Foundation Classes (which Office is loosely based on) supports this metaphor since version 7.0, as a new feature in Visual Studio 2002.
  • UltraEdit: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access).
  • VEDIT: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access). Special "Full size" windows act like maximized windows, but allow smaller overlapping windows to be used at the same time. Multiple instances of Vedit can be started, which allows it to be used like an SDI application.
  • Notepad++, PSPad, TextMate and many other text editors: TDI
  • EmEditor: Options for either SDI or MDI.
  • Macromedia Studio for Windows: a hybrid interface; TDI unless document windows are un-maximized. (They are maximized by default.)
  • Corel Wordperfect: MDI. A user can open multiple instances of WP with a single document in each, if they have multiple versions of WordPerfect installed on their computer. Recent versions maintain a list of open documents for a given window on the status bar at the bottom of the window, providing a variant of the TDI.
  • Zeus for Windows: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access).

IDE-style interface

Graphical computer applications with an IDE-style interface (IDE) are those whose child windows reside under a single parent window (usually with the exception of modal windows). An IDE-style interface is distinguishable form of Multiple Document Interface (MDI), because all child windows in an IDE-style interface are enhanced with added functionality not ordinarily available in MDI applications. Because of this, IDE-style applications can be considered a functional superset and descendant of MDI applications.

Examples of enhanced child-window functionality include:

  • Dockable child windows
  • Collapsable child windows
  • Tabbed document interface for sub-panes
  • Independent sub-panes of the parent window
  • GUI splitters to resize sub-panes of the parent window
  • Persistence for window arrangements

Collapsable child windows

A common convention for child windows in IDE-style applications is the ability to collapse child windows, either when inactive, or when specified by the user. Child windows that are collapsed will conform to one of the four outer boundaries of the parent window, with some kind of label or indicator that allows them to be expanded again.

Tabbed document interface for sub-panes

In contrast to (MDI) applications, which ordinarily allow a single tabbed interface for the parent window, applications with an IDE-style interface allow tabs for organizing one or more subpanes of the parent window.

IDE-style application examples

Mac OS X

An MDI saves screen real estate by eliminating redundant menu bars on Mac OS X, because the Mac OS X GUI is application-centric instead of window-centric. As opposed to Windows, all windows belonging to an application share the same menu. These windows can be hidden and manipulated as a group, and the Dock switches between applications (i.e., groups of windows) instead of between individual windows. (Switching between windows is possible by clicking, by Exposé, and by Command-`)

However, TDIs and even some MDI-like implementations (such as Photoshop's) do eliminate UI redundancies and can lighten up the application's memory weight.

See also

External links


Advertisements






Got something to say? Make a comment.
Your name
Your email address
Message