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 |