usuario tipos principios interfaz gui grafica elementos ejemplos diseño caracteristicas design user-interface

design - tipos - Interfaces de usuario eficientes



principios de diseño de la gui (8)

¿Has visto atajos de Gimp ? Use buenos controles visuales y muestre los atajos de teclado para ellos mientras mantiene el control deslizante - eso ayudará a aprender el modo rápido. Si su software copia algún comportamiento de otros programas, copie el mapeo de accesos directos de ellos (como Copiar / Pegar / Nueva pestaña / Cerrar ventana / etc), pero permita volver a mapear dinámicamente como se muestra en Gimp. Para las operaciones cosechadas, puede implementar el recodificador de acciones. Pero depende del tipo del software.

La velocidad y la capacidad de aprendizaje no luchan directamente entre sí, pero parece fácil diseñar una GUI que carezca de una (o ambas). Los diseñadores de GUI parecen preferir "fácil de aprender" la mayor parte del tiempo, incluso cuando "aplicar rápidamente" sería más acertado.

Existen solo unos pocos conceptos o programas de UI que tienen como objetivo maximizar la eficiencia máxima de lo que sea que esté haciendo con el programa. La mayoría de ellos no se han vuelto comunes.

La gente normal prefiere gedit en lugar de vim. Para la gente normal, ya hay GUI suficientemente buenas porque hubo mucha investigación sobre ellas hace dos décadas.

Me gustaría obtener algunos consejos sobre cómo hacer las IU que hacen las compensaciones entre ''fácil de aprender'' en lugar de ''rápido para aplicar''.


Autocad tiene un modo de consola. Al hacer cosas usando el mouse y las barras de herramientas, el texto equivalente de esos comandos se escribe en la consola. Puede escribir comandos directamente allí. Esto proporciona una excelente manera de aprender los nombres de los usuarios avanzados para los comandos (son muy cortos, como los comandos de Unix) que ayuda en gran medida al proceso de pasar del principiante al usuario avanzado productivo. En términos generales, un objetivo principal debe ser minimizar el movimiento entre el mouse y el teclado, así que ponga mucha funcionalidad en el mouse, o en el teclado, porque cuando tiene que mover las manos de esa manera, hay una demora real en intentarlo para encontrar el lugar correcto para ponerlos.


Lo principal de lo que hay que tener cuidado es colocar los elementos de la interfaz de usuario donde se encuentran más comúnmente para otras aplicaciones en ese entorno. Por ejemplo, si va a utilizar un sistema de menú, las personas están acostumbradas a que esté en la parte superior de la ventana de forma predeterminada para una aplicación de escritorio. Si estás en un navegador web, un sistema de menú en una página web parece estar fuera de lugar porque no es una característica consistente. Si va a tener una ventana de configuración de opciones / preferencias, las personas están acostumbradas a encontrarla en la opción del menú Herramientas, ocasionalmente en el menú Editar. Lo principal para mantener una UI "fácil de aprender" es que los elementos de tu UI no deberían romper demasiado el molde de cómo se usan en otras aplicaciones.

Si no ha tenido la oportunidad de ver la presentación de Mark Miller sobre La ciencia de la gran experiencia del usuario, le recomendaría que vea los episodios de DNR TV Parte 1 y Parte 2 .


Más allá de evitar una ensalada de frutas enfadada , solo trata de hacerlo lo más intuitivo posible. Normalmente, los programas con una IU muy frustrante comparten un problema común, los desarrolladores no definieron un alcance claro de lo que el programa realmente haría antes de combinar un diseño de IU.

No es tanto una cuestión de ''fácil'', algunas personas saltan directamente a la interfaz de usuario y comienzan a escribir cosas para respaldar la interfaz, en lugar de escribir el núcleo de un programa planificado y luego planificar una interfaz para usarlo.

Esto se aplica a aplicaciones web, aplicaciones de escritorio ... o incluso a programas de línea de comando. Un buen diseño significa escribir la interfaz de usuario después (y solo después) de que está seguro de que el '' alcance del alcance '' ya no es una posibilidad.

Seguro, necesitas una interfaz para probar tu programa, pero prepárate para destruirlo y hacer algo mejor antes de lanzar el programa. De lo contrario, hay una buena posibilidad de que la interfaz de usuario solo tenga sentido para ti.


Me gustaría señalarte el viejo blog de Kathy Sierra para reflexionar sobre "fácil de aprender" y "rápido para aplicar". No necesariamente estoy de acuerdo en que deba haber una compensación entre los dos.

Tres publicaciones para que comiences:

  1. ¿Cuánto control deberían tener los usuarios? Esta publicación reflexiona sobre si "aplicar rápidamente" es el ideal que deberíamos esforzarnos.
  2. La experiencia de usuario de alta resolución habla sobre lo que dices sobre "gente normal" frente a otros. No es tanto que haya diferentes tipos de personas, sino que hay diferentes niveles de aprendizaje / experiencia / participación. Algunos están satisfechos con menos, algunos necesitan más. Cómo se pasa de menos a más es posiblemente el mismo para todos.
  3. Finalmente, Featuritis vs. el Happy User Peak habla sobre el creep del alcance señalado por @tinkertim.

Tenemos un producto en nuestra línea que ha ganado numerosos premios basados ​​principalmente en su capacidad para proporcionar más potencia con una interfaz más fácil que cualquiera de nuestros competidores. Diseñé la interfaz unos años después de ocupar un puesto en uno de los grupos de investigación de interfaz humana de Bell Labs, así que tuve una idea bastante clara de lo que constituía el "éxito" cuando me acerqué. Tengo cuatro consejos de diseño para crear interfaces fáciles pero potentes.

Primero, seleccione una metáfora que tenga sentido en su entorno y haga todo lo posible para cumplirla. Esto no tiene por qué ser una metáfora física, aunque eso puede ayudar si se trabaja con personas que no conocen la tecnología. Esto fue popular en los primeros días de Windows pero su valor permanece. Usamos una metáfora de "carpeta y página" que nos permitió organizar una amplia gama de tareas sin restringir el estilo de los usuarios avanzados.

En segundo lugar, ofrezca una relación de diseño consistente entre la visualización de datos y las tareas. En nuestra interfaz, cada "página" muestra un conjunto de botones de acción exactamente en la misma posición y, siempre que sea posible, usa los mismos botones reales. Por lo tanto, una vez que se aprende una página, el usuario tiene una ventaja para aprender el resto. Uno de estos botones, siempre colocado en una posición distintiva, es un botón de "Ayuda" ... que me lleva al punto # 3. La regla más general es: encontrar formas de aprovechar el aprendizaje en un área para ayudar a otros a aprender.

Tercero, ofrezca ayuda contextual y asegúrese de que atiende la pregunta principal del usuario (que generalmente es "¿qué hago ahora?"). ¿Con qué frecuencia ha visto ayuda técnica que simplemente le muestra el árbol de herencia, la sintaxis del constructor y un orden alfabético? lista de métodos? Eso no es ayuda, es abuso. Concentramos toda nuestra ayuda en caminar personas a través de tareas de muestra. En áreas especialmente difíciles, también ofrecimos tutoriales multimedia.

En cuarto lugar, ofrece a los usuarios la posibilidad de personalizar la interfaz. Nuestros usuarios a menudo no tenían uso para "páginas" específicas (tipos de análisis) en su trabajo. Por lo tanto, hicimos muy sencillo desactivarlos para que el usuario vea una interfaz que no era más complicada de lo que tenía que ser. Nuestra aplicación generalmente era instalada por un usuario avanzado y luego utilizada por varios miembros del personal, así que esto fue una gran victoria para nosotros porque, por lo general, podíamos contar con que el usuario avanzado entendiera qué hacer. Sin embargo, creo que es un buen consejo en general.

¡Buena suerte!


Rant (o, Cosas que creo que debes tener en cuenta):

La velocidad y la habilidad para aprender pelean directamente entre sí. Un elemento del menú te dice lo que hace para que no tengas que recordar. Pero es mucho más lento que un atajo de teclado que debe memorizar para beneficiarse. La técnica general para resolver este conflicto parece permitir más de una forma de hacer las cosas. Si bien una forma de hacer algo generalmente no puede ser rápida y fácil de aprender, a menudo puede proporcionar dos formas de lograr la misma tarea: una que es rápida y otra que es obvia.

Hay diferentes tipos de personas. La brecha de aprendizaje es el resultado de interés, motivación, capacidad intelectual, etc. Hay una clase de persona que nunca se molestará en aprender qué menú proporciona la acción que desea, y fregarán la barra de menú cada vez. También hay una clase (minoritaria) de personas que piensan que vim (o emacs) es lo mejor desde el pan rebanado. La mayoría de la gente probablemente se encuentre en algún lugar entre estos extremos.

Mi respuesta a la pregunta real:

Creo que estás preguntando cómo luchar por una interfaz de usuario rápida. Su pregunta no fue particularmente clara (para mí).

  • Antes que nada, sé consecuente. Esto ayuda tanto a la velocidad como a la capacidad de aprendizaje. La autoconsistencia es lo más importante, pero la coherencia con su entorno también puede ser importante.

  • Para una velocidad real, requiera la menor atención y movimiento posible. Los atajos de teclado son rápidos porque los usuarios experimentados saben dónde están (no tienen que mirar) y sus manos ya están en el teclado. Especialmente evite forzar al usuario a cambiar su posición frente a la computadora (por ejemplo, moviendo una mano entre el mouse y el teclado).

  • El teclado es casi siempre más rápido que el mouse.

  • La personalización (especialmente la capacidad de escribir scripts personalizados) permitirá a los usuarios avanzados hacer que la interfaz funcione de la manera más rápida para sus hábitos específicos.

  • Permiten vivir sin las funciones más potentes. Todo lo que necesitas saber para sobrevivir en vim es "i, ESC,: wq,: q!". Con eso, puede usar vi de la misma manera que muchas personas usan el bloc de notas. pero una vez que comienzas a aprender "h, j, k, l, w, b, e, d, c" ​​(y así sucesivamente) te vuelves mucho más eficiente. Entonces, hay una curva de aprendizaje empinada, pero puedes sobrevivir hasta que lo superes.

  • Tenga en cuenta que si se centra en la eficacia de la interfaz, probablemente limitará su base de usuarios. Vim es popular entre los programadores, pero muchos programadores usan otras herramientas, y es virtualmente desconocido entre los no programadores. La mayoría de las personas quiere fácil, no rápido. Algunos quieren un equilibrio. Muy pocos solo quieren rápido.


Mientras escribía mi propia interfaz de usuario , he entendido un par de cosas yo mismo.

Imité vim, pero al mismo tiempo me di cuenta por qué es tan rápido de usar para la edición de texto. Es porque reconoce algo: las personas prefieren hacer una cosa a la vez (insertar texto, navegar, seleccionar texto), pero pueden cambiar la tarea con frecuencia.

Esto significa que puede empaquetar diferentes actividades en diferentes modos si mantiene simples los esquemas de cambio de modo. Da espacio para más comandos. El usuario también tiene mejores posibilidades de aprender la interfaz completa porque ya están sensiblemente agrupados.

Vim está prácticamente lleno de comandos, cada letra en el teclado hace algo en vim, dependiendo del modo. Aún así puedo recordar la mayoría de ellos. Y es todo por los modos.

Conozco un montón de proyectos que desprecian el comportamiento dependiente del modo. El argumento principal es la incertidumbre de en qué modo se encuentra. En vim, nunca tengo dudas sobre el modo en el que estoy. Por lo tanto, digo que el diseño de la interfaz es un error si un usuario capacitado no reconoce en qué modo está funcionando la interfaz. En el momento.