A multiple-document interface (MDI) is a
graphical user interface in which multiple windows reside under a single parent window. Such systems often allow child windows to embed other windows inside them as well, creating complex
nested hierarchies. This contrasts with single-document interfaces (SDI) where all windows are independent of each other.
Comparison with single-document interface
In the
usability community, there has been much debate about whether the multiple-document or single-document interface is preferable. Software companies have used both interfaces with mixed responses. For example,
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
changed its
Office
An office is a space where an organization's employees perform administrative work in order to support and realize objects and goals of the organization. The word "office" may also denote a position within an organization with specific d ...
applications from SDI to MDI mode and then back to SDI, although the degree of implementation varies from one component to another. SDI can be more useful in cases where users switch more often between separate applications than among the windows of one application.
MDI can be confusing if it has a lack of information about the currently opened windows. In MDI applications, the application developer must provide a way to switch between documents or view a list of open windows, and the user might have to use an application-specific menu ("window list" or something similar) to switch between open documents. This is different from SDI applications where the window manager's
task bar or
task manager displays the currently opened windows. In recent years it has become increasingly common for MDI applications to use "tabs" to display the currently opened windows. An interface in which tabs are used to manage open documents is referred to as a "
tabbed document interface" (TDI). 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. A notable exception was
Apple's Cocoa API until the advent of tabbed window groups in
MacOS High Sierra. The
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
GUI toolkit,
Swing
Swing or swinging may refer to:
Apparatus
* Swing (seat), a hanging seat that swings back and forth
* Pendulum, an object that swings
* Russian swing, a swing-like circus apparatus
* Sex swing, a type of harness for sexual intercourse
* Swing rid ...
, for instance, provides the class which serves as a container for individual frames (class ).
GTK lacks any standardized support for MDI.
Advantages
* With multiple-document interfaces (and also
tabbed document interfaces), a single menu bar and/or
toolbar is shared between all child windows, reducing clutter and increasing efficient use of screen space. This argument is less relevant on an operating system which uses a common menu bar.
* 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.
* Authors of cross-platform applications can provide their users with consistent application behaviour between platforms.
* If the windowing environment and OS lack good window management, the application author can implement it themselves.
* Modularity: An advanced window manager can be upgraded independently of the applications.
Disadvantages
* 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.
* Can be tricky to implement on desktops using multiple monitors as the parent window may need to span two or more monitors, hiding sections.
*
Virtual desktops cannot be spanned by children of the MDI. However, in some cases, this is solvable by initiating another parent window; this is the case in
Opera
Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a libre ...
and
Chrome
Chrome may refer to:
Materials
* Chrome plating, a process of surfacing with chromium
* Chrome alum, a chemical used in mordanting and photographic film
Computing
* Google Chrome, a web browser developed by Google
** ChromeOS, a Google Chrome- ...
, 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" MD
* 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 obscuring each other.
* The shared menu might change, which may cause confusion to some users.
* MDI child windows behave differently from those in
single-document interface
A multiple-document interface (MDI) is a graphical user interface in which multiple windows reside under a single parent window. Such systems often allow child windows to embed other windows inside them as well, creating complex Hierarchy#Nested hi ...
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.
* Deeply nested, branching hierarchies of child windows can be confusing.
* 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.
* Controls and hotkeys learned for the MDI application may not apply to others, whereas with an advanced Window Manager, more behavior and user preference settings are shared across client applications on the same system
Application examples
*
Adobe Acrobat: MDI until version 7.0 (
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
-only); SDI default in 8.0 (configurable to MDI); SDI only in 9.0; MDI (with a tabbed interface) in version 2015.
*
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.
*
EmEditor: Options for either SDI or MDI.
*
GIMP
GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized ...
: SDI with floating windows (MDI is available as an option called "Single-Window Mode" since version 2.
.
*
GIMPshop: A
fork of GIMP aiming to be more like Adobe Photoshop. The
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
version has limited MD
*
Chrome
Chrome may refer to:
Materials
* Chrome plating, a process of surfacing with chromium
* Chrome alum, a chemical used in mordanting and photographic film
Computing
* Google Chrome, a web browser developed by Google
** ChromeOS, a Google Chrome- ...
: Combination of MDI and TDI.
*
Internet Explorer 6
Microsoft Internet Explorer 6 (IE6) is a graphical web browser developed by Microsoft for Windows operating systems. Released on August 24, 2001, it is the sixth, and by now discontinued, version of Internet Explorer and the successor to Inter ...
: a typical SDI application
*
KWrite: Another text editor designed for the
KDE Software Compilation
The KDE Software Compilation (KDE SC) was an umbrella term for the desktop environment plus a range of included applications produced by KDE. From its 1.0 release in July 1998 until the release of version 4.4 in February 2010, the Software Com ...
, with a simplified SDI but sharing many of Kate's features via a mutual
back end
*
Kate: Text editor designed for the
KDE Software Compilation
The KDE Software Compilation (KDE SC) was an umbrella term for the desktop environment plus a range of included applications produced by KDE. From its 1.0 release in July 1998 until the release of version 4.4 in February 2010, the Software Com ...
, with advanced features and a sophisticated MDI
*
Macromedia Studio for Windows: a hybrid interface; TDI unless document windows are un-maximized. (They are maximized by default.)
*
Microsoft Excel
Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS, Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro programming language called Visual Basic for ...
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). SDI only as of 2013.
*
Microsoft Word
Microsoft Word is a word processing software developed by Microsoft. It was first released on October 25, 1983, under the name ''Multi-Tool Word'' for Xenix systems. Subsequent versions were later written for several other platforms includi ...
2003: MDI until
Microsoft Office
Microsoft Office, or simply Office, is the former name of a family of client software, server software, and services developed by Microsoft. It was first announced by Bill Gates on August 1, 1988, at COMDEX in Las Vegas. Initially a ma ...
97. After 2000, Word has a
Multiple Top-Level Windows Interface
Multiple may refer to:
Economics
*Multiple finance, a method used to analyze stock prices
*Multiples of the price-to-earnings ratio
*Chain stores, are also referred to as 'Multiples'
*Box office multiple, the ratio of a film's total gross to tha ...
, 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.
Microsoft Foundation Classes (which Office is loosely based on) supports this metaphor since version 7.0, as a new feature in
Visual Studio 2002. SDI only as of 2013.
*
Firefox: TDI by default, can be SDI
*
Notepad++,
PSPad,
TextMate and many other text editors: TDI
*
Opera
Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a libre ...
: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access).
*
Paint.NET: Thumbnail-based, TDI
*
UltraEdit
UltraEdit is a commercial text editor for Microsoft Windows, Linux and OS X created in 1994 by the founder of IDM Computer Solutions Inc., Ian D. Mead, and owned by Idera, Inc. since August 2021. The editor contains tools for programmers, includi ...
: 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.
*
Visual Studio .NET: MDI or TDI with "Window" menu, but not both
*
Visual Studio 6 development environment: a typical modern MDI
*
mIRC: MDI by default, can also work on SDI mode
*
Adobe Photoshop: MDI under Windows. In newer versions, toolbars can move outside the frame window. Child windows can be outside the frame unless they are minimized or maximized.
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 from the 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
* Collapsible 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
Collapsible 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
*
NetBeans
*
dBASE
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system includes the core database engine, a query system, a forms engine, and a programming langua ...
*
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
*
Visual Studio 6
*
Visual Studio .NET
*
RSS Bandit
RSS Bandit is an open source RSS/Atom aggregator based on the Microsoft .NET framework. It was originally released as a code sample in a series of articles the Extreme XML column written by Dare Obasanjo on MSDN in 2003. The code samples were ...
*
JEdit
*
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
*
Microsoft Excel
Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS, Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro programming language called Visual Basic for ...
when in MDI mode (see above).
Macintosh
MacOS and its GUI are document-centric instead of window-centric or application-centric. Every document window is an object with which the user can work. The menu bar changes to reflect whatever application the front window belongs to. Application windows can be hidden and manipulated as a group, and the user may switch between applications (i.e., groups of windows) or between individual windows, automatically hiding
palettes, and most programs will stay running even with no open windows. Indeed, prior to
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, it was purposely impossible to interleave windows from multiple applications.
In spite of this, some unusual applications breaking the
human interface guidelines (most notably
Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe Inc. for Windows and macOS. It was originally created in 1988 by Thomas and John Knoll. Since then, the software has become the industry standard not only in ras ...
) do exhibit different behavior.
See also
*
Graphical user interface
*
Comparison of document interfaces
The following table compares general and technical information for document interfaces.
See also
* Tabbed document interface#Comparison to SDI
* Tabbed document interface#Comparison to MDI
* Multiple document interface#Comparison with singl ...
*
Tabbed document interface
*
Tiling window manager
*
Integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
References
*
External links
Interface Hall of Shamearguments against MDI
MDI forms in .net using C# and Visual Studio 2010 Express
{{DEFAULTSORT:Multiple Document Interface
Graphical user interfaces
User interface techniques
Document interface