Descargar

Diseño de interfaces: introducción

Enviado por Pablo Turmero


    edu.red Contenidos del curso Conceptos generales en el diseño de interacciones Principios, guías y heurísticas para el diseño de interacciones WIMP Procesos de diseño de interfaces WIMP Métodos de evaluación Aplicación a sitios Web: Diseño de sitios y páginas Principios, guías, heurísticas Evaluación

    edu.red Motivaciones Usaría software sin testear? Escribe programas que serán utilizados por otras personas? Ha observado o analizado a los usuarios mientras usan su software? Ha evaluado su interfaz con usuarios reales? La mayoría de los desarrolladores de software no efectúan procesos de evaluación de usabilidad. [Milsted et al 89 ] 6% de las compañías de desarrollo de software “Mi interfaz es buena” “No hay tiempo ni dinero” “Nunca evaluamos las interfaces, y han funcionado” Otras excusas ….

    edu.red Programadores vs. Diseñadores “Los programadores no son los usuarios finales” Una interfaz típica de un programador

    edu.red Ejercicio: MANTEL “Manhattan Telephone System (MANTEL)”

    edu.red Que es una Interfaz a Usuario? Generalmente, se suele decir que la interfaz comprende los dispositivos E/S, y el software que los administra También debe incluirse cualquier otro aspecto que trate con el uso humano de las computadoras Documentación Entrenamiento Soporte técnico Contexto de uso

    edu.red Importancia “Paradoja de la productividad” Las grandes inversiones tecnológicas no han producido los incrementos de productividad esperados ej. re-entrenamiento constante de los usuarios ante nuevos productos y/o nuevas versiones (‘upgrades’) de sistemas interactivos Facilidad de uso Los usuarios no desean leer manuales extensos ni consumir tiempo aprendiendo la forma de operar un sistema

    edu.red Importancia Algunos estudios sobre desarrollo de interfaces : 48 % (promedio) código 50 % (promedio) tiempo de implementación Determinante en el éxito o fracaso de un sistema interactivo Macintosh Therac 25, Aegis

    edu.red Importancia Algunas “historias” de la relación hombre – máquina “El contenedor de la taza (‘cup holder’)” (Supuestamente, historia real en Novell Netwire [Greenberg97]) Llamante: “Hola, estoy comunicado con el Servicio Técnico?” Soporte Técnico: “Si. En que puedo ayudarlo?” Llamante: “El contenedor de la taza de mi PC está roto, y aún está dentro de la garantía. Que debo hacer para obtener uno nuevo?” Soporte Técnico: “Lo siento, pero no lo comprendo: Ud. dijo ´el contenedor de la taza de su PC´?” Llamante: “Sí, está colocado en el frente de mi PC” Soporte Técnico: “Estoy algo sorprendido. Ud. ha recibido este contenedor como parte de alguna promoción? Como lo obtuvo? Tiene alguna marca colocada?” Llamante: “No conozco si era una promoción o no, vino instalado con mi PC. Tiene una marca ‘4X’ en el frente” Soporte Técnico: ……(silencio) …..

    edu.red Importancia “Nombres de comandos peligrosos” (Reportado en la prensa inglesa, según [Newman and Lamming, 1995]) En el editor ‘ed’, carácter ‘.’ es usado para seleccionar una línea de texto, y ‘ ,’ para seleccionar el documento completo Ambas teclas son adyacentes en el teclado Intentando cambiar una línea “A heavy poll is expected …” A “A heavy turnout is expected …” Puede producirse fácilmente un error cambiando ‘poll’ a ‘turnout’ en todo el documento En una elección inglesa, los documentos de un candidato ‘Pollack’ fueron impresos como ‘Turnoutack’ Se atribuyó el error a una falla del computador

    edu.red Importancia “Comandos Unix” ‘rm *~ ‘ borra todos los archivos de backup ‘rm * ~’ borra todo! Y no existe undo …

    edu.red Importancia “Phobos 1 nunca llegó a Marte” (Reportada por Norman, en CACM 1/90 [Norman 90], obtenida de Science Magazine) “No mucho tiempo luego del lanzamiento, un controlador en tierra omitió una letra en un envío de una serie de comandos enviados a la nave espacial.” “Infortunadamente, está omisión produjo el código correspondiente a una secuencia de testeo” “La secuencia de testeo, almacenada en ROM, estaba destinada a ser utilizada solamente con la nave en tierra” “La nave entró en una caída, la cual no se pudo evitar” El controlador fue desplazado a otras tareas….

    edu.red Importancia “Iran Air 655” (Reportado en [Lee 92]) En 1988, la fragata USS Vincennes disparó un misil a un Airbus A-300, de Iran Air, con 290 personas. El sistema de armamento Aegis, a bordo del Vincennes, tenía un software sofisticado para identificar y monitorear potenciales blancos. Sin embargo, la pantalla principal no mostraba la información acerca de la altitud de los potenciales blancos (esta altitud tenía que ser leída en otras consolas) El Airbus fue interpretado como un caza F-14, debido a que no se leyó correctamente la altura. Irónicamente, una nave escolta con un equipamiento más viejo, fue capaz de interpretar la altitud de la nave correctamente, pero no pudo intervenir a tiempo.

    edu.red Importancia Un teclado para acelerar la operación más frecuentemente utilizada en MS Windows

    edu.red Importancia Lecciones: La mayoría de las fallas en los sistemas hombre-máquina se deben a diseños pobres No toman en cuenta las capacidades y habilidades de los usuarios Generalmente son rotulados como “fallas del sistema” o “errores humanos”, no como “fallas de diseño”

    edu.red ‘Human Computer Interaction’ (HCI) Disciplina acerca del Diseño, Implementación y Evaluación de Sistemas Computacionales Interactivos para su utilización por seres humanos. Diseño Evaluación Implementación

    edu.red Motivación HCI 1950 1990 2030 Capacidades Humanas Capacidades Computacionales

    edu.red HCI

    edu.red HCI Uso y contexto Problemas de adaptación a los computadores, su utilización y el contexto social de su uso. Trabajo y Organización social Interacción social en el trabajo Modelos de actividad humana Áreas de Aplicación Características de los dominios de aplicación Estilos más comunes: Producción de documentos, comunicaciones, diseño, tutoriales y ayudas, atlas multimediales, control de procesos,etc.

    edu.red HCI Uso y contexto Compatibilidad y adaptación hombre-computador Mejora la compatibilidad entre el objeto diseñado y su uso Selección y adopción de los sistemas Adaptación de los sistemas a los usuarios (‘customization’) Adaptación de los usuarios al sistema (entrenamiento, facilidad de aprendizaje) Guías al usuario (ayudas, documentaciones, manejo de errores)

    edu.red HCI Características Humanas Comprensión de los seres humanos como sistemas de procesamiento de información, formas de comu- nicación entre humanos, requerimientos físicos y sicológicos Procesamiento humano de la información Características del hombre como procesador de información Memoria, percepción, atención, resolución de problemas, aprendizaje y adquisición de experiencia, motivación Lenguajes, comunicación e interacción Aspectos del lenguaje de interacción Sintaxis, semántica, pragmática, interacción conversacional, lenguajes especializados

    edu.red HCI Características humanas Ergonomía Características antropométricas y fisiológicas, relación con los ambientes de trabajo Disposición de pantallas y controles, limitaciones sensoriales y cognitivas, efectos de la tecnología, fatiga y salud, amoblamiento e iluminación, diseño de ambientes, diseño para usuarios con disminuciones físicas

    edu.red HCI Sistemas computadorizados y arquitectura de la interfaz Componentes especializados para la interacción Dispositivos de input y output Tecnología y características de los dispositivos particulares de hardware, rendimiento (del uso humano y del sistema), dispositivos virtuales Técnicas de diálogo Técnicas para llevar a cabo la interacción ej. estilos de interacción Género del diálogo Metáforas de contenido e interacción

    edu.red HCI Sistemas computadorizados y arquitectura de la interfaz Gráficos por computador Conceptos básicos de manipulación de gráfícos por computador Arquitectura del diálogo Arquitectura de software y estandares para interfaces ej. construcción de presentaciones, administradores de ventanas, toolkits de interfaz, arquitecturas multi-usuario, look&feel, estandarización

    edu.red HCI Proceso de desarrollo construcción y evaluación de interfaces Enfoques de diseño ej. Bases del diseño gráfico (tipografía, color, etc.), ingeniería de software, análisis de tareas Técnicas y herramientas para la implementacion ej. técnicas de prototipación, toolkits de diálogos, métodos OO Técnicas y métodos de evaluación ej. productividad, test de usabilidad Sistemas ejemplo y casos de estudio diseños clásicos utilizados como ejemplos de diseño de interfaces

    edu.red Ciclo interactivo Objetivos Especificación de la acción Interpretación Intención Percepción Ejecución Evaluación Actividad Mental Actividad Física

    edu.red Ciclo interactivo 1. Formación de una intención “Qué deseo hacer?” Correspondiente a un objetivo (y/o subobjetivos) dado ej. “escribir una carta a Ana” 2. Selección de una acción “Cómo puedo hacerlo?” Análisis de las posibles acciones y selección de la más apropiada ej. “utilizar MSWord para editar el archivo ana.doc”

    edu.red Ciclo interactivo 3. Ejecutar la acción “Hacerlo!” Llevar a cabo la acción con el SI ej. seleccionar el programa “MS Word” en el menú de inicio (Windows 95); abrir un documento nuevo y grabarlo con el nombre ‘ana.doc’ 4. Evaluar los resultados “Qué resultados obtuve?” Chequear los resultados de ejecutar la acción y compararlos con los resultados esperados ej. verificar si el archivo que está siendo editado es ana.doc Requiere percepción, interpretación y evaluación incremental

    edu.red Ciclo Interactivo Inconvenientes de usabilidad Intenciones Especificación de acciones Mecanismos de interacción Presentaciones Interpretación Evaluación Brecha de Ejecución Brecha de Evaluación Sistema físico Objetivos

    edu.red “Brecha de evaluación” Inconvenientes en la evaluación y/o interpretación de la presentación Posibles Causas: Factores ergonómicos Texto difícil de leer, información importante presentada con poco contraste Ítems agrupados en una forma inadecuada el usuario puede no percibir una relación importante Presentación de información acerca del estado de la aplicación ej. Falta de feedback (‘bus error’ en Unix)

    edu.red “Brecha de ejecución” Inconvenientes en la elaboración del plan de acción del usuario para llevar a cabo su tarea Posibles causas: Desconocimiento del usuario de las posibles acciones ej. los usuarios novatos pueden desconocer el efecto que produce una barra de desplazamiento o un botón Feedback inadecuado o inexistente de las acciones del usuario Si no se indica claramente al operador las acciones que está haciendo, puede existir confusión ej. manipulación directa sin feedback Cambios en la forma de operar un comando en versiones nuevas de un producto ej. colocación de un marco en MS Word 7

    edu.red Utilidad y usabilidad Utilidad La funcionalidad del sistema interactivo provee las operaciones necesarias Usabilidad Grado de facilidad en el uso del sistema interactivo Decrementa los costos Previene cambios en el software antes de su uso Elimina parte del entrenamiento necesario Incrementa la productividad Menores tiempos para realizar las tareas Menos errores

    edu.red Usabilidad La usabilidad puede ser definida en el contexto de la aceptabilidad de un sistema

    edu.red Usabilidad Determinada por: Facilidad de aprendizaje El usuario puede comenzar rápidamente su trabajo Eficiencia Alta productividad Facilidad de memorización No requiere re-aprendizaje Errores Pocos errores, y subsanables Satisfacción subjetiva Agradable para el usuario

    edu.red Usabilidad No todas las características de usabilidad tienen el mismo peso en un diseño Aplicaciones críticas (control aéreo, reactores nucleares) Períodos de entrenamiento largos, para asegurar menor cantidad de errores Aplicaciones industriales y comerciales (bancos, seguros) El tiempo de entrenamiento es costoso La eficiencia es importantísima 10% de reducción en el tiempo de una tarea significa 10% menos de recursos necesarios Aplicaciones de entretenimiento y oficina (procesadores palabra, juegos) La facilidad de aprendizaje, tasa de errores y la satisfacción subjetiva es muy importante debido a la alta competencia

    edu.red Aprendizaje Curvas de aprendizaje El diseño de algunos sistemas está centrado en la facilidad de aprendizaje Otros sistemas enfatizan la eficiencia para usuarios expertos Algunos proveen facilidad de aprendizaje y un “modo experto” intentan obtener lo mejor de ambas curvas

    edu.red Formas comunes de medir la usabilidad de un sistema Aprendizaje Seleccionar algunos usuarios novatos de un sistema, medir el tiempo para realizar ciertas tareas. Distinguir entre usuarios con y sin experiencia computacional Eficiencia Obtener usuarios expertos, medir el tiempo para realizar algunas tareas típicas Memorización Obtener usuarios casuales, medir el tiempo para realizar tareas típicas Errores Contabilizar los errores menores e importantes realizados por usuarios al efectuar alguna tarea específica Satisfacción subjetiva: Preguntar a los usuarios su opinión subjetiva, luego de intentar usar el sistema para una tarea real

    edu.red Roles en una IU (Gp:) Operador (Gp:) Núcleo Funcional (Gp:) Software de la IU (Gp:) Look &Feel (Gp:) Sistema Interactivo (Gp:) Requeri- mientos (Gp:) Diseñador SI (Gp:) Especif. Tareas (Gp:) Diseñador NF (Gp:) Diseñador software IU (Gp:) Diseñador IU (Gp:) Implem. Herram. (Gp:) Herram. Construcc.

    edu.red Roles en una IU “Operador” / “usuario” / “usuario final” Persona que utilizará el sistema interactivo. “Diseñador del sistema” Desarrolla la arquitectura global de un SI Especifica las tareas que serán efectuadas dentro de cada módulo “Diseñador de la interfaz a usuario” Define la IU con la cual interactuará el operador Utiliza la especificación de tareas Necesita comprender: Tareas a ser resueltas Necesidades del operador Costos y beneficios de las UI particulares En términos del operador y los costos de implementación y mantenimento

    edu.red Roles en una IU “Diseñador del núcleo funcional” o “programador de la aplicación” Crea la estructura de software necesaria para implementar las tareas semánticas de la aplicación (no incluidas en la IU) “Diseñador del software de la interfaz a usuario” Diseña la estructura del software que implementará la interfaz definida por el diseñador de la IU. “Desarrollador de herramientas” crea herramientas para la construcción de interfaces No todos los actores se encuentran presentes en el proceso de desarrollo de un SI

    edu.red Diseñadores de Interfaces Porqué tener diseñadores especializados en interfaces? Producen interfaces con menos errores Interfaces permitiendo una ejecución más rápida Los programadores no piensan de igual forma que los operadores Los programadores poseen un modelo del sistema, no un modelo del usuario Diferentes clases de interfaces y problemas Pueden trabajar conjuntamente con: Usuarios Programadores Diseñadores del sistema Especialistas en diseño gráfico, factores humanos, sicología, etc..

    edu.red Complejidad del diseño de IUs “Es fácil hacer las cosas difíciles. Es difícil hacer las cosas fáciles” Dificultades de los diseñadores para comprender las tareas del usuario Especificaciones iniciales incompletas o ambiguas La comprensión completa de un SI se adquiere a través de su uso. La interfaz debe satisfacer las necesidades, experiencia y expectativas de los usuarios previstos. Amplia diversidad de usuarios, con diferentes características. Los programadores tienen dificultades en pensar como los usuarios

    edu.red Complejidad del diseño de IUs Complejidad inherente de las tareas y los dominios Es difícil lograr SI fáciles de usar, si las aplicaciones poseen muchas funciones ej. MS Word, con aprox. 300 comandos. ej. algunos programas CAD poseen cerca de 1000 funciones. Requerimientos específicos del dominio ej. distintos requerimientos de los programas CAD, de acuerdo al dominio asistido (mecánica, electrónica, arquitectura, …)

    edu.red Complejidad del diseño de IUs Diversos aspectos del diseño involucrados Estándares Documentación Internacionalización Rendimiento Detalles de distinto nivel Factores externos Aspectos legales Tiempo de programación y testeo Otros …. Es imposible optimizar todos estos criterios a la vez. Deben privilegiarse los aspectos más importantes en cada caso, y obtener un balance entre ellos

    edu.red Aspectos diseño IUs Estándares Las IUs deben adherirse a los estándares requeridos por su plataforma ej. guías de estilo de Macintosh o Motif. Deben satisfacerse los estándares establecidos en versiones anteriores del producto, o productos relacionados de la competencia Criterios de diseño gráfico Disposición espacial, colores, diseño de íconos, fuentes de texto. Generalmente realizado por diseñadores gráficos profesionales

    edu.red Aspectos diseño IUs Documentación, mensajes y textos de ayuda La provisión de buenos mensajes de ayuda y manuales incrementa la usabilidad del SI Su influencia es mayor que la modificación de la interfaz El grupo del proyecto debiera incluir buenos escritores técnicos Internacionalización Los productos pueden ser utilizados por usuarios con diferentes lenguajes No implica solamente la traducción de cadenas de texto Puede incluir diferentes formatos de fechas u horas, rediseños de ‘layouts’, diferentes esquemas de colores, nuevos íconos, etc.

    edu.red Aspectos diseño IUs Rendimiento Los usuarios no toleran interfaces que operen lentamente ej. primeras versiones de Xerox Star no aceptadas por usuario productividad más alta tiempos de respuesta muy largos Detalles de alto y bajo nivel Una interfaz con un modelo global incorrecto será inutilizable Los detalles de bajo nivel deben ser perfeccionados para satisfacer al usuario Si la colocación de un botón o un item de un menú no es aceptada por los operadores, éstos desecharán la interfaz

    edu.red Aspectos diseño IUs Factores externos Las causas de las fallas de muchos sistemas son independientes del diseño del software (razones políticas, organizativas o sociales) ej. si los usuarios perciben que el SI amenaza su trabajo, pueden boicotear el desarrollo del sistema Aspectos legales La copia de un diseño exitoso es ilegal. ejs. inconvenientes entre Lotus, Apple y Microsoft

    edu.red Aspectos diseño IUs Tiempo de programación y testeo El refinamiento iterativo mejora la calidad de una interfaz, pero incrementa el tiempo de desarrollo. Otros Pueden existir requerimientos especiales de aplicaciones orientadas a determinados tipos de usuarios colaboración entre múltiples usuarios usuarios con discapacidades

    edu.red Complejidad del diseño de IUs Las teorías, principios y guías actuales suelen no ser suficientes Diversidad de metodologías, teorías y directivas diseñar UIs La experiencia y práctica de los diseñadores es la principal contribución a la calidad de la IU, no un método o teoría. No siempre es conveniente su utilización ej. reglas de consistencia o metáforas Suelen ser demasiado específicas y/o demasiado generales cubren solo aspectos limitados del comportamiento, y no siempre pueden ser generalizadas.

    edu.red Complejidad del diseño de IUs Dificultad del diseño iterativo El 87% de los proyectos de desarrollo utilizan alguna forma de diseño iterativo [Myers & Rosson 92] La intuición del diseñador acerca la solución de un problema observado puede ser errónea La nueva versión del sistema puede ser peor que la anterior Aunque una iteración puede mejorar un diseño, éste nunca obtendrá la calidad de una IU originalmente bien diseñada. Es difícil obtener usuarios “reales”, para efectuar los tests. Los participantes en los tests suelen ser seleccionados por iniciativa propia poseen mayor predisposición e interés que los usuarios reales. Cada iteración debería involucrar diferentes usuarios. El diseño iterativo puede ser largo y costoso Los tests formales pueden tomar hasta 6 semanas