Multiple Document Interface
Graphical computer applications with a Multiple Document Interface (MDI) are those whose windows all reside under a single parent window (usually with the exception of modal windows), as opposed to all windows being separate from each other (Single Document Interface). In the usability community, there has been much debate over which interface type is preferable. Companies have used both interfaces with mixed responses. For example, Microsoft has changed its Office applications from MDI to SDI mode and vice versa several times.
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. When tabs are used to manage windows, individual ones can usually not be resized, which has inspired some people to use a different name for this interface, "Tabbed Document Interface" (TDI).
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
The acronym MDI is usually not expanded.
Example of an MDI based on internal frames. The MDI shown here was written in Java.