Multiple-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 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 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. 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 GUI toolkit, Swing, for instance, provides the class which serves as a container for individual frames (class ). GTK lacks any standardized support for MDI. 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: 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. 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, 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) do exhibit different behavior.