Interacción Humano-Computador
Human Computer interacción HCI (HCI) se ocupa del diseño y la implementación de interfaces hombre-máquina. Hay tres métricas básicas para evaluar la calidad de una interface usuario: Facilidad de aprendizaje, Flexibilidad y Robustez.
Facilidad de aprendizaje (Learnability)
Mide la velocidad a la cual los usuarios nuevos se convierten en expertos utilizando un sistema. Qué impacta la facilidad de aprendizaje?
- Puede un usuario:
- Predecir futuras respuestas basado en comportamiento previo?
- Generalizar comportamientos en situaciones similares?
- Observar comportamientos consientes para objetivos similares?
- Entender cuáles acciones se realizaran para que el estado del sistema sea el actual?
- Aplicar experiencias previas (otros sistemas) al nuevo sistema?
Flexibilidad
Mide las múltiples formas en que un usuario y un sistema intercambian información. Qué impacta la flexibilidad?
- Restricciones no naturales (diálogos modales)
- Permitir múltiples formas de entrar/sacar datos cuando sea conveniente
- Permitir personalización
Robustez
Mide el nivel de soporte que un sistema le provee al usuario para que termine con éxito sus tareas
Qué impacta la robustez?
- El usuario puede realizar una acción correctiva cuando es notificado de un error
- El sistema ofrece realimentación (feedback)
- El sistema da soporte a todas las tareas del usuario en una forma entendible
Heurísticas de Usabilidad
Usability Engineering. Jakob Nielsen. Academic Press (1993)
Heurística | Descripción |
---|---|
1. Diálogo simple y natural |
Los diálogos no deben contener información irrelevante o que rara vez va a ser utilizada. |
La información debe aparecer en un orden natural y lógico. | |
Diseño gráfico y color: Menos es más. | |
2. Utilizar el lenguaje del usuario |
El diálogo debe ser expresado en conceptos y metáforas del usuario. |
No se debe utilizar palabras de la jerga de la computación. | |
3. Minimizar la cantidad de información que hay que memorizar |
Preferir reconocimiento a memorización. El usuario no debería tener que recordar información de un diálogo a otro. |
Las instrucciones que se deben realizar deben ser fácilmente localizables. | |
4. Consistencia |
No debería haber situaciones, palabras, instrucciones distintas que signifiquen la misma cosa. |
5. Retroalimentación |
El sistema debería siempre dar información al usuario sobre el estado de las tareas que está realizando. |
Retroalimentación apropiada dentro de un tiempo razonable. | |
6. Indicar claramente salidas |
Los usuarios frecuentemente seleccionan opciones por error. |
Frecuentemente se necesita una “salida de emergencia” para abandonar un estado no deseado. | |
7. Atajos (Shortcuts) |
Para los usuarios expertos se debe ofrecer la posibilidad de tener comandos que aceleren su trabajo. |
Son comandos ocultos para los novatos en el uso del sistema. | |
El sistema debería ocuparse de los usuarios expertos y de los novatos | |
8. Buenos mensajes de error |
Debería ser expresados en lenguaje normal (no en códigos o explicaciones internas del sistema) |
Indicar de manera precisa cuál es el problema y sugerir constructivamente soluciones: | |
- no insultar a los usuarios | |
- no utilizar mayúsculas | |
- no utilizar exclamaciones !!!!!!! | |
9. Prevención de errores |
Evitar que sucedan los problemas |
Evitar secuencias de acciones del usuario que lleven a estados irreversibles | |
10. Ayuda y documentación |
Proveer ayuda y documentación: |
- Fácil de buscar | |
- Organizada por las tareas del usuario y por palabras claves | |
- Lista concreta de pasos que se deben realizar | |
- No muy extensa |