HOME

TheInfoList



OR:

A multiple-document interface (MDI) is a
graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
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 Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a softw ...
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 and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
changed its
Office An office is a space where the employees of an organization perform Business administration, administrative Work (human activity), work in order to support and realize the various goals of the organization. The word "office" may also denote a po ...
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 The taskbar is a graphical user interface element that has been part of Microsoft Windows since Windows 95, displaying and facilitating switching between running programs. The taskbar and the associated Start Menu were created and named in 1993 b ...
or
task manager In operating systems, a task manager is a system monitor program used to provide information about the processes and applications running on a computer, as well as the general status of the computer. Some implementations can also be used t ...
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 In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface s ...
" (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 A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
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 is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
GUI toolkit, Swing, for instance, provides the class which serves as a container for individual frames (class ).
GTK GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
lacks any standardized support for MDI.


Advantages

* With multiple-document interfaces (and also
tabbed document interface In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface s ...
s), a single menu bar and/or
toolbar The toolbar, also called a bar or standard toolbar (originally known as ribbon), is a graphical control element on which on-screen icons can be used. A toolbar often allows for quick access to functions that are commonly used in the program. Some ...
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 desktop In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP (computing), WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical ...
s 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 History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
and 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 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 Adobe Acrobat is a family of application software and web services developed by Adobe Inc. to view, create, manipulate, print and manage Portable Document Format (PDF) files. The family comprises Acrobat Reader (formerly Reader), Acrobat (former ...
: MDI until version 7.0 (
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
-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 or GIMP may refer to: Clothing * Bondage suit, also called a gimp suit, a type of suit used in BDSM * Bondage mask, also called a gimp mask, often worn in conjunction with a gimp suit Embroidery and crafts * Gimp (thread), an ornamental tr ...
: SDI with floating windows (MDI is available as an option called "Single-Window Mode" since version 2.

. *
GIMPshop GIMPshop was a modification of the Free software, free and Open-source software, open source graphics program GIMP, GNU Image Manipulation Program (GIMP), with the intent to imitate the look and feel of Adobe Photoshop. History GIMPshop was cre ...
: A
fork In cutlery or kitchenware, a fork (from 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods either to h ...
of GIMP aiming to be more like Adobe Photoshop. The
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
version has limited MD

* Chrome: Combination of MDI and TDI. * Internet Explorer 6: 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 Compi ...
, with a simplified SDI but sharing many of Kate's features via a mutual back end *
Kate Kate may refer to: People and fictional characters * Kate (given name), a list of people and fictional characters with the given name or nickname * Gyula Káté (born 1982), Hungarian amateur boxer * Lauren Kate (born 1981), American author o ...
: 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 Compi ...
, 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 editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
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 processor program, word processing program 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 platf ...
2003: MDI until
Microsoft Office Microsoft Office, MS Office, or simply Office, is an office suite and family of client software, server software, and services developed by Microsoft. The first version of the Office suite, announced by Bill Gates on August 1, 1988, at CO ...
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.
Microsoft Foundation Classes Microsoft Foundation Class Library (MFC) is a C++ Object-oriented programming, object-oriented Library (computer science), library for developing desktop applications for Windows. MFC was introduced by Microsoft in 1992 and quickly gained wides ...
(which Office is loosely based on) supports this metaphor since version 7.0, as a new feature in
Visual Studio Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development ...
2002. SDI only as of 2013. *
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements curr ...
: TDI by default, can be SDI *
Notepad++ Notepad++ (sometimes npp or NPP) is a text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in one window. The program's name comes from the C postfix increment op ...
, PSPad, TextMate and many other text editors: TDI *
Opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera") is typically ...
: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access). * Paint.NET: Thumbnail-based, TDI * 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. * Visual Studio .NET: MDI or TDI with "Window" menu, but not both * Visual Studio 6 development environment: a typical modern MDI *
mIRC mIRC is an Internet Relay Chat (IRC) client for Windows with an integrated scripting language allowing the creation of extensions. The software was first released in 1995 and has since been described as "one of the most popular IRC clients avai ...
: MDI by default, can also work on SDI mode *
Adobe Photoshop Adobe Photoshop is a raster graphics editor developed and published by Adobe Inc., Adobe for Microsoft Windows, Windows and macOS. It was created in 1987 by Thomas Knoll, Thomas and John Knoll. It is the most used tool for professional digital ...
: 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 window In user interface design, a modal window is a graphical control element subordinate to an application's main window. A modal window creates a mode that disables user interaction with the main window but keeps it visible, with the modal window ...
s). 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 In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface s ...
for sub-panes * Independent sub-panes of the parent window * GUI splitters to resize sub-panes of the parent window *
Persistence Persistence or Persist may refer to: Math and computers * Image persistence, in LCD monitors * Persistence (computer science), the characteristic of data that outlives the execution of the program that created it * Persistence of a number, a ma ...
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 NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
*
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 included the core database engine, a query system, a Form (programming), forms engine, and a pr ...
*
Eclipse An eclipse is an astronomical event which 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 ...
* Visual Studio 6 * Visual Studio .NET *
Visual Studio Code Visual Studio Code, commonly referred to as VS Code, is an integrated development environment developed by Microsoft for Windows, Linux, macOS and web browsers. Features include support for debugging, syntax highlighting, intelligent code comp ...
* RSS Bandit * 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, implementat ...
*
Microsoft Excel Microsoft Excel is a spreadsheet editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
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, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, it was purposely impossible to interleave windows from multiple applications. In spite of this, some unusual applications breaking the
human interface guidelines Human interface guidelines (HIG) are software development documents which offer application developers a set of recommendations. Their aim is to improve the experience for the users by making application interfaces more intuitive, learnable, and ...
(most notably
Photoshop Adobe Photoshop is a raster graphics editor developed and published by Adobe for Windows and macOS. It was created in 1987 by Thomas and John Knoll. It is the most used tool for professional digital art, especially in raster graphics editin ...
) do exhibit different behavior.


See also

*
Graphical user interface A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
* Comparison of document interfaces *
Tabbed document interface In interface design, a tab is a graphical user interface object that allows multiple documents or panels to be contained within a single window, using tabs as a navigational widget for switching between sets of documents. It is an interface s ...
*
Tiling window manager In computing, a tiling window manager is a window manager with the organization of the screen often dependant on mathematical formulas to organise the windows into a non-overlapping frame. This is opposed to the more common approach used by stac ...
*
Integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
* Center stage (user interface) - a user interface pattern used with single-document or IDE-style interfaces


References

*


External links


Interface Hall of Shame
arguments 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