La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Construcción de Interfaces a Usuario: Introducción

Presentaciones similares


Presentación del tema: "Construcción de Interfaces a Usuario: Introducción"— Transcripción de la presentación:

1 Construcción de Interfaces a Usuario: Introducción
Construcción de Interfaces a Usuario - ©1999

2 Contenidos Objetivos del curso HCI Sistemas Interactivos
Importancia IU Complejidad diseño e implementación Evolución Histórica Estilos de interacción Construcción de Interfaces a Usuario - ©1999 1

3 Objetivos Introducción a los aspectos relacionados con el desarrollo de sistemas interactivos aspectos computacionales y de software nivel de detalle intermedio no generalidades no específico de ninguna plataforma o configuración de hardware particular no describe ninguna herramienta ni metodología particular se citan: los enfoques existentes, con ventajas y desventajas los aspectos a considerar la forma de funcionamiento de las arquitecturas gráficas Construcción de Interfaces a Usuario - ©1999

4 Objetivos Foco del curso: interfaces convencionales actuales 2D
WIMP (‘Windows, Icons, Menues and Pointing’) Dispositivos convencionales (mouse, teclado, pantalla) Construcción de Interfaces a Usuario - ©1999

5 Objetivos Programadores, Analistas, Diseñadores Investigadores
comprender los aspectos relacionados con la implementación de un sistema interactivo conocer los distintos enfoques y paradigmas actuales para la construcción de interfaces Investigadores conocer los fundamentos de la construcción de las interfaces actuales conocer las tendencias de trabajo actuales en interfaces problemática de cada tipo de interacción particular Administradores de proyecto: conocer la importancia de la consideración de la usabilidad de una interfaz comprender los distintos pasos en el diseño de interacciones Construcción de Interfaces a Usuario - ©1999

6 Objetivos Principales contenidos
Actividades y principios en el diseño de una interfaz Funcionamiento de los sistemas actuales sistemas de ventanas construcción de presentaciones tratamiento de eventos toolkits Organización del software modelos arquitectónicos Formas de construcción métodos y paradigmas existentes herramientas actuales líneas de investigación Tendencias interfaces de nueva generación Construcción de Interfaces a Usuario - ©1999

7 Objetivos Evaluación? Construcción de Interfaces a Usuario - ©1999

8 ‘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 Construcción de Interfaces a Usuario - ©1999

9 Motivación HCI Capacidades Computacionales Capacidades Humanas 1950
1990 2030 Construcción de Interfaces a Usuario - ©1999

10 HCI Construcción de Interfaces a Usuario - ©1999

11 HCI Uso y contexto Trabajo y Organización social Áreas de Aplicación
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. Construcción de Interfaces a Usuario - ©1999

12 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) Construcción de Interfaces a Usuario - ©1999

13 HCI Características Humanas Procesamiento humano de la información
Comprensión de los seres humanos como sistemas de procesamiento de información, formas de comu- nicaciónn 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 Construcción de Interfaces a Usuario - ©1999

14 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 Construcción de Interfaces a Usuario - ©1999

15 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 Construcción de Interfaces a Usuario - ©1999

16 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 Construcción de Interfaces a Usuario - ©1999

17 HCI Proceso de desarrollo Enfoques de diseño
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 Construcción de Interfaces a Usuario - ©1999

18 Qué es una Interfaz con el Usuario (IU)?
“Sistema interactivo” (SI) Programa computadorizado que desempeña sus tareas interactuando con un operador humano (“usuario”). “Interfaz con el usuario” (IU) Porción de un sistema interactivo que administra la presentación de datos y las acciones realizadas por el usuario. Aspectos sintacticos y léxicos de la interacción “Aplicación” o “Núcleo Funcional”(NF) Porción del sistema interactivo que no incluye la interfaz con el usuario Semántica de la aplicación Construcción de Interfaces a Usuario - ©1999 2

19 Sistemas Interactivos
Aspectos sintácticos y léxicos Aplicación Operador Interfaz Aspectos semánticos Sistema Interactivo Construcción de Interfaces a Usuario - ©1999

20 Niveles de Abstracción de un SI
Núcleo Funcional Control del Diálogo Objetos de Interacción Sistema de Ventanas Drivers Incremento en el nivel de abstracción Conocimiento del dominio Control de los obj . de interacción Control del secuen - ciamiento de las acciones del usuario Control de los Control de los recursos E/S dispositivos físicos Construcción de Interfaces a Usuario - ©1999

21 Importancia de las IU Algunos estudios sobre desarrollo de IUs :
48 % (promedio) código 50 % (promedio) tiempo de implementación Construcción de Interfaces a Usuario - ©1999

22 Importancia de las IUs Facilidad de uso “Paradoja de la productividad”
Los usuarios no desean leer manuales extensos ni consumir tiempo aprendiendo la forma de operar un sistema “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 SIs Construcción de Interfaces a Usuario - ©1999

23 “Usabilidad” del software
“Utilidad” La funcionalidad del SI provee las operaciones necesarias “Usabilidad” Grado de facilidad en el uso del SI 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 Construcción de Interfaces a Usuario - ©1999

24 Diseñadores de Interfaces
Porqué tener diseñadores especializados en HCI? 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 Construcción de Interfaces a Usuario - ©1999

25 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 Construcción de Interfaces a Usuario - ©1999 8

26 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. “Implementador 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 Construcción de Interfaces a Usuario - ©1999

27 Roles en una IU Sistema Interactivo Núcleo Funcional Software de la IU
Look &Feel Sistema Interactivo Operador Implem. Herram. Diseñador NF Diseñador software IU Requeri- mientos Herram. Construcc. Diseñador IU Diseñador SI Especif. Tareas Construcción de Interfaces a Usuario - ©1999

28 Importancia HCI Campo de investigación actual en industrias, universidades y gobiernos proyectos financiados por ARPA, NSF, Comunidad Europea (proyecto ESPRIT) Identificado como uno de los aspectos con mayor impacto en el futuro de las ciencias de la computación Construcción de Interfaces a Usuario - ©1999

29 Recursos en HCI SIGCHI Publicaciones específicas
TOCHI, Interactions (ACM) Interacting with Computers Intl. Journal of Human Computer Interaction Behavior & Information Technology Human-Computer Interaction Conferencias más importantes CHI, Interact, UIST, EHCI, DSVIS conferencias en tópicos específicos (WWW, CSCW, IV, DIS, ...) Construcción de Interfaces a Usuario - ©1999

30 Complejidad del diseño de IUs
“Es fácil hacer las cosas difíciles. Es dificil 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 Construcción de Interfaces a Usuario - ©1999

31 Complejidad del diseño de IUs
Complejidad inherente de las tareas y los dominios Es dificil 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, ...) Construcción de Interfaces a Usuario - ©1999

32 Complejidad del diseño de IUs
Diversos aspectos del diseño involucrados Estandares 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 Construcción de Interfaces a Usuario - ©1999

33 Aspectos diseño IUs Estándares
Las IUs deben adherirse a los estandares requeridos por su plataforma ej. guías de estilo de Macintosh o Motif. Deben satisfacerse los estandares 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 Construcción de Interfaces a Usuario - ©1999

34 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. Construcción de Interfaces a Usuario - ©1999

35 Aspectos diseño IUs Rendimiento Detalles de alto y bajo nivel
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 Construcción de Interfaces a Usuario - ©1999

36 Aspectos diseño IUs Factores externos Aspectos legales
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 Construcción de Interfaces a Usuario - ©1999

37 Aspectos diseño IUs Tiempo de programación y testeo Otros
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 Construcción de Interfaces a Usuario - ©1999

38 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. Construcción de Interfaces a Usuario - ©1999

39 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 dificil 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 Construcción de Interfaces a Usuario - ©1999

40 Complejidad del diseño de IUs
Inclusión de aspectos más sofisticados Información multimedial Multimodalidad en la interacción Interacciones 3D Trabajo colaborativo Construcción de Interfaces a Usuario - ©1999

41 Complejidad de implementar IUs
Dificiles de diseñar, requiriendo una implementación iterativa No siguen el modelo en “cascada”: especificar, diseñar, implementar, testear, liberar Dificultades en la planificación y administración del proceso de desarrollo Construcción de Interfaces a Usuario - ©1999

42 Complejidad de implementar IUs
Programación Reactiva Programación “de adentro hacia fuera” La aplicación no posee el control de la ejecución Aplicación estructurada como subrutinas invocadas ante acciones del operador Las subrutinas pueden tener restricciones temporales ej. deben completarse antes de que el operador introduzca el siguiente comando Programación basada en eventos Programación más dificultosa para los programadores Dificultades con la modularización Construcción de Interfaces a Usuario - ©1999

43 Complejidad de implementar IUs
Multiprocesamiento La programación reactiva requiere una múltiples procesos Administración simultánea de los distintos procesos de un sistema de ventanas. El software de la IU debe estar diseñado para aceptar comandos en cualquier momento, aún mientras se ejecutan otros comandos Las operaciones prolongadas deberían ser implementadas como procesos separados ej. impresiones, repaginados Construcción de Interfaces a Usuario - ©1999

44 Complejidad de implementar IUs
Multiprocesamiento el usuario puede participar simultánemente en múltiples diálogos ej. operación con diferentes ventanas Debe mantenerse el estado acerca de las acciones realizadas por el usuario Los diálogos debieran poder interactuar entre sí. Problemas comunes del multiprocesamiento: Sincronización Mantenimiento de consistencia ‘Deadlocks’ Construcción de Interfaces a Usuario - ©1999

45 Complejidad de implementar IUs
Requerimientos de tiempo real Las interfaces de manipulación directa deben proveer un alto ‘feedback’ ante las acciones del usuario ej. movimiento de objetos o ‘rubberbanding’. el ‘feedback’ debería finalizar en aprox. 16 milisegundos Operaciones más sencillas y rápidas ej. ‘XORs bounding boxes’ Macintosh Mantenimiento de la posición del mouse. Información temporal: video, sonido, animaciones Construcción de Interfaces a Usuario - ©1999

46 Complejidad de implementar IUs
Robustez del software Aceptación de todos las acciones del usuario Ante cualquier input, la IU debe continuar operando (‘no crashing’) Errores Provisión de mensajes de error significativos Permitir una recuperación sencilla y segura de los errores Soporte de ‘abort’ y ‘undo’ de todas las acciones Todas las acciones deben ser implementadas de tal forma que permitan su interrupción y reversión luego de su terminación Pueden requerir estructuras de datos y estilos de programación especiales. Construcción de Interfaces a Usuario - ©1999

47 Complejidad de implementar IUs
Débil soporte de los lenguajes de programación actuales No contienen las características apropiadas para las IUs Primitivas para input y output gráfico (ej. printf, scanf) No proveen facilidades para servicios generales ( ‘undo’, ayudas) Generalmente, las capacidades de E/S de los lenguajes son ignoradas Utilización de rutinas de bibliotecas externas No proveen soporte para programación reactiva y/o multiprocesamiento. Los lenguajes OO son adecuados para la implementación de IUs No todos los lenguajes proveen un sistema de objetos apropiado Apple desarrolló ObjectPascal, para MacApp Motif y OpenLook utilizan un sistema de objetos en C (Xtk) Construcción de Interfaces a Usuario - ©1999

48 Complejidad de implementar IUs
Dificultades en el uso de las herramientas de desarrollo de IUs. Manuales inmensos, con cientos de procedimientos ej. Macintosh Toolbox (6 libros) Aprendizaje de un lenguaje de programación de propósito especial ej. UIL Flexibilidad insuficiente para obtener determinados efectos ej. Macintosh y Motif, no permiten implementar en forma sencilla aceleradores de botones. Generalmente, la utilización de los paquetes gráficos subyacentes es dificil Construcción de Interfaces a Usuario - ©1999

49 Complejidad de implementar IUs
Dificultades en la modularización del software de IUs Una modularización apropiada facilita la creación y mantenimiento La porción del software que implementa la IU debiera estar separada del resto del software “Independencia del Diálogo” Posibilita el diseño iterativo Dificultades para obtener una separación real. Cambios en la IU generalmente requieren cambios en la aplicación, y viceversa. ‘Feedback’ semántico La utilización indiscriminado de ‘callbacks’ dificulta aún más la modularización Construcción de Interfaces a Usuario - ©1999

50 Complejidad de implementar IUs
Inclusión de aspectos más sofisticados Información multimedial Interacción Multimodal Interfaces 3D Trabajo colaborativo Construcción de Interfaces a Usuario - ©1999

51 Evolución histórica HCI
Lecciones: Los teclados y terminales son solamente artefactos de la tecnología actual Los nuevos dispositivos de E/S cambiarán las formas de interactuar (completar con paper Myers) Las lecciones: los teclados y terminales son solamente artefactos de la tecnología actual los nuevos dispositivos de entrada y salida cambiarán la forma en que interactuamos con las computadoras Construcción de Interfaces a Usuario - ©1999

52 ENIAC (1943) Primer computador electrónico
Construcción de Interfaces a Usuario - ©1999

53 Mark I (1944) Lectores de cintas de papel perforadas
Construcción de Interfaces a Usuario - ©1999

54 Stretch (1961) Panel de control de Stretch
Construcción de Interfaces a Usuario - ©1999

55 ‘Time-sharing’ 60’s ‘Time sharing’
Computadoras demasiado costosas para una única persona ‘Time sharing’ Brinda al usuario la sensación de estar trabajando en su propia máquina Necesidad inmediata de proveer soporte para la interacción hombre-máquina Incremento dramático en la accesibilidad de las máquinas Lenguajes y sistemas interactivos, no ‘jobs’ Construcción de Interfaces a Usuario - ©1999

56 SketchPad (Ivan Sutherland, 1963)
Paquete de dibujo sofisticado Introdujo muchas de las ideas actuales de las IUs Estructuras jerárquicas, definiendo figuras y sub-figuras Operaciones recursivas: aplicadas a los componentes de los objetos jerárquicos Programación orientada a objetos: instancias de figuras Restricciones: especificación de relaciones a mantener por el sistema Iconos: figuras pequeñas que representan items más complejos Técnicas de input: uso eficiente del lápiz óptico (‘light pen’) ‘World coordinates’: separación de de las coordenadas de dibujo y pantalla Desarrollos paralelos en hardware: Terminales gráficas de bajo costo Dispositivos de apuntamiento (ej. mouse, 1964) Construcción de Interfaces a Usuario - ©1999

57 El computador personal
Xerox PARC (mediados 70’s) Estación de trabajo personal (‘Alto’) Procesador local, pantalla gráfica (‘bit-mapped’), mouse Interfaces gráficas modernas Edición de texto y dibujo, correo electrónico Ventanas, menúes, barras de desplazamiento, selección con el mouse, etc. Redes de area local (LANs) para estaciones de trabajo personales Utilización de recursos compartidos Construcción de Interfaces a Usuario - ©1999

58 Máquinas Comerciales: Xerox Star (1981)
Primer computador personal comercial Primera GUI Utiliza varias de las ideas desarrolladas en Xerox Parc Modelo conceptual familiar para el usuario Simulación de un escritorio Promueve el reconocimiento y apuntamiento, no “recordar y tipear” Plantillas de propiedades (‘property sheets’) para especificar la apariencia y comportamiento de los objetos ‘What you see is what you get’ (WYSIWYG) Conjunto pequeño de comandos genéricos globales para todo el sistema Alto grado de consistencia y simplicidad Interacción sin modos Construcción de Interfaces a Usuario - ©1999

59 Máquinas Comerciales: Xerox Star (1981)
Construcción de Interfaces a Usuario - ©1999

60 Máquinas Comerciales: Xerox Star (1981)
Primer sistema basado en la “ingeniería de usabilidad” Prototipos en papel y análisis de uso Tests de usabilidad con usuarios potenciales Refinamiento iterativo de la interfaz Fallas comerciales Costo ($15,000) Funcionalidad limitada ej. no proveía planillas de cálculo Arquitectura cerrada Los vendedores de terceras partes no podían agregar aplicaciones Ejecución aparentemente lenta En realidad era rápida Adherencia muy estricta a la manipulación directa Construcción de Interfaces a Usuario - ©1999

61 Maquinas comerciales: Apple
Apple Lisa (1983) Basada en muchas ideas de Star; predecesor de Macintosh Algo más económica ($10,000) Tampoco tuvo éxito comercial Apple Macintosh (1984) “Ideas viejas”, pero bien hechas! Éxito, a causa de: Precio agresivo ($2,500) Errores de Lisa corregidos (“ideas maduras”) Permitía la incorporación de software de 3ras. partes no-Apple Guías de estilo que alentaban la consistencia entre aplicaciones Dominio en el mercado de publicaciones electrónicas (‘desktop publishing’) Construcción de Interfaces a Usuario - ©1999

62 Consolidación ACM SIGCHI (1982) MIT, Nicholas Negroponte (1969-1980+)
Grupo de interés en CHI Conferencias anuales, 2000 a 3000 asistentes MIT, Nicholas Negroponte ( ) Muchas innovaciones Pantallas en la pared Uso de discos de video Uso de inteligencia artificial en interfaces (agentes) Reconocimiento de voz conjuntamente con apuntamiento Síntesis de voz Hipermedia Construcción de Interfaces a Usuario - ©1999

63 Algunos tipos de aplicaciones
Procesadores de texto Programas de dibujo o similares Correo electrónico Planillas de cálculo Documentos hipertextuales Navegadores de WWW Realidad virtual Multimedia Juegos interactivos, en tiempo real Construcción de Interfaces a Usuario - ©1999

64 Estilos de Interacción
Formas particulares de obtener información o interactuar con un usuario Algunos estilos: 1. Preguntas y respuestas, 2. Comandos de caracteres simples y/o teclas función 3. Lenguaje de comandos 4. Menúes 5. Cajas de Diálogos / Formularios 6. Manipulación directa 7. WYSIWYG 8. Gestos 9. Lenguaje Natural Construcción de Interfaces a Usuario - ©1999

65 Estilos de IUs Las interfaces suelen proveer características de más de un estilo ej. lenguaje de comandos para expertos, y menúes para novatos El estilo apropiado depende del tipo de usuario y tarea Aspectos importantes: Quién tiene el control? Facilidad de uso para novatos Tiempo de aprendizaje para convertirse en un usuario experimentado Velocidad de uso (eficiencia) para un usuario experimentado Generalidad / Flexibilidad / Potencia (cuanto de la UI se cubre con esta técnica?) Capacidad de mostrar valores por omisión, valores actuales, etc. Experiencia requerida Construcción de Interfaces a Usuario - ©1999

66 “Preguntas y respuestas”
El sistema efectúa preguntas, el usuario responde Utilizado por algunos programas simples, y también algunos sistemas expertos ‘Wizards’ (Microsoft) Interfaces telefónicas (“presione 1 para ventas, 2 para soporte,... ") Ventajas y desventajas: Fácil de implementar (‘writeln’, ‘readln’) Fácil para novatos No pueden corregirse errores previos Excepto en Wizards, donde suele haber un botón “Previo” Construcción de Interfaces a Usuario - ©1999

67 “Preguntas y respuestas”
Construcción de Interfaces a Usuario - ©1999

68 Comandos de caracteres simples y/o teclas función
Teclas de función rotuladas Ventajas y desventajas: Método más rápido para expertos. Es sencillo aprender como utilizarlo. Sencillo para proveer soporte telefónico “Ahora presione la tecla F1” Generalmente, sencillo de implementar. Dificil recordar las asociaciones tecla-función, si el uso es intermitente. Es fácil presionar una tecla por error Construcción de Interfaces a Usuario - ©1999

69 Lenguaje de comandos Instrucciones al SI por medio de un lenguaje formal Ventajas y desventajas Mayor flexibilidad. Soporta la iniciativa del usuario. Rápido para expertos. Capacidades para macros, ‘customización’, etc. Menos espacio en pantalla Muy duro para novatos. Requiere un entrenamiento sustancial y alta memorización. Las tasas de error son generalmente altas. Sintaxis generalmente muy estricta. Pobre manejo de errores. Dificil para el usuario decir lo que quiere hacer. La dificultad de la implementación depende de la disponibilidad de herramientas como Lex y Yacc, y de la complejidad del lenguaje. Construcción de Interfaces a Usuario - ©1999

70 Lenguaje de comandos Construcción de Interfaces a Usuario - ©1999

71 Menúes Ventajas y desventajas Necesitan muy poco entrenamiento
Muestran las opciones disponibles Permite el reconocimiento (no necesitan la generación) Muestra de la selección por omisión o selección actual Capacidad para mostrar opciones deshabilitadas Pueden ser utilizados para ingresar comandos (y argumentos) Reduce la cantidad de presiones de teclas Estructura clara para la toma de decisiones. Usable sólo con pocas opciones Lento para usuarios experimentados (necesitan aceleradores) Si es una jerarquía grande, puede ser dificil hallar los comandos Utiliza espacio en pantalla Son más efectivos cuando se utilizan con un dispositivo de apuntamiento. Construcción de Interfaces a Usuario - ©1999

72 Menúes Construcción de Interfaces a Usuario - ©1999

73 Formularios Conjunto de campos numéricos o textuales, a completar por el usuario Generalmente utilizados en terminales de caracteres. ej. cajas de diálogo Macintosh y Windows Ventajas y desventajas (similar a los menúes) Simplifica la entrada de datos. Requieren muy poco entrenamiento Muestran las opciones disponibles Permiten el reconocimiento (no necesitan la generación) Capacidad para mostrar valores actuales y por omisión. Capacidad para mostrar partes no relevantes (en gris) Consumen espacio en pantalla. Costosos de internacionalizar. Son más efectivos cuando se utilizan con un dispositivo de apuntamiento. Construcción de Interfaces a Usuario - ©1999

74 Formularios Construcción de Interfaces a Usuario - ©1999

75 Manipulación directa Definición:
“Modelo visual del mundo” Objetos visuales directamente manipulables Los resultados de las acciones se reflejan inmediatamente en los objetos “Orientada a objetos”, desde el punto de vista del usuario Contrasta con “orientada a funciones” Generalmente consiste en: Selección de un objeto Aplicación de un comando Construcción de Interfaces a Usuario - ©1999

76 Manipulación directa Ventajas y desventajas: Iniciativa del usuario
Fácil de aprender, intuitiva Rápido de usar para objetos que están en la presentación Fácilmente potenciada con menúes y formularios Los errores pueden ser evitados Alta satisfacción subjetiva Puede ser inconveniente y lenta para objetos que no se encuentran visibles en la pantalla Poder limitado, no todas las acciones tienen una analogía en la manipulación directa Dificil proveer macros, u otras características extensibles o customizables por el usuario Difíciles de implementar Construcción de Interfaces a Usuario - ©1999

77 Manipulación directa Construcción de Interfaces a Usuario - ©1999

78 WYSIWYG ‘What you see is what you get’.
en realidad, es una variante de Manipulación Directa Ventajas y desventajas (similar a manip. directa) Siempre puede indicar como será el resultado final La imagen en la pantalla puede ser dificil de leer o interpretar especialmente en pantallas con resoluciones demasiado bajas No puede mostrar la estructura oculta como fue realizado un dibujo? Puede ser lenta en la ejecución ej. corte de páginas Dificil de implementar Construcción de Interfaces a Usuario - ©1999

79 WYSIWYG Construcción de Interfaces a Usuario - ©1999

80 Interfaces ‘Non-Command’ o ‘Next-Generation’ [Nielsen 93]
Interacción “natural” interfaz “invisible” generalmente implementadas por medio de: reconocimiento de gestos reconocimiento y síntesis de voz Algunas características dispositivos especiales manipulación de varios dispositivos en forma simultánea interacción “inteligente” interacción “por demostración” Aspectos: interpretaciones erróneas de las acciones del usuario feedback Construcción de Interfaces a Usuario - ©1999

81 Gestos Similar a la operación de un usuario operando naturalmente
ej. escritura sobre papel Ventajas y desventajas: Puede ser natural para aprender Puede ser más rapida de ejecutar que otras técnicas Muchos gestos son dificiles de hacer con un mouse Los usuarios deben memorizar gestos No ‘affordances’ Construcción de Interfaces a Usuario - ©1999

82 Lenguaje natural Subconjuntos de algun lenguaje convencional
Puede incluir el procesamiento de voz Ventajas y desventajas: Teóricamente, es el más facil de aprender La voz es la técnica de output más rápida Algo lenta para ingresar datos Requiere que el diálogo sea bien claro Los sistemas generales son imposibles con la tecnología actual Algunas investigaciones muestran que la entrada por voz puede ser más lenta y menos natural que el tipeo. Construcción de Interfaces a Usuario - ©1999

83 Bibliografía General Bass, Len. Coutaz, Joelle. Developing Software for the User Interface, Addison-Wesley, 1991 Shneiderman, Ben. Designing the User Interface: Strategies , Third Edition, 1998, Addison-Wesley Olsen, Dan. R. Jr. Developing User Interfaces, 1998, Morgan Kaufman Construcción de Interfaces a Usuario - ©1999

84 Bibliografía Otras referencias generales
Foley, J. Van Dam, A. Feiner, S. Hughes, J. Computer Graphics: Principles and Practice, Addison-Wesley, 1990 Lee, Geoff Object Oriented GUI Application Development, 1993, Prentice Hall Thimbleby, Harold. User Interface Design, ACM Press, 1990 Watson, Mark. Portable User Interface Programming in C++. Mc Graw Hill Nielsen, Jacob Usability Engineering, Academic Press, 1992. Preece, D. Human Computer Interaction, 1995. Construcción de Interfaces a Usuario - ©1999

85 Bibliografía Cursos en WWW: Artículos:
CPSC 481, Foundations and Principles of Human Computer Interaction, University of Calgary, Saul Greenberg, CS05-830, User Interface Software, Carnegie Mellon University, Brad Myers Artículos: Myers, Brad. ”Why are Human-Computer Interfaces Difficult to Design and Implement?” ACM Interactions. 1(1). 1/94. Myers, Brad. Rosson, Mary. "Survey on User Interface Programming”, SIGCHI'92, 5/92 Myers, Brad “User Interface Tools”, ACM TOIS, 3/95. Comm. ACM, Special Issue on Next Generation User Interfaces, 4/93 otros .... Construcción de Interfaces a Usuario - ©1999


Descargar ppt "Construcción de Interfaces a Usuario: Introducción"

Presentaciones similares


Anuncios Google