studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones user-interface mdi

user-interface - para - manual de programacion android pdf



¿Todavía hay un lugar para MDI? (8)

El MDI antiguo (donde cambiar de documento, tenías que pasar por el menú de Windows) era molesto. El MDI más nuevo (como las pestañas de Opera y Mozilla) hace que el cambio entre documentos sea muy fácil y parece que se ha aceptado bien. Tampoco saturan su barra de tareas como sucede si tenía más de un documento abierto en algo sin MDI.

Aunque el MDI se considera dañino , varias aplicaciones (incluso MS Office, aplicaciones de Adobe) todavía lo usan en su forma pura o como híbrido con una interfaz con pestañas / IDE.

¿Sigue siendo apropiada una interfaz MDI para algunas aplicaciones?

Estoy pensando en una aplicación donde uno normalmente trabaja con varios documentos a la vez, y con frecuencia quiere tener varios documentos para ver o copiar / pegar entre ellos.

Un ejemplo sería Origin , donde uno tiene múltiples ventanas de hoja de trabajo y gráficos en un proyecto; una interfaz con pestañas o IDE sería mucho más inconveniente con una gran cantidad de cambios de ida y vuelta.

En Mac, es natural y conveniente que una aplicación tenga múltiples ventanas de nivel superior para resolver esto, ¿cuál es la forma preferida en Windows si no se usa MDI?


Estoy de acuerdo con slavy13 (old-MDI = bad, new-MDI = mucho mejor). Pero no use programas como Microsoft Excel como su modelo. Ick! Obtiene una ventana en su escritorio, independientemente de cuántas hojas de cálculo tenga abiertas (que pueden ser o no su preferencia). Pero obtiene un ícono de barra de tareas para cada uno de los documentos que tiene abiertos. Y su ventana Alt + Tab también tiene un ícono para cada documento que tiene abierto. Además, hay un ícono adicional solo para "Excel" que lo lleva a cualquier documento que sea "actual". Entonces sí, haz tu MDI como Mozilla. O al menos brinde a sus usuarios la opción de cambiar al estilo más limpio.

Para responder de manera más sucinta a su pregunta, creo que la respuesta es sí, MDI todavía es apropiado en algunos casos. Pero, en todo, la moderación es la clave.


La principal ventaja de MDI es cuando desea realizar un seguimiento de dos o más ventanas al mismo tiempo, y esas ventanas deben agruparse juntas. Por ejemplo, hay un proceso en ejecución en una ventana, pero necesita trabajar en otra ventana, MDI sería el más ideal.


Las desventajas de MDI son las siguientes:

  • En general, requiere que el usuario aprenda y comprenda un conjunto de relaciones de ventana más complicado.

  • Muchas acciones simples pueden requerir un proceso de dos pasos. Por ejemplo, llevar una ventana deseada al primer plano puede requerir que el usuario primero lleve la ventana del contenedor hacia adelante y luego lleve la ventana principal derecha en la ventana del contenedor hacia adelante. Cambiar el tamaño o maximizar una ventana puede significar primero ajustar la ventana del contenedor y luego la ventana principal dentro.

  • Si se abren varias ventanas de contenedor, el usuario puede olvidar cuál tiene la ventana principal deseada, lo que requiere una búsqueda tediosa.

  • Los usuarios se confunden fácilmente por las formas duales de maximizar, iconificar, crear capas y cerrar una ventana. Por ejemplo, pueden cerrar toda la aplicación en lugar de una ventana dentro de la ventana del contenedor. O pueden "perder" una ventana porque la han iconizado dentro de la ventana del contenedor sin darse cuenta.

  • El usuario tiene limitaciones en los tamaños y posiciones que pueden asumir sus ventanas. Supongamos que quiero ver simultáneamente 3 ventanas de una aplicación y 1 de otra aplicación. Con SDI, puedo hacer que cada ventana tome un cuadrante de la pantalla, pero no puedo hacer eso con MDI. ¿Qué sucede si quiero que una ventana en el MDI sea grande y la otra pequeña? Tengo que hacer que la ventana del contenedor sea grande para acomodar la ventana grande (donde ocluye las ventanas de otras aplicaciones), pero eso desperdicia espacio cuando se mira al niño.

Tenga en cuenta que todas estas desventajas se aplican a las interfaces de documentos con pestañas (TDI) también, con interfaces con pestañas que tienen la desventaja adicional de que el usuario no puede mirar dos documentos en la misma ventana del contenedor uno al lado del otro. Las pestañas también agregan desorden y consumen bienes raíces en sus ventanas. Sin embargo, el TDI general tiende a ser menos problemático que el MDI, por lo que pueden ser preferidos para casos especiales (seguir leyendo)

En resumen, es difícil pensar en cualquier situación para usar MDI. No es mejor que una SDI a la vez que agrega más sobrecarga de navegación y complejidad, y funciona mal con las ventanas de otras aplicaciones.

No hay motivo para que una aplicación no pueda tener múltiples ventanas SDI de nivel superior. Incluso con una aplicación como Origin, no veo ningún problema con que un proyecto se distribuya en varias ventanas SDI siempre que el proyecto esté bien identificado en cada ventana. SDI también permite diferentes tipos de ventanas (p. Ej., Gráfico frente a hoja de cálculo) para tener diferentes menús y barras de herramientas, en lugar de ocultar o deshabilitar elementos dependiendo de la ventana activa (la primera es confusa y la segunda pierde espacio).

SDI les brinda a sus usuarios más flexibilidad sobre MDI o TDI. Los usuarios pueden superponer o maximizar las ventanas y usar la barra de tareas / dock como una interfaz de tabulación de facto. Los usuarios alternativamente pueden redimensionar y reposicionar las ventanas para que puedan ver múltiples a la vez. Cada ventana se puede dimensionar de forma independiente para optimizar el espacio de la pantalla. Cualesquiera que sean las ventajas de MDI o TDI, puede aumentar SDI para que también tenga esas ventajas (por ejemplo, proporcionar un menú con miniaturas que hace que cambiar entre ventanas sea más rápido que usar la barra de tareas y comparable a seleccionar pestañas, o proporcionar un control que ventanas de una aplicación con un clic).

A menos que tenga razones convincentes para usar un TDI, vaya a SDI para permitir esta flexibilidad. Las razones convincentes incluyen algún subconjunto de los siguientes:

  • Cada pestaña se utiliza para tareas de alto nivel no relacionadas y el usuario no cambiará de pestaña con frecuencia ni comparará información entre pestañas.

  • Está trabajando con usuarios de muy bajo nivel que ignoran o confunden la barra de tareas / dock y varias ventanas, y no saben cómo redimensionar las ventanas (parece que las imágenes de pestañas convincentes funcionan mejor que la barra de tareas para dichos usuarios).

  • Usted anticipa que normalmente hay un gran conjunto de pestañas (por ejemplo, 4 o más) y puede controlar su pantalla de una manera más efectiva para la tarea de lo que puede hacerlo el sistema operativo si fueran ventanas SDI en la barra de tareas / dock (por ejemplo, con respecto al orden y etiquetado).

  • Con SDI, tiene problemas con los usuarios que confunden las barras de herramientas o las paletas de ventanas inactivas con ventanas activas.

  • Las pestañas se fijan en número y permanentemente abiertas (por ejemplo, cuando cada pestaña es un componente diferente del mismo objeto de datos). El usuario no tiene que esforzarse por distinguir entre cerrar una pestaña y cerrar toda la ventana; averiguar la ventana para navegar no es un problema porque todas las ventanas tienen las mismas pestañas.

  • En realidad, solo hay una forma de organizar adecuadamente los datos para la tarea, sin variaciones entre los usuarios o para lo que realmente usan la aplicación. También puede configurarlo para el usuario con una combinación de pestañas y paneles de detalles maestros y en lugar de depender del usuario para organizar y dimensionar correctamente las ventanas de SDI.

En resumen, dadas las habilidades de sus usuarios, la complejidad de la aplicación y la estructura de la tarea, si su aplicación puede administrar la visualización del contenido mejor que el usuario / sistema operativo, use TDI, de lo contrario use SDI.


Parece que múltiples ventanas de nivel superior es el camino a seguir. En cuanto a si debe haber una instancia de aplicación global o una por documento, depende de usted, creo. No es visible para el usuario.


Solo un beneficio para MDI:

Los programas que usan grandes cantidades de recursos, como Adobe Photoshop, a menudo tienen un MDI debido al costo prohibitivo de ejecutar más de una instancia a la vez.

Pero no debes desarrollar programas que consuman grandes cantidades de recursos para empezar.


Tenga en cuenta que los ejemplos que utilizó (aplicaciones MS Office y Adobe) son grandes programas y tienen muchas funciones . Los usuarios lidiarán con ese programa y solo con ese programa durante gran parte de la vida del programa.

Las versiones más recientes de MS Office (2007) y Adobe Photoshop (CS4) usan múltiples ventanas y pestañas, respectivamente.

Tenga en cuenta que con Windows 7, los MDI probablemente perderán popularidad aún más debido al poder adicional de las pestañas proporcionadas por las API de Microsoft (aunque no es necesario usar pestañas estrictamente, las ventanas MDI podrían funcionar, pero serían más confusas para el usuario de lo habitual )


Una ventaja que puedo ver para MDI se produce si se va a usar mucho espacio en pantalla para cosas que se comparten entre muchas ventanas. Puede ser más lógico tener dicho material en la parte superior o lateral de la ventana circundante que repetirlo en cada ventana SDI, o hacer que aparezca en una ventana completamente separada de las ventanas SDI. Por ejemplo, un programa de chat puede tener un panel de estado y un panel de control. Tenerlos de alguna manera vinculados visualmente a las ventanas de chat podría ser mejor que tenerlos como ventanas independientes.