Una interfaz de documentos múltiples ( MDI ) es una interfaz gráfica de usuario en la que varias ventanas residen bajo una única ventana principal. Estos sistemas a menudo permiten que las ventanas secundarias también incorporen otras ventanas dentro de ellas, creando jerarquías anidadas complejas . Esto contrasta con las interfaces de documento único ( SDI ) donde todas las ventanas son independientes entre sí.
Comparación con la interfaz de un solo documento
En la comunidad de usabilidad , ha habido mucho debate sobre si es preferible la interfaz de documentos múltiples o de un solo documento. Las empresas de software han utilizado ambas interfaces con respuestas mixtas. Por ejemplo, Microsoft cambió sus aplicaciones Office del modo SDI al modo MDI y luego nuevamente al modo SDI, aunque el grado de implementación varía de un componente a otro. SDI puede ser más útil en casos donde los usuarios cambian con más frecuencia entre aplicaciones separadas que entre las ventanas de una aplicación.
MDI puede resultar confuso si carece de información sobre las ventanas abiertas actualmente. En las aplicaciones MDI, el desarrollador de la aplicación debe proporcionar una manera de cambiar entre documentos o ver una lista de ventanas abiertas, y es posible que el usuario tenga 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 donde la barra de tareas del administrador de ventanas o el administrador de tareas muestran las ventanas abiertas actualmente. 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 actualmente. Una interfaz en la que se utilizan pestañas para gestionar documentos abiertos se denomina " interfaz de documento con pestañas " (TDI). Otra opción son los paneles o ventanas en "mosaicos", que facilitan evitar que el contenido se superponga.
Algunas aplicaciones permiten al usuario cambiar entre estos modos a su elección, según sus preferencias personales o 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 Java GUI, Swing , por ejemplo, proporciona la clase javax.swing.JDesktopPaneque sirve como contenedor para marcos individuales (clase javax.swing.JInternalFrame). GTK carece de soporte estandarizado para MDI.
Ventajas
Con interfaces de múltiples documentos (y también interfaces de documentos con pestañas ), se comparte una única barra de menú y/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 en su conjunto.
Se pueden implementar funciones como "Tile" y "Cascade" para las ventanas secundarias.
Los autores de aplicaciones multiplataforma pueden proporcionar a sus usuarios un comportamiento de aplicación coherente 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 administrador 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 confusión de interfaces.
Puede ser complicado implementarlo en escritorios que utilizan varios monitores, ya que es posible que la ventana principal deba abarcar dos o más monitores, ocultando secciones.
Los escritorios virtuales no pueden estar 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 permite arrastrar pestañas/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 se pueden organizar juntas sin ocultarse entre sí.
El menú compartido puede cambiar, lo que puede causar confusión a algunos usuarios.
Las ventanas secundarias MDI se comportan de manera diferente a las de las aplicaciones de interfaz de un solo documento , lo que requiere que los usuarios aprendan dos conceptos de ventanas sutilmente diferentes. De manera similar, la ventana principal de MDI se comporta como el escritorio en muchos aspectos, pero tiene suficientes diferencias como para confundir a algunos usuarios.
Las jerarquías ramificadas y profundamente anidadas de ventanas secundarias pueden resultar confusas.
Muchos administradores de ventanas tienen soporte incorporado para manipular grupos de ventanas separadas, lo que suele ser más flexible que MDI en el sentido de que las ventanas se pueden agrupar y desagrupar arbitrariamente. Una política típica es agrupar automáticamente ventanas que pertenecen a la misma aplicación. Podría decirse que esto hace que el MDI sea redundante al proporcionar una solución al mismo problema.
Es posible que los controles y teclas de acceso rápido aprendidos para la aplicación MDI no se apliquen a otras, mientras que con un Administrador de ventanas avanzado, se comparten más configuraciones de comportamiento y preferencias de usuario entre 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 sólo en 9.0; MDI (con 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, proporcionando una variante del TDI.
Kate : Editor de texto diseñado para la compilación de software KDE , con funciones avanzadas y un MDI sofisticado
Macromedia Studio para Windows: una interfaz híbrida; TDI a menos que las ventanas de documentos no estén maximizadas. (Están maximizados de forma predeterminada).
Microsoft Excel 2003: SDI si inicia nuevas instancias de la aplicación, pero MDI si hace clic en el menú "¿Archivo? Nuevo" (pero 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 Windows de nivel superior múltiple, lo que la expone al shell de instancias SDI individuales, mientras que el sistema operativo la reconoce como una instancia única de una aplicación MDI. En Word 2000, esta era la única interfaz disponible, pero 2002 y posteriores ofrecen MDI como opción. Microsoft Foundation Classes (en el 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 un 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 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 estilo IDE
Las aplicaciones informáticas gráficas con una interfaz de estilo IDE (IDE) son aquellas cuyas ventanas secundarias residen en una sola ventana principal (generalmente con la excepción de las ventanas modales ). Una interfaz de estilo IDE se distingue de la interfaz de documentos múltiples (MDI) porque todas las ventanas secundarias en una interfaz de estilo IDE se mejoran con funciones adicionales que normalmente no están disponibles en las aplicaciones MDI. Debido a esto, las aplicaciones de estilo IDE pueden considerarse un superconjunto funcional y descendiente de las aplicaciones MDI.
Ejemplos de funcionalidad mejorada de ventana secundaria incluyen:
Una convención común para las ventanas secundarias en aplicaciones de estilo IDE es la capacidad de contraer las ventanas secundarias, ya sea cuando están inactivas o cuando lo especifica el usuario. Las ventanas secundarias que están colapsadas se ajustarán a uno de los cuatro límites exteriores de la ventana principal, con algún tipo de etiqueta o indicador que les permita expandirse nuevamente.
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 GUI se centran en documentos en lugar de 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 frontal. Las ventanas de las aplicaciones 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 infringen las pautas de la interfaz humana (sobre todo Photoshop ) muestran un comportamiento diferente.