Diseño de interfaces de usuario

José Luis Ávila 27 Enero 2017
12min
0
Interfaz de usuario

El diseño de la interfaz de usuario es la fase del diseño que trata de crear un medio de comunicación entre el hombre y la máquina. Su correcto desarrollo es de vital importancia para la aceptación del sistema final por las personas que lo van a utilizar, ya que cualquier sistema informático, independientemente de su potencia o funcionalidad, si no está acompañado por una buena interfaz no será del agrado de los usuarios. Nunca hay que olvidar cuando se diseña que la interfaz de usuario es la percepción que tiene estos del sistema software.

 

A la hora de diseñar una buena interfaz conviene hay que seguir una serie de criterios (las tres “reglas de oro” de Mantel):

 

  1. Dar el control al usuario: En muchas ocasiones el diseñador introduce restricciones un la interfaz para simplificar su construcción que pueden dar lugar  a sistemas frustrantes de utilizar. Dar el control al usuario puede detallarse en:

 

    • Definir los modos de interacción de manera que no obligue al usuario a realizar acciones innecesarias y no deseadas. Por ejemplo forzar a que el usuario siempre corrija la ortografía de un mensaje de correo que se va a enviar.

 

    • Tener en consideración una interacción flexible, por ejemplo una aplicación debe poder manejarse solamente con el teclado, solamente con el ratón o bien con una combinación de ambos.

 

    • Permitir que la interacción que está realizando el usuario en un momento determinado pueda interrumpirse y deshacerse.

 

    • Aligerar  la interacción a medida que avanza el nivel de conocimientos del usuario, utilizando por ejemplo atajos de teclado.

 

    • Ocultar al usuario los entresijos técnicos de la aplicación.

 

    • Permitir interaccionar directamente con todos los objetos que aparezcan en la pantalla (si hay un botón, que se pueda pulsar).

 

  1. Reducir la carga de memoria del usuario: Cuantas más cosas tenga que recordar el usuario, más propenso a errores será su interacción con el sistema. Puede desarrollarse en:

 

    • Reducir la carga de memoria a corto plazo, evitando que el usuario tenga que recordar datos entre una interacción y otra.

 

    • Establecer valores por defecto útiles.

 

    • Definir las deficiencias para que sean intuitivas: Cuando sea necesario implementar una acción basada en un mnemónico, conviene hacerlo de la manera más intuitiva posible. Aunque parezca una contradicción, con un ejemplo se visualiza mejor esta regla: Utilizar CTRL-C para copiar es una acción nada intuitiva que se basa en un mnemónico, sin embargo es mucho mas intuitiva (Control-Copiar) que por ejemplo CTRL-V para pegar.

 

    • El formato visual de la interfaz debe basarse en una metáfora del mundo real.

 

    • La información debe de desglosarse de manera progresiva.

 

  1. Construcción de una interfaz consistente: la información deberá ser presentada y adquirida por la interfaz de forma consistente, esto es:

 

    • La información estará organizada en base a un criterio estándar en toda la aplicación.

 

    • Los mecanismos de entrada se limitarán a un conjunto definido y se utilizarán coherentemente a lo largo de toda la aplicación.

 

    • Los mecanismos para ir pasando de tarea en tarea estará definidos e implementados correctamente.

 

  1. MODELOS DE DESCRIPCIÓN DE LA INTERFAZ

 

A la hora de construir la interfaz de usuario entran en juego cuatro modelos diferentes:

 

  • Modelo de diseño: Modelo del sistema completo que crea el ingeniero del software, que incluye diseño arquitectónico, de dotas, de procedimientos y de interfaces. En este modelo se determinan las entradas y salidas que debe recibir o enviar el sistema a sus usuarios

 

  • Modelo de usuario: representa el perfil de los usuarios del sistema que tienen los analistas e ingenieros del software. Para construir una interfaz eficaz, es necesario comenzar por conocer la mayor cantidad posible de características de los usuarios finales. Los usuarios pueden además catalogarse en varias categorías, y es conveniente que la interfaz de usuario se adapte a todas las categorías aunque dependiendo del estudio del perfil se podrá incidir más en una u otra:

 

  • Principiantes: No tienen conocimientos ni a nivel sintáctico ni a nivel semántico de la utilización de la aplicación, es decir, no saben ni como se hacen las acciones ni porqué se hacen las acciones.

 

  • usuarios esporádicos y con conocimientos: Poseen un razonable conocimiento semánticos ( es decir, saben en principio que acciones debe permitir el sistema) pero pocos conocimientos sintácticos ( no saben como se hacen las cosas), además de una baja retención de la información necesaria para manejar la interfaz.

 

  • Usuarios frecuentes y con conocimientos: Poseen conocimientos elevados tanto a nivel semántico como sintáctico y es posible que busquen como sacar el máximo partido a la interfaz, utilizando por ejemplo modos abreviados de interacción.

 

  • Percepción del usuario (en alguna bibliografía también se denomina “modelo de usuario”, pero el concepto es completamente diferente al anterior): Consiste en la imagen mental que se crea el usuario de cómo es y como funciona el sistema a través de lo que le transmite la interfaz. Esta percepción también está muy influida por el tipo de usuario que se trate.

 

  • Imagen del sistema: Es el modelo del sistema que el diseñador de la interfaz quiere transmitir al usuario a través de ésta y de la información sumninistrada junto con el sistema (ayuda, manuales de usuario,…).

 

Un buen diseño de la interfaz es aquel en el que le Imagen del sistema y la percepción del usuario coinciden adecuadamente, lo que hace que los usuarios se sientan a gusto con el software y con su funcionamiento.

 

 Para conseguir esto, el diseñador de la interfaz debe de unir la información procedente del modelo de diseño con el modelo de los usuarios para crear una imagen del sistema que refleje de manera veraz y entendible para el perfil del usuario definido la información tanto a nivel sintáctico como semántico.

 

Los modelos de diseño de la interfaz anteriormente descritos son “abstracciones de lo que el usuario está haciendo o de lo que cualquier otra persona (ingenieros, analistas, diseñadores,…) piensa que debería estar haciendo cunado usa un sistema interactivo”(MON84). Plantearse dichos modelos básicamente ayuda a la tarea básica y esencial del diseño de la interfaz, conocer al usuario.

 

  1. PROCESO DE DISEÑO DE LA INTERFAZ

 

El objetivo del proceso de diseño de la interfaz es definir un conjunto de objetos y acciones sobre estos objetos que posibiliten al usuario llevar a cabo todas las tareas que se consideren necesarias para que el sistema cumpla con los objetivos de usabilidad obtenidos en el análisis de requisitos.

 

El  proceso a seguir, brevemente enunciado, comienza por la identificación de los requisitos desde el punto de vista del usuario, que sirven para crear e identificar los escenarios de usuario que posteriormente se utilizan como base para definir el conjunto de objetos y de acciones de la interfaz.

 

A partir de este conjunto de objetos se creará el formato de la pantalla y se especificarán los elementos principales de éste. Por último se generará un prototipo que será validado por los usuarios finales.

 

El proceso anteriormente descrito puede iterarse tantas veces como sea necesario hasta diseñar una interfaz que cumpla con las características que se han comentado anteriormente. El proceso de diseño, desglosado tiene cuatro partes:

 

  • Análisis y modelado de las tareas: Un sistema interactivo basado en computadora se utiliza para reemplazar una actividad manual o semi-manual. Es necesario entender las tareas que se realizan de manera manual como primer paso, para posteriormente hacerlas corresponder con un conjunto de tareas similares que se implementan en la interfaz de usuario. Este primer paso de diseño busca estas tareas, o escenarios de usuario, que se utilizaran como punto de partida para el siguiente paso de diseño.

 

  • Identificación de los objetos y acciones a realizar: En esta fase se analizan los escenarios de usuario anteriormente identificados buscando objetos que el usuario va a utilizar, así como las acciones que se puedan realizar sobre estos objetos para llevar a cabo la tarea.

 

  • Formato de pantalla: A cada objeto identificado se le dota de un diseño gráfico (un icono, un botón, un menú…) asociando las acciones a eventos que el usuario produzca sobre este objeto. Los objetos se distribuyen por la pantalla siguiendo una lógica (como un estándar o bien de manera coherente con el resto del sistema). En esta fase además de define el texto explicativo que aparecerá en la interfaz, el tamaño, ubicación y título de las ventanas, texto descriptivo de los menús y en general todos los elementos visuales y sus características que aparezcan en la interfaz.

 

  • Implementación de un prototipo: Una vez realizado un modelo del diseño de la interfaz este debe ser implementado como prototipo y evaluado por los usuarios que validarán el diseño o sugerirán mejoras y críticas que sirvan para refinar este.

 

  1. Herramientas para la construcción de interfaces

 

A la hora de construir una interfaz de usuario, o un prototipo de ésta suelen utilizarse lenguajes de muy alto nivel (4ª Generación ) que permiten definir fácilmente la interfaz de usuario.

 

Estos lenguajes y las herramientas que los soportan permiten crear la interfaz sin necesidad de escribir código, sino simplemente arrastrando, soltando y distribuyendo por la pantalla los elementos del modo que se desee. Un ejemplo de este tipo de lenguajes es Visual Basic.

 

Para la construcción de prototipos también pueden utilizarse componentes reusables de software, como por ejemplo los javaBeans, que hacen que la interfaz pueda construirse a base de encapsular componentes ya desarrollados uniéndolos o bien de manera gráfica con una herramienta adecuada (en caso de javaBeans se pueden citar VisualAge o JBuilder) o bien escribiendo código pero reutilizando la mayoría de estructuras lo que permite una construcción muy rápida.

 

  1. Problemas de diseño

A medida que la interfaz de usuario se va desarrollando suelen surgir casi siempre cuatro tipos de problemas comunes a casi todos los diseños de interfaces, el tiempo de respuesta, los servicios de ayuda, la información de error y el etiquetado de órdenes:

  • Tiempo de respuesta: está caracterizado por dos valores, su duración y su variabilidad, la primera asociada con la media de los tiempos de respuesta y la segunda con su varianza. Si la duración es muy larga, el usuario puede frustrarse y si es demasiado corta puede ocasionar que el usuario se precipite y cometa errores. La variabilidad se refiere a la desviación del tiempo de espera promedio, una variabilidad baja permite al usuario mantener un ritmo de trabajo constante. Es conveniente incluso aumentar la duración del tiempo de respuesta si se consigue con eso disminuir su variabilidad.
  • Servicios de ayuda al usuario: Los tipos de ayuda más frecuentes son ayudas integradas y ayudas complementarios. Las primeras se añaden al software desde el principio de su construcción y son sensibles al contexto en el que se encuentra el usuario, lo que le permite buscar rápidamente ayuda sobre las acciones que está llevando a cabo en est e momento.  Una función de ayuda complementaria se añade a la interfaz tras su construcción y se parece más a un manual de usuario en línea y es posible que el usuario tenga que buscar entre largos índices antes de encontrar lo que busca. Siempre es preferible el primer tipo de ayuda al segundo.
  • Información de errores: Los mensajes de error deben cumplir tres características:
    • Describir el error ocurrido de manera que el usuario lo entienda.
    • Proporcionar conejos útiles para recuperarse del error
    • Indicar las consecuencias o las posibles consecuencias del error.
  • Etiquetado de órdenes. En caso de que se proporcione la posibilidad de interaccionar con teclado y ratón, hay que plantearse la forma de las órdenes de teclado( teclas de función, combinación de teclas, comandos,…), que haya órdenes para todos los elementos de los menús y la posibilidad de que el sistema recuerde las últimas órdenes enviadas.