Interacción persona-ordenador
Estilos y paradigmas
Objetivos
• Entender y aprender qué es un estilo de interacción
• Tener una visión general y comparativa de los estilos y paradigmas de interacción
• Conocer el estado actual y la evolución futura de los estilos de interacción
• Aprender a elegir entre los diferentes paradigmas y, dentro de estos, qué estilos de interacción utilizar para una determinada aplicación
Comparación de los paradigmas de interacción
Introducción
¿Qué es la interacción?
o Interacciones: Todos los intercambios que suceden entre la persona y el ordenador (Baecker and Buxton, 1987)
o Interacción multimodal: Se usan múltiples canales de comunicación simultáneamente
Estilo de interacción: Término genérico que agrupa las diferentes maneras en que los usuarios se comunican o interaccionan con el ordenador (Preece, 1994)
Estilos de interacción predominantes:
o Interfaz por línea de órdenes
o Menús y navegación
o Lenguaje Natural
o Manipulación directa
o Interacción asistida
Interfaz por línea de órdenes
• Primer estilo de interacción de uso generalizado y todavía hoy en uso
• Consiste en dar instrucciones directamente al ordenador mediante
Palabras enteras
Abreviaturas
Caracteres
Teclas de función
Ejemplos:
• ls -la (UNIX)
• dir *.htm (MS-DOS)
• más fáciles de recordar: copy. cp
• más rápidas de ejecutar: CTRL + z
Ventajas
o Flexibilidad
Las opciones de la orden pueden modificar su comportamiento
La orden puede ser aplicada a muchos objetos a la vez
o Permite la iniciativa del usuario
o Es atractivo para usuarios expertos
Ofrece acceso directo a la funcionalidad del sistema
o Potencialmente rápido para tareas complejas
o Capacidad para hacer macros
Desventajas
o Requiere un memorización y entrenamiento importantes
No hay indicación visual de la orden que se necesita
Más útil para usuarios expertos que para usuarios noveles
o Gestión de errores pobre
Menús y navegación
Menú: Conjunto de opciones visualizadas en pantalla que se pueden seleccionar y llevan a la ejecución de una acción asociada
• Suelen estructurarse jerárquicamente
• Existen guías de estilo para diseñar menús
o Número ideal de opciones: entre 3 y 8
Ventajas
• Entrenamiento reducido, menos tecleo
• Permiten el uso de herramientas de gestión de diálogos
• Toma de decisión estructurada
Desventajas
o Pueden resultar lentos para usuarios experimentados
Solución: atajos de teclado
o Ocupan mucho espacio en la interfaz
Solución: menús desplegables y pop-up
o Requieren una visualización rápida
Lenguaje natural
Beneficios
• Conocimiento del propio lenguaje
• Uso de la voz, por tanto manos libres
Problemas
• Diferencias en lenguajes, argots, voces
• Pueden ser necesarios diálogos de clarificación
• Interfaces todavía no inteligentes
Manipulación directa
Características: (Schneiderman, 1991)
Representación continua de los objetos y acciones de interés
Cambio de una sintaxis de órdenes compleja por la manipulación de objetos y acciones
Acciones rápidas, incrementales y reversibles que provocan un efecto visible inmediato en el objeto seleccionado
Posible gracias a las pantallas gráficas de alta resolución y los dispositivos apuntadores
Historia: Xerox Star, Apple Macintosh
Entorno más común: interfaz WIMP
Windows, Icons, Menus, Pointers
Beneficios y problemas
Beneficios
Los nuevos usuarios aprenden más rápidamente
Los usuarios expertos pueden trabajar rápidamente
Los usuarios ven rápidamente el resultado de sus acciones
Las acciones son reversibles
Problemas
Se necesitan más recursos
No todas las tareas pueden ser descritas por objetos concretos
No todas las acciones se pueden hacer directamente
Interacción asistida
La manipulación directa exige que el usuario explicite todas las tareas y controle todos los eventos
El creciente número de nuevos usuarios exige un cambio en la forma de interactuar con el ordenador
La interacción asistida usa la metáfora del asistente personal o agente que colabora con el usuario
o El usuario no dirige la interacción
o Trabaja de forma cooperativa con el agente o agentes
Se reduce el esfuerzo del usuario
Agentes vs Asistentes
Agentes de la interfaz
Agente: es un programa que el usuario ve como un asistente o programa que le ayuda y no como una herramienta
Tiene algunas de las características asociadas a la inteligencia humana
o Capacidad de aprender, inferencia, adaptabilidad, independencia, creatividad, etc (Lieberman, 97)
El usuario no ordena, delega tareas al agente (Maes, 94)
El agente es más discreto que el asistente
o Trabaja en segundo plano y actúa por propia iniciativa cuando encuentra información que puede ser relevante para el usuario
o Puede afectar a los objetos de la interfaz sin instrucciones explícitas del usuario
Interacción asistida – agentes
Características
Autonomía
o Trabaja en segundo plano
o Observa al usuario y las fuentes de información disponibles
Inteligencia
o Actúa por propia iniciativa
o Se adapta a múltiples situaciones, variando su estrategia
Uso personal
o Se adapta y aprende del usuario
o No insiste en una solución si el usuario decide otra
Integración con aplicaciones
Para poder interaccionar con agentes las aplicaciones deben tener ciertas propiedades:
o Programable
o Controlable
o Examinable
Integración con aplicaciones
Programable
Una aplicación es programable si proporciona un medio (a través de un lenguaje de programación o mediante un API) a un agente externo para llamar a las órdenes de la aplicación
Controlable
Una aplicación es controlable si es capaz de informar a un agente externo que el usuario pide a la aplicación utilizar una función por menú, por icono o por teclado
Examinable
Una aplicación es examinable si se pueden revisar periódicamente las estructuras de datos de la aplicación y tratar de inferir las acciones que se están realizando con la interfaz de usuario comparando con otros estados de las estructuras de datos
Asistentes, magos, guías
Son entidades computacionales que nos asisten en el uso de las aplicaciones existentes
Nos exponen de manera fácil lo que se ha de hacer y pueden entender palabras escritas o habladas o acciones gráficas e interpretarlas
Son muy flexibles en la forma en que reciben las instrucciones: el usuario tan sólo dice lo que quiere hacer
Pueden ser capaces de aprender del usuario
El asistente es activado por el usuario
Paradigmas de interacción
Son los modelos de los que se derivan todos los sistemas de interacción
Los paradigmas interactivos actuales son:
o El ordenador de sobremesa
o La realidad virtual
o La computación ubicua
o La realidad aumentada
Realidad virtual
El término RV se suele aplicar a
o Interfaces en 3D con las que se puede interactuar y se actualizan en tiempo real
o Sistemas cuyo nivel de autonomía, interacción y sensación de presencia es casi igual al del mundo real
Condiciones para hablar de un sistema de RV:
o Sensación de presencia física directa mediante indicaciones sensoriales (visuales, auditivas, hápticas) creadas por la tecnología
o Indicaciones sensoriales en tres dimensiones
o Interacción natural. Permiten manipular los objetos virtuales con los mismos gestos que los reales: coger, girar, etc.
Beneficios y problemas
Beneficios
Simulaciones imposibles en otro estilo
Problemas
Alto coste
Cansancio del usuario
Computación ubicua
La Computación Ubicua trata de extender la capacidad computacional al entorno del usuario
Permite que:
la capacidad de información esté presente en todas partes
en forma de pequeños dispositivos muy diversos
que permiten interacciones de poca dificultad
conectados en red a servidores de información
El diseño y localización de los dispositivos son específicos de la tarea objeto de interacción
El ordenador queda relegado a un segundo plano, intentando que resulte “transparente” al usuario (ordenador invisible)
Origen: Mark Weiser, Xerox PARC, 1991
Hay una gran variedad de dispositivos:
• Insignias activas
• Marcas
• Tabletas
• Pizarras, etc.
Podemos hablar de entornos en los que los usuarios no interaccionan directamente con ordenadores, sino con dispositivos de diverso tipo y tamaño
Necesidades para la computación ubicua:
• Ordenadores baratos y de bajo consumo
• Programas de ejecución ubicua
• Red que lo unifique todo
Los avances en el hardware no son aún suficientes para que el paradigma de la computación ubicua sustituya al del ordenador de sobremesa
Beneficios y problemas
Beneficios
Simplicidad o invisibilidad de la interacción
Fiabilidad
Problemas
Pérdida de privacidad (insignia activa)
Tecnología no asentada
No resuelve todos los problemas
Realidad aumentada
La RA trata de reducir las interacciones con el ordenador utilizando la información del entorno como una entrada implícita
La RA integra el mundo real y el computacional:
o El mundo real aparece aumentado por información sintética
o Se consigue una disminución importante del coste interactivo
Objetivos:
o Mejorar la interacción con el mundo real
o Integrar el uso del ordenador en actividades cotidianas
o Posibilitar el acceso a usuarios diversos y no especializados
Los objetos cotidianos se convierten en objetos interactivos
o Trasladar el foco de atención del ordenador al mundo real
La información se traslada al mundo real, en lugar de introducir el mundo real en el ordenador (realidad virtual)
Método más común:
Solapamiento entre la información digital y las imágenes del mundo real a través del uso de visualizadores en casco o proyecciones de vídeo
La situación del usuario será automáticamente reconocida utilizando diversas técnicas de reconocimiento (tiempo, posición, objetos, códigos de barra…)
Aplicar la realidad virtual al mundo real
Se aumenta o mejora la visión que el usuario tiene del mundo real con información adicional sintetizada
La información se superpone mediante el uso de gafas especializadas
Usar dispositivos que aumentan la realidad e interaccionan directamente con ella
El usuario interactúa con el mundo real, que está aumentado con información sintetizada
No se trata de superponer la información real con la virtual, sino de hacer participar a objetos cotidianos como un lápiz o una mesa que interactúan con el sistema de forma automática
Líneas de trabajo
Superficies interactivas: Transformación de la superficie dentro de un espacio arquitectónico (paredes, mesas, puertas, ventanas) en una superficie activa entre el mundo físico y el mundo real
Acoplamiento de bits y átomos: Acoplamiento sin interrupciones entre los objetos de cada día que se pueden coger (tarjetas, libros, etc.) y la información digital que está relacionada con ellos
Medio ambiente: Uso del medio ambiente como sonido, luz, corrientes de aire y movimiento de agua como interfaces de fondo
Ordenadores corporales
Objetivos:
• Llevar encima el ordenador
• Interactuar con el usuario según el contexto
• Enlazar la información del entorno personal con la de un sistema informático
Características:
Comodidad
Naturalidad
Integración con la vestimenta
AGENTE
Desde el punto de vista de la inteligencia artificial un agente posee las siguientes propiedades: autonomía, sociabilidad, capacidad de reacción, iniciativa, benevolencia y racionalidad (Wooldridge y Jennings, 1995).
Es un programa que el usuario ve como asistente o programa que le ayuda y no como una herramienta.
«Un agente inteligente es una entidad software que, basándose en su propio conocimiento, realiza un conjunto de operaciones para satisfacer las necesidades de un usuario o de otro programa, bien por iniciativa propia o porque alguno de éstos se lo requiere»
Están diseñados específicamente para procesar consultas, y poseen al menos uno de los siguientes elementos: capacidad de proceso, conocimiento del entorno donde se mueven e información de un dominio.
Un agente tiene capacidad de proceso puesto que puede descomponer una consulta en subconsultas y asociar a los distintos términos resultantes otros términos relacionados o afines. Su conocimiento del entorno le viene dado por su propio conocimiento y por el de otros agentes que se comunican con él (el conocimiento puede ser adquirido: del mismo usuario o de otros agentes con los que se encuentra mientras realiza una tarea determinada; y, una vez finalizado su trabajo: de aquellos lugares que ha visitado, así como de las direcciones de los agentes con los que se ha encontrado).
Agentes inteligentes de información
Posea las propiedades que a continuación se describen:
Autonomía: actuar sin ningún tipo de intervención humana directa, y tener control sobre sus propios actos.
Sociabilidad: comunicarse por medio de un lenguaje común con otros agentes, e incluso con los humanos.
Capacidad de reacción: percibir su entorno, y reaccionar para adaptarse a él.
Iniciativa: emprender las acciones para resolver un problema.
Una vez dicho esto, ya no hablaremos más de agentes inteligentes para la recuperación de la información, sino que simplemente nos referiremos a ellos como agentes de información.
Cualquier objetivo o problema se puede descomponer en subobjetivos o en subproblemas.
Los agentes pueden dar respuesta a cada uno de estos subproblemas y, una vez combinados entre sí, ofrecer la respuesta al problema en su conjunto.
Un agente que «sabe» cómo resolver una subconsulta en particular puede tomar la responsabilidad de responderla. Por ejemplo si la consulta es «perros y gatos», y hay un agente en cuyo dominio se encuentra una entrada a la base de datos relacionada con «perros», entonces el agente se ofrecerá para tomar parte en la búsqueda de «perros». Después los resultados obtenidos por separado de «perros» y «gatos» serán conjuntados, filtrados, seleccionados y presentados al usuario.
Agentes cooperativos
Para que un agente pueda ser autosuficiente y conocedor del entorno en el que se encuentra, debe coordinarse y cooperar con cada uno de los otros agentes. Existen varias formas para hacerlo. En un sistema compartido un agente cualquiera descompone la consulta y asigna las subconsultas a otros agentes. Cada uno sabe cuáles son las capacidades y limitaciones del resto. No existe un «agente maestro»; el grupo de agentes recibe las subconsultas, y todos ellos trabajan por igual para encontrar la solución. En un sistema contractual los agentes siguen teniendo todos el mismo estatus. Sin embargo, el agente que recibe la consulta no asigna las subconsultas al grupo de agentes, sino que las envía a todos ellos para que éstos le indiquen quién puede resolverlas, y de entre ellos selecciona aquellos cuyo dominio sea más adecuado.
Agentes móviles
Uno de los últimos desarrollos en tecnología de agentes. Se basan en el principio organizador de redes de comunicación entre ordenadores, conocido como Control de Procedimientos Remotos (RPC) y concebido en 1976. Cuando un ordenador cliente de una red (no importa su tamaño) dirige una petición al servidor de ficheros para ejecutar una aplicación, el cliente debe realizar al menos dos comunicaciones: una solicitando la ejecución de un programa determinado, y otra informando al servidor que la operación se ha completado con éxito.
Agentes de búsqueda inteligentes
La distribución de la información conduce a la necesidad de crear un sistema descentralizado de recuperación de información, que estará basado en agentes inteligentes, los cuales podrán localizar, recuperar y almacenar las preguntas en un «resultado» para un usuario en concreto. los agentes de búsqueda pueden diferenciarse por la entidad o persona para la que trabajan: usuarios y/o consultas y/o bases de datos. También se pueden distinguir por su forma de interactuar, es decir, si se relacionan libremente todos los agentes para resolver las consultas, o sólo son unos pocos agentes los que se relacionan entre sí (mediadores o principales).
Agentes de consulta
Un sistema de agentes orientados a consulta origina uno o más agentes en respuesta a la pregunta formulada por un usuario. Estos agentes trabajan en representación del individuo mientras dura la consulta, recogiendo información de todas las bases de datos disponibles.
Cuando una persona realiza una pregunta, ésta se descompondrá en subconsultas para su resolución.
Agentes de bases de datos
En este sistema pasan a ser agentes activos que interactúan entre sí. Cada base de datos dispone de un agente que sabe cómo presentar de forma adecuada las subconsultas a su base de datos, conociendo a su vez el tipo de información que se almacena en ella.
Agentes de consulta de bases de datos
Las bdd y las consultas pueden ambas tener sus propios agentes con el fin de proporcionar las respuestas más adecuadas al usuario. Forman una estructura jerárquica en donde los agentes de consulta poseen información de las materias almacenadas en cada base de datos. Por ejemplo, si una consulta consta de dos términos y hay una base de datos que posee información sobre uno de ellos, mientras que en otra se recoge información sobre los dos, los agentes de búsqueda siempre preferirán la segunda, puesto que implica menos trabajo y por tanto menos costo.
Agentes mediadores de consulta de bases de datos
En este sistema los agentes utilizan información de internet (grupos de trabajo, archivos, bases de datos de revistas, sitios web, etc.). Su arquitectura es doble. Por una parte cuenta con una estructura organizacional que usa agentes de razonamiento, agentes de recuperación en red de bajo nivel y agentes de interfaz de usuario. Por otra parte tiene una estructura funcional con unidades tipo pregunta/respuesta conformada por agentes individuales y un facilitador.
La primera arquitectura proporciona el acceso a las fuentes de información (grupos de trabajo, archivos...), mientras que la segunda se encarga de procesar las preguntas de los usuarios
Agentes de usuario
Los agentes orientados a usuario están asociados a una persona en concreto. A diferencia de los agentes de consulta, que se generan cada vez que tienen que realizar una consulta para un individuo, los agentes de usuario siempre están activos, buscando información y suministrándosela a su creador. Los agentes de usuario pueden ser utilizados para recuperar información de bases de datos, de revistas electrónicas, o incluso de los mensajes e-mail. Su objetivo es disminuir el trabajo necesario en la recuperación de la información
Agentes de búsqueda inteligentes para el web
Tienen la capacidad de hacer transparente la complejidad de la información almacenada en la Red, filtrando la información disponible sobre la materia requerida. Las consultas pueden ser textuales (productos en concreto, información sobre viajes, etc.) o por las distintas partes (título, cuerpo...) en que el world wide web se representa hoy día
Multiusuario
Se le llama multiusuario a la característica de un sistema operativo o programa que permite proveer servicio y procesamiento a múltiples usuarios simultáneamente (tanto en paralelismo real como simulado). multiusuario se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten los mismos recursos.
Los recursos que se comparten son por lo regular una combinación de:
Procesador.
Memoria.
Almacenamiento secundario (almacenaje en disco duro).
Programas.
Periféricos como impresoras, plotters, scanners, etc.
Sistemas de tiempo compartido
Fue en la forma de sistemas de tiempo compartido en grandes ordenadores destinados a dar servicio a más de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo en el procesador asignadas a cada programa (usuario).
Sistemas operativos multiusuario
La idea de multiusuario guarda el significado original de que éste puede utilizarse por varios usuarios al mismo tiempo, permitiendo la ejecución concurrente de programas de usuario.
Ejemplos de sistemas operativos con característica de multiusuario son VMS y Unix, así como sus múltiples derivaciones (e.g. IRIX, Solaris, etc.) y los sistemas "clones de Unix" como Linux, FreeBSD y Mac OS X.