Multiple Document Interface Article Index for
Multiple
Website Links For
Multiple
 

Information About

Multiple Document Interface




.]]


Graphical computer applications with a Multiple Document Interface (MDI) are those whose windows reside under a single parent window (usually with the exception of Modal Window s), as opposed to all windows being separate from each other ( Single Document Interface ). The Initialism MDI is usually not expanded. In the Usability community, there has been much debate over which interface type is preferable. Generally SDI is seen as more useful in cases where users work with more than one application. Companies have used both interfaces with mixed responses. For example, Microsoft has 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 use a different name for this interface, " Tabbed Document Interface " (TDI). When tabs are used to manage windows, individual ones can usually not be resized.

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


COMPARED TO SINGLE DOCUMENT INTERFACE


Advantages

  • Many child windows do not fill up the OS task management interface, as they are hierarchically organized. Users simply switch applications.

  • 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.

  • All child windows for an application can be hidden/shown/minimized/maximized as a whole.

  • Features such as "Tile" and "Cascade" can be implemented for the child windows.



Disadvantages

  • Cannot be used successfully on desktops using multiple monitors.

  • Cannot be used successfully with multiple Virtual Desktop s.

  • 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 changes, 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.



APPLICATION EXAMPLES

  • Internet Explorer 6 : This is a typical SDI application

  • Visual Studio 6 development environment: This is a typical modern implementation of MDI

  • Visual Studio .NET : MDI or TDI with "Window" menu, but not both

  • Firefox : TDI by default, can be SDI instead

  • Opera : MDI combined with TDI

  • GIMP : Floating windows (limited MDI is available via " Deweirdifier " plugin)

  • form) has the " Deweirdifier " plug in built-in

  • Adobe Photoshop : Floating windows in Mac version; MDI in Windows XP version. In newer versions of Photoshop, toolbars can move outside the frame window. Child windows can be outside of the frame unless they are minimized or maximized.

  • version only)

  • Microsoft Excel 2003: Excel is SDI if you start new instances of the application, but classic MDI if you click the "File → New" menu (except the child windows appear on the OS taskbar)

  • application, thus exposing to shell as many individual SDI instances while the operating system recognizes it as a single instance of an MDI Application. MFC (which Microsoft Office is loosely based upon) supports this metaphor from version 7.0, as a new Feature in Visual Studio 2002.

  • UltraEdit : Combination of MDI & TDI (a true MDI interface with a tab bar for quick access).

  • Notepad++ : TDI

  • Macromedia Studio under Windows uses a hybrid interface. If document windows are maximized, as they are by default, the program presents a TDI, however, if the windows are un-maximized it presents an MDI.

  • Corel Wordperfect : MDI, although a user can open multiple instances of WP with a single document in each, if they wish to. Version X3 maintains a list of open docs for a given window on the status bar at the bottom of the window, providing a variant of the TDI. (earlier version info needed)



Classic examples

This is a list of examples from back in the days of Windows 95 , and Windows 3.x


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 Window s). 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

This problem that MDI solves does not occur 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, they can be hidden and manipulated as a group, and switching occurs between applications (i e groups of windows) instead of between individual windows.


SEE ALSO



EXTERNAL LINKS