martes, agosto 18

Interfaz de Usuario

Definición.

La interfaz de usuario (IU) es uno de los componentes más importantes de cualquier sistema computacional, pues funciona como el vínculo entre el humano y la máquina. La interfaz de usuario es un conjunto de protocolos y técnicas para el intercambio de información entre una aplicación computacional y el usuario. La IU es responsable de solicitar comandos al usuario, y de desplegar los resultados de la aplicación de una manera comprensible. La IU no es responsable de los cálculos de la aplicación, ni del almacenamiento, recuperación y transmisión de la información.
El éxito de un programa frecuentemente se debe a qué tan rápido puede aprender el usuario a emplear el software, de igual importancia es el que el usuario alcance sus objetivos con el programa de la manera más sencilla posible.

Es importante señalar que dentro del proceso de creación de la IU existen cuatro diferentes tipos de personas involucradas. La primera persona, y probablemente la más importante, es el usuario final o simplemente usuario . El usuario es quien va a utilizar el programa final. La segunda persona es aquella que crea la interfaz de usuario. Esta persona es conocida como diseñador o arquitecto de la interfaz de usuario . Trabajando muy cercanamente con el diseñador estará el programador de la aplicación, este será el encargado de la escritura del software del resto de la aplicación. Muy frecuentemente el diseñador utilizará herramientas especiales para la creación del software de la IU, y estas herramientas son elaboradas por el creador de herramientas. (Definición tomada de http://www.fismat.umich.mx/~crivera/tesis/node11.html)

Dificultad de un diseño iterativo
El diseño iterativo es el método más empleado en el diseño de interfaces ([Myers and Rosson, 1992]). Los dos modelos iterativos más usados son el modelo de cascada (waterfall model), y el modelo de fabricación rápida de prototipos (rapid prototyping model) ([Schach, 1990]).
Básicamente ambos modelos dependen de la realización de un prototipo, el cual es diseñado repetidamente y probado con un grupo de usuarios hasta que el modelo cumpla con las expectativas finales. Este modelo de desarrollo presenta múltiples desventajas, entre ellas altos costos de producción de prototipos y la dificultad de conseguir usuarios reales con los cuales probar la interfaz.

Myers and Rosson, 1992
Myers, B. A. and Rosson, M. B. (1992).
Survey on user interface programming.
In Human factors in computing systems. SIGCHI - ACM.
Schach, 1990
Schach, S. (1990).
Software engineering.
Aksen Asosociates, Boston.
(Tomado de http://www.fismat.umich.mx/~crivera/tesis/node13.html)


Desconocimiento del usuario
Es dificil saber el grado de conocimientos de cómputo del usuario final, lo cual, frecuentemente, hace que las interfaces de usuario desarrolladas no sean las apropiadas. Se da el caso de que el diseñador implemente la IUs pensando en que la van a usar programadores avanzados, como el propio diseñador, por lo que cuando el producto final es usado por el usuario es posible que se presenten una gran cantidad de problemas de usabilidad.

Deben manejar múltiples eventos.
El software de la interfaz generalmente debe de estar organizado para manejar múltiples eventos, los cuales se suelen presentar de manera concurrente. Los usuarios desean tener la posibilidad de abortar acciones, y también de deshacerlas. Así mismo, debe ser posible realizar todas estas acciones por medio de distintos métodos de entrada (con el teclado o el mouse, p. ej.).
El programa en que se haya implementado la IU debe de estar estructurado de tal manera que pueda aceptar los eventos de entrada en cualquier momento, aun y cuando esté ejecutando otros comandos. Consecuentemente, cualquier operación que tome mucho tiempo, como la impresión, búsqueda, e incluso el repintado de la pantalla, deben de ser ejecutados en un proceso separado. Una motivación extra para el empleo de procesos múltiples es el hecho de que el usuario pueda estar trabajando con distintas ventanas pertenecientes a una misma aplicación. Cada una de esas ventanas necesitará recordar y manejar todos los eventos producidos por el usuario, o por la misma aplicación.

Existen requerimientos de tiempo real para la de los eventos de entrada.
La creación de IUs tiene la dificultades de la programación en tiempo real. La mayoría de las interfaces gráficas y con manipulación directa tendrán objetos que sean animados o que sea posible moverlos con el mouse. Para que esto sea atractivo para el usuario, los objetos deben de ser redibujados entre 30 y 60 veces por segundo, sin pausas notables.
La próxima generación de interfaces de usuario incluiría nuevas tecnologías como video, reconocimiento de voz, animación de simulaciones, y otros tipos de multimedia que contarán con las restricciones de la programación de tiempo real.

Deben de ser programadas de ``adentro hacia afuera''.
Las IU modernas son escritas de adentro hacia afuera. En vez de organizar el código para que la aplicación tenga el control, la aplicación debe más bien estar dividida en muchas subrutinas que son llamadas cuando el usuario realiza alguna acción. Se requiere de una programación con un cuidado extremo en la organización y modularización del software de la IU.

El software debe ser especialmente robusto.
Por supuesto que todo el software debe de ser robusto, pero en el caso de la IU este tema es de capital importancia ya que se deberán manejar una gran cantidad de eventos de entrada-salida, ocurriendo de manera concurrente. A diferencia de los programas no interactivos, sin incluir al software para IU, en donde al ocurrir un error se requiere el uso de un debugger para identificar el error y corregirlo, en el caso del software de interfaz de usuario si un error ocurriese se deberá presentar un mensaje de error, explicando que fue lo que sucedió y dar la oportunidad hacer las correciones pertinentes.

Dificultad para modularizar el programa.
El escribir un programa de manera modular facilita el mantenimiento del mismo. La bibliografía especializada recomienda que la porción correspondiente a la IU esté separada del resto del software, para facilitar que esta sea fácilmente alterada (para el diseño iterativo). Desafortunadamente, la separación de estas dos partes es muy dificil, prácticamente imposible, ya que los cambios en la IU requieren inevitablemente cambios en el resto del software. Incluso con la utilización de herramientas para la creación de interfaces de usuario gráficas (Graphical User Interfaces - GUI) el problema de modularidad se hace más dificil por la gran cantidad de funciones call-back. Generalmente, cada widget2.2 en la pantalla requiere que el programador escriba al menos un procedimiento de aplicación a ser llamado cuando el operador lo activa. Cada tipo de widget tendrá su propia secuencia de funciones call-back. Una puede contener miles de widgets, por lo que habrán al menos la misma cantidad de funciones call-back.

Funciones principales
Sus principales funciones son los siguientes:
* Puesta en marcha y apagado
* Control de las funciones manipulables del equipo
* Manipulación de archivos y directorios
* Herramientas de desarrollo de aplicaciones
* Comunicación con otros sistemas
* Información de estado
* Configuración de la propia interfaz y entorno
* Intercambio de datos entre aplicaciones
* Control de acceso
* Sistema de ayuda interactivo.

Tipos de interfaces de usuario
Según la forma de interactuar del usuario
Atendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de Usuario:
* Interfaces alfanuméricas (intérpretes de mandatos) que solo presentan texto.
* Interfaces gráficas de usuario (GUI, Graphics User Interfaces), las que permiten comunicarse con el ordenador de una forma muy rápida e intuitiva representando gráficamente los elementos de control y medida.
* Interfaces táctiles, que representan gráficamente un "panel de control" en una pantalla sensible que permite interaccionar con el dedo de forma similar a si se accionara un control físico.

Según su construcción
Pueden ser de hardware o de software:
* Interfaces hardware.- Se trata de un conjunto de controles o dispositivos que permiten la interacción hombre-máquina, de modo que permiten introducir o leer datos del equipo, mediante pulsadores, reguladores e instrumentos.
* Interfaces software.- Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.

Interfaz gráfica de usuario
En el contexto del proceso de interacción persona - ordenador, la interfaz gráfica de usuario es el artefacto tecnológico de un sistema interactivo que posibilita, a través del uso y la representación del lenguaje visual, una interacción amigable con un sistema informático.
La interfaz gráfica de usuario (en Idioma inglés Graphical User Interface, GUI) es un tipo de interfaz de usuario que utiliza un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Habitualmente las acciones se realizan mediante manipulación directa para facilitar la interacción del usuario con la computadora.
Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplo de interfaz gráfica de usuario podemos citar el escritorio o 'desktop' del sistema operativo Windows y el entorno X-Window de Linux y también Aqua de Mac OS X.

(Textos de http://www.fismat.umich.mx/~crivera/tesis/node10.html)

No hay comentarios.:

Publicar un comentario

Por favor moderación. Este es un sitio académico. Todos los contenidos tienen derechos de autor.

Twitter