Multiple document interface
Encyclopedia
Graphical computer applications with a multiple document interface (MDI) are those whose windows reside under a single parent window (usually except for modal window
Modal window
In user interface design, a modal window is a child window that requires users to interact with it before they can return to operating the parent application, thus preventing the workflow on the application main window...

s), as opposed to all windows being separate from each other (single document interface
Single document interface
In graphical user interfaces, a single document interface or SDI is a method of organizing graphical user interface applications into individual windows that the operating system's window manager handles separately. Each window contains its own menu or tool bar, and does not have a "background"...

). Such systems often allow child windows to embed other windows inside them as well, creating complex nested hierarchies. In the usability
Usability
Usability is the ease of use and learnability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with. A usability study may be conducted as a primary job function by a usability analyst or as a secondary job...

 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
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 changed its Office
Microsoft Office
Microsoft Office is a non-free commercial office suite of inter-related desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of...

 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
Task manager
A task manager is a program used to provide information about the processes and programs running on a computer, as well as the general status of the computer. It can also be used to terminate processes and programs, as well as change the processes priority...

 (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).

Another option is "tiled" panes
Paned window
A paned window is a window that is divided into sections known as panes. Originally, the meaning pertained to sectioned glass windows in walls.Computer scientists have adopted the term "pane" to refer to parts of sectioned windows on a graphical display...

 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
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 toolkits to date provide at least one solution for designing MDIs, an exception being Apple's Cocoa
Cocoa (API)
Cocoa is Apple's native object-oriented application programming interface for the Mac OS X operating system and—along with the Cocoa Touch extension for gesture recognition and animation—for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and...

. The Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 GUI toolkit, Swing
Swing (Java)
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....

, for instance, provides the class which serves as a container for individual frames (class ). GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

 lacks any standardized support for MDI.

Advantages

  • With MDI (and also TDI), a single menu bar and/or toolbar
    Toolbar
    In a graphical user interface, on a computer monitor, a toolbar is a GUI widget on which on-screen buttons, icons, menus, or other input or output elements are placed. Toolbars are seen in office suites, graphics editors, and web browsers...

     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.
  • Possibly faster and more memory efficient, since the application is shared, and only the document changes, the speed of switching between the internal windows being usually faster than having the OS
    Operating system
    An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

     switch between external windows.
  • If the windowing environment and OS lacks good window management, the application author can implement it themselves, and give consistent application behavior between platforms
  • 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.

Disadvantages

  • 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
    Virtual desktop
    In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the size of a computer's desktop environment is expanded beyond the physical limits of the screen's real estate through the use of software, This saves space...

    s cannot be spanned by children of the MDI. However, in some cases, this is solveable by initiating another parent window; this is the case in Opera
    Opera (web browser)
    Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

     and Chrome
    Google Chrome
    Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...

    , 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" MDI http://hypotext.webs.com/web1.htm.
  • 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
    Single document interface
    In graphical user interfaces, a single document interface or SDI is a method of organizing graphical user interface applications into individual windows that the operating system's window manager handles separately. Each window contains its own menu or tool bar, and does not have a "background"...

     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
  • Modularity: An advanced window manager can be upgraded independently of the applications

Application examples

  • Internet Explorer 6
    Internet Explorer 6
    Internet Explorer 6 is the sixth major revision of Internet Explorer, a web browser developed by Microsoft for Windows operating systems...

    : a typical SDI application
  • Visual Studio 6 development environment: a typical modern MDI
  • Visual Studio .NET: MDI or TDI with "Window" menu, but not both
  • Opera
    Opera (web browser)
    Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...

    : Combination of MDI and TDI.
  • Paint.NET
    Paint.NET
    Paint.NET is a proprietary freeware raster graphics editor program for Microsoft Windows, developed on the .NET Framework. Originally created by Rick Brewster as a Washington State University student project, Paint.NET has evolved from a simple replacement for the Microsoft Paint program, which is...

    : Thumbnail-based, TDI
  • Firefox
    Mozilla Firefox
    Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

    : TDI by default, can be SDI

  • GIMP
    GIMP
    GIMP is a free software raster graphics editor. It is primarily employed as an image retouching and editing tool and is freely available in versions tailored for most popular operating systems including Microsoft Windows, Apple Mac OS X, and Linux.In addition to detailed image retouching and...

    : SDI with floating windows. (Limited MDI is available via a plug-in http://blog.yumdap.net/archives/20-GIMPshop-for-Windows.html)
  • GIMPshop
    GIMPshop
    GIMPshop is a modification of the free and open source graphics program GNU Image Manipulation Program , with the intent to replicate the feel of Adobe Photoshop. Its primary purpose is to make users of Photoshop feel comfortable using GIMP...

    : A fork
    Fork (software development)
    In software engineering, a project fork happens when developers take a legal copy of source code from one software package and start independent development on it, creating a distinct piece of software...

     of GIMP aiming to be more like Adobe Photoshop. The Windows version has limited MDI.http://blog.yumdap.net/archives/20-GIMPshop-for-Windows.html
  • Adobe Photoshop
    Adobe Photoshop
    Adobe Photoshop is a graphics editing program developed and published by Adobe Systems Incorporated.Adobe's 2003 "Creative Suite" rebranding led to Adobe Photoshop 8's renaming to Adobe Photoshop CS. Thus, Adobe Photoshop CS5 is the 12th major release of Adobe Photoshop...

    : MDI under MS Windows. In newer versions, toolbars can move outside the frame window. Child windows can be outside the frame unless they are minimized or maximized.
  • Adobe Acrobat
    Adobe Acrobat
    Adobe Acrobat is a family of application software developed by Adobe Systems to view, create, manipulate, print and manage files in Portable Document Format . All members of the family, except Adobe Reader , are commercial software, while the latter is available as freeware and can be downloaded...

    : MDI until version 7.0 (Windows-only); SDI default in 8.0 (configurable to MDI); SDI only in 9.0.
  • Microsoft Excel
    Microsoft Excel
    Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...

     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)
  • Microsoft Word
    Microsoft Word
    Microsoft Word is a word processor designed by Microsoft. It was first released in 1983 under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platforms including IBM PCs running DOS , the Apple Macintosh , the AT&T Unix PC , Atari ST , SCO UNIX,...

     2003: MDI until Microsoft Office
    Microsoft Office
    Microsoft Office is a non-free commercial office suite of inter-related desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of...

     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 (which Office is loosely based on) supports this metaphor since version 7.0, as a new feature in Visual Studio 2002.
  • UltraEdit
    UltraEdit
    UltraEdit is a commercial text editor for Microsoft Windows, Linux and created in 1994 by Ian D. Mead. The editor contains tools for programmers, including macros, configurable syntax highlighting, code folding, file type conversions, project management, regular expressions for search-and-replace,...

    : Combination of MDI and TDI (a true MDI interface with a tab bar for quick access).
  • VEDIT
    VEDIT
    Vedit is a commercial text editor for Microsoft Windows and MS-DOS from Greenview Data, Inc.Vedit was one of the pioneers in visual editing. Today, it is a powerful and feature-rich general-purpose text editor....

    : 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.
  • Notepad++
    Notepad++
    Notepad++ is a text editor and source code editor for Windows. One advantage of Notepad++ over the built-in Windows text editor, Notepad, is tabbed editing, which allows working with multiple open files.Notepad++ is distributed as free software...

    , PSPad
    PSPad
    PSPad editor is a freeware text editor and source editor intended for use by programmers. First released in 2001, this software is produced by the single Czech developer Jan Fiala for the Windows platform....

    , TextMate
    TextMate
    TextMate is a general-purpose GUI text editor for Mac OS X created by Allan Odgaard. Popular with programmers, some notable features include declarative customizations, tabs for open documents, recordable macros, folding sections and snippets, shell integration, and an extensible bundle...

     and many other text editors: TDI
  • EmEditor
    EmEditor
    EmEditor is a lightweight extensible commercial text editor for Microsoft Windows. It was developed by Yutaka Emura of Emurasoft, Inc. EmEditor includes full Unicode support, 32-bit and 64-bit builds, syntax highlighting, find and replace with regular expressions, vertical selection editing,...

    : Options for either SDI or MDI.
  • Macromedia Studio for Windows: a hybrid interface; TDI unless document windows are un-maximized. (They are maximized by default.)
  • 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.
  • Zeus for Windows: Combination of MDI and TDI (a true MDI interface with a tab bar for quick access).
  • mIRC
    MIRC
    mIRC is an Internet Relay Chat client for Microsoft Windows, created in 1995 and developed by Khaled Mardam-Bey. Although it is a fully functional chat utility, its integrated scripting language makes it extensible and versatile....

    : MDI by default, can also work on SDI mode


IDE-style interface

Graphical computer applications with an IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

-style interface
(IDE) are those whose child windows reside under a single parent window (usually with the exception of modal window
Modal window
In user interface design, a modal window is a child window that requires users to interact with it before they can return to operating the parent application, thus preventing the workflow on the application main 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
    Persistence (computer science)
    Persistence in computer science refers to the characteristic of state that outlives the process that created it. Without this capability, state would only exist in RAM, and would be lost when this RAM loses power, such as a computer shutdown....

     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
    NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment for developing with Java, JavaScript, PHP, Python, Groovy, C, C++, Scala, Clojure, and others...

  • Eclipse
    Eclipse (software)
    Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...

  • Visual Studio 6
  • Visual Studio .NET
  • RSS Bandit
    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 articles were and . A number of readers of the article liked the product...

  • JEdit
    JEdit
    jEdit is a text editor for programmers, available under the GNU General Public License version 2.0. It is written in Java and runs on any operating system with Java support, including Windows, Linux, Mac OS X, and BSD.-Development:...

  • MATLAB
    MATLAB
    MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

  • Microsoft Office Excel when in MDI mode (see above).

Macintosh

Because only a fixed system-wide menubar exists on the Macintosh, but the concept of nested windows does not, Macintosh applications in general might be thought of as somewhat similar to MDI with a fullscreen see-through parent window (if one ignores multiple monitors, virtual desktop
Virtual desktop
In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the size of a computer's desktop environment is expanded beyond the physical limits of the screen's real estate through the use of software, This saves space...

s (Spaces
Spaces (software)
Spaces was a virtual desktop feature of Mac OS X, introduced in version 10.5 "Leopard". It was announced by Steve Jobs during the opening keynote at the Worldwide Developers Conference on August 7, 2006...

) and the interleaving of windows from multiple applications).

Mac OS 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
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, 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
Human interface guidelines 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 consistent. Most guides limit themselves to defining a...

 (most notably Photoshop) do exhibit different behavior.

See also

  • Graphical user interface
    Graphical user interface
    In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

  • Comparison of document interfaces
  • Tabbed document interface
  • Single document interface
    Single document interface
    In graphical user interfaces, a single document interface or SDI is a method of organizing graphical user interface applications into individual windows that the operating system's window manager handles separately. Each window contains its own menu or tool bar, and does not have a "background"...

  • Tiling window manager
    Tiling window manager
    In computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects that tries to fully emulate the desktop metaphor.-Xerox PARC:Although the...

  • Integrated development environment
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK