Interacción persona-computadora 1. Fundamentos de la interacción persona-computadora Luis Rodríguez Baena Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática 1 Introducción La interacción hombre-máquina es una disciplina que se ocupa del diseño, evaluación e implementación de sistemas informáticos interactivos para ser usados por personas y con el estudio los fenómenos principales en los que están involucrados. SIGHCI, 2002, http://sigchi.org/cdg/cdg2.html z Estudia tanto los fenómenos relacionados con los ordenadores como por las personas: 9 Gráficos por ordenador, sistemas operativos, lenguajes de programación, entornos de desarrollo, etc. 9 Teoría de la comunicación, diseño gráfico e industrial, lingüística, ciencias sociales, psicología, etc. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 2 2 Orígenes de la disciplina La IPO nace de una rama de la psicología aplicada que estudia la forma de trabajar de las personas: z Human factors (EEUU). z Ergonomía (Europa). Sobrepasa el ámbito de la ingeniería y está muy influenciada por la psicología: z z z z z Estudio de la percepción Estudio de la memoria. Adquisición de habilidades y aprendizaje. Búsqueda y procesamiento de la información. … Los avances en la psicología cognitiva permiten el desarrollo de sistemas interactivos (aplicaciones de escritorio o aplicaciones Web) adaptados a los usuarios. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 3 3 Orígenes de la disciplina (II) Años 70 z Ordenadores manejados por personal especializado. z Prima la eficiencia del sistema más que el tiempo de aprendizaje. Ordenador Personal especializado Población Años 70 Años 90 z La popularización acerca a la población al uso del ordenador. z El ordenador no es una herramienta en si mismo, sino que se usa en el trabajo diario. z Es necesario dotar a los sistemas de mecanismos que faciliten la relación con el usuario y mejoren la productividad. OrdenadorPoblación Años 90 Ordenador Población Actualidad Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 4 4 Orígenes de los sistemas de interacción Sistemas primitivos de interacción. z La entrada/salida se realizaba mediante cintas o tarjetas perforadas y teleimpresoras. z Sistemas de procesamiento por lotes. Años 60: sistemas de tiempo compartido mediante terminales en modo texto. z Interfaz de línea de órdenes. z Flexibles y veloces para usuarios avanzados. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 5 5 Orígenes de los sistemas de interacción (III) Interfaces de pantalla completa. z Gestionadas mediante menús y cajas de diálogo. z Útiles cuando los recursos del sistema o el tamaño de la pantalla es reducido. 9 Teletexto, WAP, … Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 6 6 Orígenes de los sistemas de interacción (IV) Desde los años 60 comienzan a aparecer los elementos que hoy consideramos fundamentales para las interfaces de usuario. z Manipulación de objetos gráficos, dispositivos apuntadores, entornos basados en ventanas. z SketchPad de Ivan Sutherland (1963). z El ratón de Douglas Engelbart (1968). Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 7 7 Orígenes de los sistemas de interacción (V) Años 80: primeros sistemas comerciales que permiten la manipulación de objetos gráficos: z Xerox Star (1981). z Apple Lisa (1982). z Apple Macintosh (1984). Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 8 8 Orígenes de los sistemas de interacción (VI) Sistemas WIMP (Windows, Icons, Menus, Pointer). z Interfaces orientadas a objetos. 9 Los elementos son tratados como objetos sobre los que se realizan acciones. Strandford Research Laboratory (SRI) NLS (1964) Copilot (1974) Xerox Parc Xerox Alto 1974 Xerox Star 1981 Apple Apple Lisa (1981) Macintosh (1984) Microsoft Windows 1.0 (1985) Windows 95 MIT Emacs (1974) Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 9 9 La interfaz de usuario Interfaz: «conexión física y funcional entre dos aparatos o sistemas independientes» (DRAE, 22ª edición). Interfaz de usuario: «Dónde las personas y los bits se encuentan» (Negroponte, 1995). «La interfaz de usuario de un sistema consiste de aquellos aspectos del sistema con los que el usuario entra en contacto físicamente, perceptivamente o conceptualmente. Los aspectos del sistema que están escondidos para el usuario se denominan implementación» (MORAN, 1981) Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 10 10 La interfaz de usuario (II) Un diseño pobre la interfaz producirá: z Una reducción de la productividad. Propiedades Sistema informático Propiedades sobre las que mostradas puede actuar el usuario por el sistema 9 El usuario tardará más en realizar la tarea. z Tiempos de aprendizaje inaceptables. z Niveles de error que conducen a la frustración del usuario. z Rechazo del sistema. Interfaz pobre Usuario Propiedades Sistema informático Propiedades sobre las que mostradas puede actuar el usuario por el sistema Interfaz centrada en el usuario Usuario Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 11 11 La interfaz de usuario (III) Para que una interfaz de usuario sea efectiva se debe sustentar sobre la idea de affordance. z Las cosas deben sugerir por su forma u otros atributos qué se puede hacer con ellas. Para ello se debe centrar en dos conceptos: z Visibilidad. La intención del objeto debe ser visible para el usuario de forma que se pueda interactuar fácilmente con él. z Evidencia. La funcionalidad del objeto y su modo de uso deben ser evidentes. 9 Botones que no lo son, enlaces que no se ven, palabras subrayadas que no son enlaces. www.baddesigns.com Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 12 12 Objetivos de la HCI Crear sistemas informáticos que cumplan las siguientes características. z Seguridad. Entendida como el mantenimiento de la integridad del sistema y la tolerancia a fallos del usuario. z Utilidad. La utilización del sistema debe tener la capacidad de solucionar algún problema real. z Eficacia. Debe lograr el efecto deseado. z Eficiencia. Debe lograr el efecto deseado con el mejor aprovechamiento de recursos posible. z Y sobre todo: usabilidad. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 13 13 Usabilidad Usabilidad = Fácil de aprender + fácil de utilizar. Usabilidad es la eficacia, eficiencia y satisfacción con las que los usuarios pueden llevar a cabo tareas específicas en un contexto determinado (ISO, 1993). z Eficacia es la realización de los objetivos por parte del usuario completamente y con exactitud. z Eficiencia es la realización de los objetivos completamente y con exactitud en relación con los recursos utilizados (utilizar los recursos de forma óptima). z Satisfacción es el confort y la aceptación de uso del sistema. Para conseguirla es necesario aplicar los siguientes principios generales: z Facilidad de aprendizaje. z Flexibilidad. z Solidez. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 14 14 Usabilidad. Facilidad de aprendizaje Tiene como objetivo reducir el esfuerzo que tiene que hacer un usuario novel para trabajar con un sistema interactivo y pasar a ser un usuario experto. Principios que afectan a la facilidad de aprendizaje. z Predicción. Permitir que el usuario determine el efecto de una acción futura basándose en interacciones anteriores. 9 Un sistema es predecible si los conocimientos adquiridos por el usuario en otros sistemas interactivos son suficientes para poder determinar los resultados de las interacciones en un nuevo sistema. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 15 15 Usabilidad. Facilidad de aprendizaje (II) Para ayudar a la predicción es conveniente garantizarla Visibilidad de operaciones. Un sistema es poco predecible cuando obliga al usuario a recordar contenidos de una pantalla anterior. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 16 16 Usabilidad. Facilidad de aprendizaje (II) Síntesis. Permite que un cambio del estado del sistema sea percibido por el usuario. Síntesis inmediata Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 Síntesis eventual 17 17 Usabilidad. Facilidad de aprendizaje (III) Principios que afectan a la facilidad de aprendizaje. z Familiaridad. La correlación entre los conocimientos del usuario y los conocimientos requeridos para el manejo del sistema. 9 Conocimientos de otros sistemas informáticos. 9 Conocimientos del mundo real. z Generalización. Permitir al usuario ampliar el conocimiento de una interacción específica dentro de la aplicación y entre otras aplicaciones para situaciones similares. z Consistencia. Todos los mecanismos de interacción deben de ser utilizados de la misma manera. 9 9 9 9 Las interfaces deben de estar estandarizadas. Importancia de las guías de estilo. No cambiar lo que no sea necesario cambiar. Al añadir nuevas técnicas evitar cambiar aquellas a las que esté acostumbrado el usuario. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 18 18 Usabilidad. Flexibilidad Hace referencia a las distintas formas en que el usuario y el sistema intercambian información. Iniciativa en el diálogo: el usuario debe llevar el control del sistema. z Considerar al usuario como el actor principal de la interacción. 9 El usuario es alguien inteligente capaz de llevar a cabo su tarea sin interacciones cerradas. Multitarea. z El usuario debe ser capaz de ejercer varias tareas al mismo tiempo. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 19 19 Usabilidad. Flexibilidad (II) Migración de tareas. z Capacidad de transferir el control entre el usuario y el sistema. z Tanto uno como otro han de poder pasar de una tarea a otra y promocionarla (cambiar el control del usuario al sistema o viceversa). Capacidad de sustitución. z Posibilidad de que los valores puedan ser sustituidos por valores equivalentes (p.e. elegir colores por el nombre, por su valor hexadecimal o mediante una paleta de colores). Configurable. z El usuario debe ser capaz de modificar el aspecto de la interfaz. 9 En cuanto a preferencias en el diseño. 9 En cuanto a opciones según el nivel de experiencia (p.e. la interfaz de Visual Studio .NET). Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 20 20 Usabilidad. Solidez El sistema debe cumplir sus objetivos y permitir su evaluación. Capacidad de observación. z Permite al usuario evaluar el estado del sistema por medio de la representación percibida en la interfaz. Recuperabilidad. z El usuario debe poder recuperar el sistema a un estado anterior después de percibir un error en la operación. z “Principio de esfuerzo proporcionado” 9 Si un efecto es difícil de deshacer, también debe ser más difícil de llevar a cabo. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 21 21 Usabilidad. Solidez (II) Tiempo de respuesta. z Debe ser el menor posible. z Es necesario informar al usuario de que el sistema ha recibido la petición y está realizando la tarea. Adecuación de tareas. z Hace referencia al grado en que el sistema soporta todas las tareas que el usuario desea hacer y la manera en que las comprende. z El mensaje “esto será soportado en posteriores versiones” es frustrante para el usuario. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 22 22 Factores que afectan a la HCI Factores organizativos. z Entrenamiento, diseño del local de trabajo, política, cargos, organización del trabajo. Factores del entorno. z Ruidos, ventilación calefacción, iluminación. Factores de salud y seguridad. z Stress, dolores de cabeza, molestias visuales, desórdenes musculares. Factores de capacidad y proceso cognitivo del usuario. z Motivación, satisfacción, nivel de experiencia. Factores de confort. z Silla, diseño del equipamiento. Interfaz de usuario. z Dispositivos de entrada, pantallas de salida, diseño de los diálogos, uso del color, iconos, ordenes, materiales de soporte al usuario (ayudas). Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 23 23 Disciplinas que contribuyen en la HCI Más cercanas al hombre Más cercanas a la máquina Interfaz de usuario Diseño gráfico Factores organizativos Sociología Programación Factores organizativos Factores cognitivos Interacción personaordenador Psicología Inteligencia artificial Factores del entorno Factores de salud y seguridad Factores de confort Ergonomía Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 Ingeniería del software 24 24 Disciplinas que contribuyen en la HCI (II) Diseño gráfico. z Crear objetos “bellos y útiles”. Concepción de un objeto destinado a su producción en serie. z Un buen diseño gráfico de pantallas, iconos, etc. conseguirá interfaces que no producirán un rechazo al usuario al tiempo que facilitará la interpretación de las acciones a realizar. Sociología. z Estudia el comportamiento de las personas en cuanto a pertenecientes a un grupo social. z Importancia de la etnografía para crear interfaces culturalmente adecuadas. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 25 25 Disciplinas que contribuyen en la HCI (III) Psicología. z Estudia el comportamiento de los individuos. z En la HCI permite estudiar la forma en la que los individuos perciben los objetos y procesan la información que reciben. z Permite evaluar y determinar el grado de satisfacción de las interfaces. Programación. z Técnicas de programación orientadas a objetos y guiadas por eventos. Inteligencia artificial. z Para el diseño de programas que simulen el comportamiento de la inteligencia humana. z Tutoriales, asistentes, sistemas expertos, interfaces controladas por el habla. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 26 26 Ingeniería del software El ciclo de vida clásico. Modelo en cascada Especificación de requisitos Diseño arquitectónico Diseño de detalle Codificación y pruebas unitarias Integración y pruebas Operación y mantenimiento Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 27 27 Ingeniería del software (II) Basándose en las mismas etapas añade otros procesos en los que se incluye el diseño de la interfaz mediante la construcción de prototipos y la evaluación de los mismos por parte de los usuarios. Ciclo de vida clásico Especificación de requisitos Creación del prototipo Diseño arquitectónico Diseño de detalle Evaluación del prototipo Codificación y pruebas unitarias Integración y pruebas Operación y mantenimiento Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 28 28 Ergonomía Estudia las características físicas de la interacción: entorno de trabajo, condiciones ambientales, características físicas de los mecanismos de interacción. Permite estudiar: z Organización de los controles y las pantallas. 9 Agrupación funcional. Se agrupan controles funcionalmente relacionados. 9 Agrupación secuencial. Se agrupan los controles reflejando el orden de uso en una interacción típica. 9 Por frecuencia. Se agrupan los controles por la frecuencia de uso. Los más utilizados deben ser los más fácilmente accesibles. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 29 29 Ergonomía (II) Agrupación secuencial: explorador de windows Agrupación funcional: pestañas Agrupación por frecuencia: las barras de menús muestran las opciones más comunes Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 30 30 Ergonomía (III) Permite estudiar también: z Aspectos de salud que afecten a la calidad de la interacción y a las restricciones de los usuarios. z El entorno físico de la interacción. z El uso de los colores. 9 Tan diferentes como sea posible. 9 Fácilmente distinguibles al margen de la luz ambiental o los defectos visuales del usuario. Universidad Pontificia de Salamanca (campus Madrid) Facultad de Informática ©Luis Rodríguez Baena, 2005 31 31