Una interfaz de múltiples documentos ( MDI ) es una interfaz gráfica de usuario en la que varias ventanas residen bajo una única ventana principal. Estos sistemas suelen permitir que las ventanas secundarias también incorporen otras ventanas dentro de ellas, creando jerarquías anidadas complejas . Esto contrasta con las interfaces de un solo documento ( SDI ) donde todas las ventanas son independientes entre sí.
Comparación con la interfaz de documento único
En la comunidad de usabilidad , ha habido mucho debate sobre si es preferible la interfaz de múltiples documentos o la de un solo documento. Las empresas de software han utilizado ambas interfaces con respuestas dispares. Por ejemplo, Microsoft cambió sus aplicaciones Office del modo SDI al modo MDI y luego volvió a SDI, aunque el grado de implementación varía de un componente a otro. SDI puede ser más útil en casos en los que los usuarios cambian con más frecuencia entre aplicaciones separadas que entre las ventanas de una aplicación.
La interfaz MDI puede resultar confusa si no tiene información sobre las ventanas abiertas en ese momento. En las aplicaciones MDI, el desarrollador de la aplicación debe proporcionar una forma de cambiar entre documentos o ver una lista de ventanas abiertas, y el usuario puede tener que usar un menú específico de la aplicación ("lista de ventanas" o algo similar) para cambiar entre documentos abiertos. Esto es diferente de las aplicaciones SDI, en las que la barra de tareas del administrador de ventanas o el administrador de tareas muestran las ventanas abiertas en ese momento. En los últimos años, se ha vuelto cada vez más común que las aplicaciones MDI utilicen "pestañas" para mostrar las ventanas abiertas en ese momento. Una interfaz en la que se utilizan pestañas para administrar documentos abiertos se conoce como " interfaz de documento con pestañas " (TDI). Otra opción son los paneles o ventanas "en mosaico", que facilitan la prevención de la superposición de contenido.
Algunas aplicaciones permiten al usuario cambiar entre estos modos a su elección, dependiendo de sus preferencias personales o de la tarea en cuestión.
Casi todos los kits de herramientas de interfaz gráfica de usuario hasta la fecha proporcionan al menos una solución para diseñar MDI. Una excepción notable fue la API Cocoa de Apple hasta la llegada de los grupos de ventanas con pestañas en MacOS High Sierra . El kit de herramientas de interfaz gráfica de usuario de Java , Swing , por ejemplo, proporciona la clase javax.swing.JDesktopPaneque sirve como contenedor para marcos individuales (class javax.swing.JInternalFrame). GTK carece de cualquier soporte estandarizado para MDI.
Ventajas
En las interfaces de documentos múltiples (y también en las interfaces de documentos con pestañas ), se comparte una única barra de menú o barra de herramientas entre todas las ventanas secundarias, lo que reduce el desorden y aumenta el uso eficiente del espacio de la pantalla. Este argumento es menos relevante en un sistema operativo que utiliza una barra de menú común.
Las ventanas secundarias de una aplicación se pueden ocultar/mostrar/minimizar/maximizar como un todo.
Se pueden implementar funciones como "Mosaico" y "Cascada" para las ventanas secundarias.
Los autores de aplicaciones multiplataforma pueden ofrecer a sus usuarios un comportamiento de aplicación consistente entre plataformas.
Si el entorno de ventanas y el sistema operativo carecen de una buena gestión de ventanas, el autor de la aplicación puede implementarla por sí mismo.
Modularidad: Un gestor de ventanas avanzado se puede actualizar independientemente de las aplicaciones.
Desventajas
Sin una ventana de marco MDI, las barras de herramientas flotantes de una aplicación pueden saturar el espacio de trabajo de otras aplicaciones, confundiendo potencialmente a los usuarios con la mezcla de interfaces.
Puede ser complicado de implementar en escritorios que usan múltiples monitores, ya que es posible que la ventana principal deba abarcar dos o más monitores, ocultando secciones.
Los escritorios virtuales no pueden ser abarcados por elementos secundarios del MDI. Sin embargo, en algunos casos, esto se puede solucionar iniciando otra ventana principal; este es el caso de Opera y Chrome , por ejemplo, que permiten arrastrar pestañas o ventanas secundarias fuera de la ventana principal para iniciar su propia ventana principal. En otros casos, cada ventana secundaria es también una ventana principal, formando un nuevo MDI "virtual" [1].
MDI puede dificultar el trabajo con varias aplicaciones a la vez, al restringir las formas en que las ventanas de múltiples aplicaciones pueden organizarse juntas sin obstruirse entre sí.
El menú compartido puede cambiar, lo que puede causar confusión a algunos usuarios.
Las ventanas secundarias MDI se comportan de forma diferente a las de las aplicaciones con interfaz de un solo documento , lo que requiere que los usuarios aprendan dos conceptos de ventanas sutilmente diferentes. De manera similar, la ventana principal MDI se comporta como el escritorio en muchos aspectos, pero tiene suficientes diferencias como para confundir a algunos usuarios.
Las jerarquías profundamente anidadas y ramificadas de ventanas secundarias pueden resultar confusas.
Muchos administradores de ventanas tienen soporte integrado para manipular grupos de ventanas independientes, lo que suele ser más flexible que MDI, ya que las ventanas se pueden agrupar y desagrupar de forma arbitraria. Una política típica es agrupar automáticamente las ventanas que pertenecen a la misma aplicación. Podría decirse que esto hace que MDI sea redundante al proporcionar una solución al mismo problema.
Es posible que los controles y las teclas de acceso rápido aprendidos para la aplicación MDI no se apliquen a otros, mientras que con un Administrador de ventanas avanzado, se comparten más configuraciones de comportamiento y preferencias del usuario entre las aplicaciones cliente en el mismo sistema.
Ejemplos de aplicación
Adobe Acrobat : MDI hasta la versión 7.0 ( solo Windows ); SDI predeterminado en 8.0 (configurable a MDI); SDI solo en 9.0; MDI (con una interfaz con pestañas) en la versión 2015.
Corel Wordperfect : MDI. Un usuario puede abrir varias instancias de WP con un solo documento en cada una, si tiene varias versiones de WordPerfect instaladas en su computadora. Las versiones recientes mantienen una lista de documentos abiertos para una ventana determinada en la barra de estado en la parte inferior de la ventana, lo que proporciona una variante del TDI.
KWrite : Otro editor de texto diseñado para KDE Software Compilation , con un SDI simplificado pero que comparte muchas de las características de Kate a través de un back end mutuo
Macromedia Studio para Windows: una interfaz híbrida; TDI a menos que las ventanas de documentos no estén maximizadas (de manera predeterminada, están maximizadas).
Microsoft Excel 2003: SDI si inicia nuevas instancias de la aplicación, pero MDI si hace clic en el menú "Archivo ? Nuevo" (aunque las ventanas secundarias aparecen opcionalmente en la barra de tareas del sistema operativo). SDI solo a partir de 2013.
Microsoft Word 2003: MDI hasta Microsoft Office 97. Después de 2000, Word tiene una interfaz de múltiples ventanas de nivel superior, lo que expone al shell instancias individuales de SDI, mientras que el sistema operativo lo reconoce como una sola instancia de una aplicación MDI. En Word 2000, esta era la única interfaz disponible, pero 2002 y posteriores ofrecen MDI como una opción. Microsoft Foundation Classes (en la que se basa Office) admite esta metáfora desde la versión 7.0, como una nueva característica en Visual Studio 2002. SDI solo a partir de 2013.
UltraEdit : combinación de MDI y TDI (una verdadera interfaz MDI con una barra de pestañas para acceso rápido).
VEDIT : combinación de MDI y TDI (una verdadera interfaz MDI con una barra de pestañas para un acceso rápido). Las ventanas especiales de "tamaño completo" actúan como ventanas maximizadas, pero permiten utilizar ventanas superpuestas más pequeñas al mismo tiempo. Se pueden iniciar varias instancias de Vedit, lo que permite utilizarlo como una aplicación SDI.
mIRC : MDI por defecto, también puede funcionar en modo SDI
Adobe Photoshop : MDI en Windows. En las versiones más nuevas, las barras de herramientas pueden moverse fuera del marco de la ventana. Las ventanas secundarias pueden estar fuera del marco a menos que estén minimizadas o maximizadas.
Interfaz de estilo IDE
Las aplicaciones gráficas de ordenador con una interfaz de estilo IDE (IDE) son aquellas cuyas ventanas secundarias residen bajo una única ventana principal (normalmente con la excepción de las ventanas modales ). Una interfaz de estilo IDE se distingue de la interfaz de múltiples documentos (MDI), porque todas las ventanas secundarias de una interfaz de estilo IDE se mejoran con funcionalidades añadidas que normalmente no están disponibles en las aplicaciones MDI. Por ello, las aplicaciones de estilo IDE pueden considerarse un superconjunto funcional y descendiente de las aplicaciones MDI.
Algunos ejemplos de funcionalidad mejorada de ventanas secundarias incluyen:
Una convención común para las ventanas secundarias en aplicaciones de estilo IDE es la capacidad de contraerlas, ya sea cuando están inactivas o cuando lo especifica el usuario. Las ventanas secundarias que están contraídas se ajustarán a uno de los cuatro límites externos de la ventana principal, con algún tipo de etiqueta o indicador que permita volver a expandirlas.
Interfaz de documento con pestañas para subpaneles
A diferencia de las aplicaciones (MDI), que normalmente permiten una única interfaz con pestañas para la ventana principal, las aplicaciones con una interfaz de estilo IDE permiten pestañas para organizar uno o más subpaneles de la ventana principal.
MacOS y su interfaz gráfica de usuario están centrados en documentos en lugar de centrarse en ventanas o aplicaciones. Cada ventana de documento es un objeto con el que el usuario puede trabajar. La barra de menú cambia para reflejar la aplicación a la que pertenece la ventana principal. Las ventanas de aplicación se pueden ocultar y manipular como un grupo, y el usuario puede cambiar entre aplicaciones (es decir, grupos de ventanas) o entre ventanas individuales, ocultando automáticamente las paletas , y la mayoría de los programas seguirán ejecutándose incluso sin ventanas abiertas. De hecho, antes de Mac OS X , era deliberadamente imposible intercalar ventanas de múltiples aplicaciones.
A pesar de esto, algunas aplicaciones inusuales que rompen las pautas de la interfaz humana (especialmente Photoshop ) muestran un comportamiento diferente.