Multiple document interface

related topics
{system, computer, user}
{woman, child, man}
{math, number, function}
{group, member, jewish}
{area, community, home}
{style, bgcolor, rowspan}
{@card@, make, design}

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). Such systems often allow child windows to embed other windows inside them as well, creating complex nested hierarchies. 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 (if any) can display 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). When tabs are used to manage windows, individual ones usually cannot be resized or used simultaneously.

Another option is "tiled" panes or windows, which make it easier to prevent content from overlapping.

Some applications allow the user to switch between these modes at their choosing, depending on personal preference or the task at hand.

Nearly all graphical user interface toolkits to date provide at least one solution for designing MDIs, with the exception of Apple's Cocoa. 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.


Full article ▸

related documents
Motorola 56000
Hitachi 6309
Scalable Coherent Interface
IBM 650
Internet Control Message Protocol
Single UNIX Specification
Automatic callback
Session Layer
Control unit
Arcadia 2001
Basic rate interface
Frequency-division multiplexing
Microsoft Groove
Frame (telecommunications)
Image compression
Remote concentrator
Time transfer
Burnt-in timecode
Line code
Network interface device
Atari Transputer Workstation
Amiga Chip RAM
Μ-law algorithm
Commodore 1571
Chat room
Secure cryptoprocessor
Data service unit