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
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 ….
Programadores vs. Diseñadores “Los programadores no
son los usuarios finales” Una interfaz típica de un
programador
Ejercicio: MANTEL “Manhattan Telephone System
(MANTEL)”
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
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
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
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) …..
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
Importancia “Comandos Unix” ‘rm *~ ‘
borra todos los archivos de backup ‘rm * ~’ borra
todo! Y no existe undo …
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….
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.
Importancia Un teclado para acelerar la operación
más frecuentemente utilizada en MS Windows
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”
‘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
Motivación HCI 1950 1990 2030 Capacidades Humanas
Capacidades Computacionales
HCI
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.
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)
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
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
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
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
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
Ciclo interactivo Objetivos Especificación de la
acción Interpretación Intención
Percepción Ejecución Evaluación Actividad
Mental Actividad Física
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”
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
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
“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)
“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
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
Usabilidad La usabilidad puede ser definida en el contexto de la
aceptabilidad de un sistema
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
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
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
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
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.
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
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
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..
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
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, …)
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
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
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.
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
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
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
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.
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