Contexto


Cualquier persona que haya comprado una casa sabe que el siguiente paso será lo que le dará un sentido de hogar, es decir, seleccionar los elementos de su interior. Para ello puede contratar los servicios de un diseñador de interiores.

Los diseñadores de interiores comienzan por conocer al cliente a través de preguntas que le darán la información sobre sus preferencias y necesidades. Posteriormente, se apoyan en programas de software para generar el ambiente adecuado a los espacios, la iluminación y la funcionalidad. Crean una o varias propuestas de diseño por medio de modelos en 3D que son mostrados al cliente, permitiéndole ver de manera virtual el diseño tan esperado.

El cliente puede decidir si los elementos utilizados le son agradables o son necesarios algunos cambios. También permite conocer el presupuesto necesario antes de realizar alguna compra, o bien saber si alguno de los muebles que ya tiene se vería bien.

El diseño de una interfaz de usuario, a través de prototipos, es similar al ejemplo anterior. Se genera un esbozo del diseño de la interfaz con detalles de los elementos que tendría el sistema y ejemplifican la secuencia de pasos del usuario para ejecutar alguna tarea. El usuario puede opinar sobre la idoneidad de la interfaz, o bien proponer cambios para garantizar la usabilidad.


  • ¿Cómo es realmente el proceso del diseño de una interfaz?
  • ¿Qué herramientas tiene el diseñador para generar la interfaz más adecuada?
  • ¿Cómo evaluar la interfaz de usuario?

Explicación


14.1 Análisis de la interfaz



El proceso del diseño de la interfaz inicia por el análisis. ¿Cómo se obtiene la información del perfil del cliente? ¿Qué herramientas puedes utilizar para conocer qué es lo que hace, cómo y dónde? ¿Cuál es la percepción del cliente sobre el sistema a desarrollarse? Son algunas de las preguntas que deben de preocupar a cualquier diseñador de software.

“Es probable que la frase « interfaz de usuario » sea toda la justificación que se necesita para dedicar algo de tiempo a entender al usuario antes de preocuparse por los aspectos técnicos” (Pressman, 2010).

Las actividades para realizar un análisis que servirán en el diseño de la interfaz suelen pasarse por alto, pretendiendo que el diseñador sabe por experiencia lo que el usuario necesita. Este error puede provocar la construcción de un diseño que no concuerda con las expectativas del cliente, no se consideran detalles sobre las tareas diarias del usuario o sus condiciones físicas. Al final es muy probable que se requieran cambios que generen retrasos o costos operativos.

Realizar un análisis de interfaz con la ayuda del usuario trae otro beneficio: el involucrar al usuario en el proceso de desarrollo. Esto hace que las personas se sientan parte del proyecto, utilicen la terminología del sistema, y permitan ser agentes de cambio en la transición de un sistema anterior a uno nuevo.

Selección del usuario: el primer paso del análisis es determinar a los usuarios más adecuados que ayudarán a obtener información en el diseño de la interfaz. Es importante seleccionar a usuarios con diferentes perfiles para tener una idea general y nutrida con diferentes puntos de vista. Si se selecciona a un solo grupo de usuarios expertos, podría generar una interfaz con poca usabilidad.

Técnicas para obtener información

Las técnicas para recopilar información no son diferentes a las utilizadas en el análisis de requerimientos. La diferencia radica principalmente en el enfoque que se le da al análisis del diseño. En este caso el objetivo principal debe centrarse en todos los detalles de la interacción del usuario con el sistema.

Haz clic en cada concepto para conocer más detalle.

Llevar a cabo una entrevista (estructurada o no estructurada) al grupo de usuarios o stakeholders del proyecto. Puedes determinar si realizarías entrevistas uno a uno o grupales, todo dependerá de la cantidad de usuarios y el tiempo que tengas para realizarlas.

Los manuales de usuario o documentación de otros desarrollos son una buena fuente de información, sobre todo cuando se desea mantener un mismo estilo de diseño de interfaz. Los casos de uso, generados en el análisis de requerimientos, deben ser utilizados para establecer la secuencia de tareas que deberán llevarse a cabo con la interfaz de usuario.

Pasarse por los lugares de trabajo del usuario es un requisito indispensable. Observar al usuario realizar sus tareas diarias puede dar ideas sobre cómo facilitarle sus tareas. Incluso si el nuevo sistema exige de un dispositivo diferente al existente que requerirá un espacio extra en la estación de trabajo.


Establecer metas de la experiencia del usuario

La experiencia del usuario (UX) es la sensación que se llevan las personas al utilizar un sistema. Una buena experiencia genera una actitud positiva del usuario y evita la frustración que provoca el uso de un sistema nuevo.

“Tus usuarios esperan más que una funcionalidad básica, esperan aplicaciones que sean agradables y cuidadosamente consideradas” (Lowermilk, 2013).

Para poder establecer metas adecuadas, Lowdermilk (2013) propone las siguientes preguntas:

  1. ¿Qué tan importante es el tiempo de carga? ¿Será que el usuario está dispuesto a esperar que las cosas se carguen si eso significa ofrecer una experiencia más rica?

  2. ¿Cómo van a interactuar los usuarios con la aplicación? ¿Van a utilizar dispositivos táctiles, voz, gestos, teclado y ratón, o una combinación de estas cosas? ¿Cómo afectará el tipo de entrada la forma en que se les presenta la información?

  3. ¿Debería ser una interfaz divertida? ¿Deseo que los usuarios se sorprendan o prefieren algo consistente?

  4. ¿Qué tono del lenguaje debería utilizar para comunicarme con el usuario? ¿Es informal, profesional, de apoyo o energético? ¿Es el lenguaje que he elegido coherente en toda la aplicación?

14.2 Diseño de la interfaz


Una vez terminado el análisis de la interfaz comienza el diseño. Pressman (2010) sugiere las siguientes etapas:

Haz clic en cada número para conocer más detalle.


Aspectos del diseño

Existen aspectos importantes a considerar en el diseño de una interfaz, que según Pressman (2010) suelen tomarse en cuenta cuando ya es muy tarde, lo que provoca retrabajos y le impone un costo adicional al proyecto. Estos aspectos son tiempo de respuesta, herramientas de ayuda, mensajes de errores, leyendas del menú y de los comandos, accesibilidad de la aplicación e internacionalización.

El tiempo de respuesta es el lapso que existe entre el momento que el usuario realiza una instrucción al sistema y éste ofrece una respuesta que puede ser un mensaje o una evidencia del resultado.

Las herramientas de ayuda sobre la interfaz permiten al usuario resolver dudas sobre el sistema sin la necesidad de salirse de ella. En el diseño es necesario determinar cuál será el mecanismo que el usuario utilizará para resolver dudas: buscador de términos, documentación en línea, tip tools.

Una interfaz sobrecargada de ayuda podría impactar en el desempeño de la aplicación, pero una aplicación que no contenga suficiente ayuda podría provocar que el usuario cometa errores.

La forma en la que un sistema maneja los errores es parte fundamental de su operación. Hasta el más experto usuario puede cometer errores. La interfaz debe enviar mensajes al usuario cuando existe una condición que provoque inconsistencias en la información, o bien que el sistema no pueda operar de forma adecuada. La redacción de estos mensajes debe permitir al usuario conocer qué sucede y cómo puede resolverlo, o bien información de la posible consecuencia de continuar. Cuidar el color de los mensajes, estilo del lenguaje e incluirle un sonido de alerta son elementos a considerar en un buen diseño de interfaz.

Al crear una interfaz de usuario debes considerar incluir comandos de acceso directo a opciones de menús, ya que son una opción para usuarios que deseen utilizar el teclado en lugar del mouse. Por ejemplo, se pueden crear combinaciones de teclas como Command+N para la opción del menú [Archivo]>[Nuevo documento]. Recuerda evitar hacer combinaciones de teclas que ya son utilizadas por el sistema operativo para otras funciones, como el copiar Command+C.

En el mismo diseño debes tomar en cuenta aspectos de accesibilidad, ya que tratar de incorporarlos más tarde puede complicar bastante el diseño; además, en muchos países la ley obliga a las empresas de software a incorporar mecanismos que ayuden a personas con alguna discapacidad física. Para ello puedes apoyarte de estándares como los propuestos por la W3C (http://www.w3.org/standards/).


En opinión de Pressman (2010), las interfaces de usuario se diseñan con demasiada frecuencia para una localidad e idioma, y después se adaptan a otros países. El reto para el diseñador será crear una interfaz globalizada que pueda personalizarse. Para ello puede hacer uso del estándar UNICODE que fue desarrollado para adaptarse a idiomas que utilizan caracteres diferentes.

14.3 Principios del diseño de interfaz

Pressman (2010) propone seguir las reglas de oro al diseñar la interfaz del software:

  1. Dejar el control al usuario.
  2. Reducir la carga de memoria del usuario.
  3. Hacer que la interfaz sea consistente.

Dejar el control al usuario

El principal problema que enfrentan los diseñadores de software durante el diseño de la interfaz es generar un producto que sea fácil de usar para el usuario sin pensar lo difícil que pueda ser construirlo. Por lo general, muchos diseñadores conocen lo fácil o difícil que puede ser cumplir con algún requerimiento del cliente y tratan de diseñar interfaces que no impliquen demasiado trabajo para construirlas, aunque eso signifique que el usuario tenga que intervenir con mayor frecuencia para lograr el resultado.

Una interfaz deja el control al usuario cuando es:

Haz clic en cada concepto para conocer más detalle.


Evitar que el usuario realice pasos que pueden realizarse de forma automática.

Realizar tareas a través de diferentes acciones, como menús contextuales, comandos cortos a través del teclado, instrucciones de voz.

Dejar que el usuario pueda deshacer una acción, o avisarle cuando una acción es irreversible.

Proporcionar mecanismos que el usuario pueda utilizar para adaptar características del software a sus necesidades. Por ejemplo: reubicar menús, agregar o quitar funciones, construir sus propios reportes.

El sistema debe evitar tecnicismos que pudieran dificultar al usuario comprender mensajes de error o avisos preventivos.


Reducir la carga de memoria del usuario

Cuando un sistema le exige al usuario retener información que necesitará para realizar alguna acción posterior, seguramente la olvidará y provocará que tenga que volver para apuntarla en su libreta, lo que impacta en la productividad y en la seguridad de la información.

“Entre más cosas tenga que recordar el usuario, más fácil será que comenta errores al interactuar con el sistema” (Pressman, 2010).

Una interfaz que reduce la carga de memoria del usuario cuando:

  • Propone mecanismos que evitan que el usuario tenga que memorizar códigos o información que no se encuentra en la pantalla.
  • Utiliza íconos y metáforas relacionadas con elementos de uso común: escritorio, carpeta, archivos, carrito de compras.
  • Define atajos de teclado de forma intuitiva. Por ejemplo, Word utiliza el menú de formato indicando la tecla que puede utilizar como atajo: Ctrl +N, Ctrl + K , Ctrl + S, para Negrilla, cursiva y subrayado, respectivamente.
  • Las funciones más comunes o prioritarias aparecen en el primer plano. Si el usuario desea mayores detalles, la interfaz las debe colocar en un nivel jerárquico más profundo.
Hacer consistente la interfaz

Pressman (2010) considera que una interfaz es consistente cuando:

  • Permite que el usuario coloque la tarea en curso en un contexto significativo. Esto permite que el usuario no se pierda en las acciones que está realizando. Por ejemplo, si el proceso de compra de un producto incluye tres pasos (datos del cliente, datos del producto y conformación del pago), es importante indicarle en qué paso del proceso se encuentra y qué más se necesita hacer.

  • Mantiene la consistencia en toda la familia de aplicaciones. Sobre todo cuando se está implementando un módulo extra a una aplicación existente. Mantener el mismo estilo (colores, distribución, íconos, menús) otorga fluidez a la aplicación y el usuario no se distraerá de la tarea.

  • No hacer cambios a modelos interactivos anteriores. Conforme el usuario se acostumbra a los mecanismos de interacción de una aplicación, es importante que el diseño no provoque cambios a menos que sea un requerimiento del usuario, o sea, absolutamente necesario. Por ejemplo, si la aplicación de un banco le permite al ejecutivo de la cuenta obtener el saldo de un cliente mediante Ctrl + B sobre el número de la cuenta, la nueva pantalla debe mantener ese mismo estándar de comandos al agregar el número de la cuenta.

Cierre


La interfaz es la forma en que el usuario hace tangible del sistema. Un buen diseño de interfaz sólo se obtiene a través de un proceso minucioso que empieza analizando a las personas que utilizarán el software, indagando las tareas que realizan y cómo esperan que el sistema les facilite su ejecución. Cuando el mismo usuario se involucra en el diseño, el resultado será una interfaz que cumpla con sus expectativas, que es justamente lo que evaluará del sistema una vez construido.

El reto del diseñador es ayudar al usuario a aclarar lo que desea y proponerle elementos de la interfaz que le faciliten sus tareas haciéndolo más productivo. La herramienta más adecuada en este proceso de diseño será un prototipo basado en los principios del diseño.

¿Cuántas veces debemos revisar el prototipo con el usuario? Las que sean necesarias, considerando que el grupo de usuarios sea el mismo y se documenten las decisiones que se toman en cada iteración. Si por el contrario, la revisión del prototipo se realiza cada vez con diferentes usuarios, o con personas que no representan al usuario final, podría ser un proceso interminable de cambios que retrasará el proyecto de desarrollo, algo que ni el equipo técnico de desarrollo desea, y mucho menos el cliente.

Checkpoint


Asegúrate de poder:

  • Seleccionar el grupo de usuarios que pueden ayudar a definir los elementos que deben incluir la interfaz del usuario.
  • Aplicar los principios del diseño en interfaces gráficas que faciliten las tareas del usuario y lo hagan ser más productivo.
  • Tomar en cuenta los aspectos del diseño de la interfaz para evitar tener que incluirlos cuando su construcción se encuentre muy avanzada.

Referencias


  • Lowdermilk, T. (2013). User Centered Design. USA: O'Reilly.
  • Pressman, R. (2010). Ingeniería de Software. Un enfoque práctico. (7ª ed.). México: McGraw Hill.

Glosario


Conocimiento sintáctico: se refiere a la mecánica de interacción que se requiere para usar con eficacia la interfaz.

Conocimiento semántico: entendimiento de las funciones que se realizan, el significado de la entrada y salida, y las metas y objetivos del sistema.

Entrevista estructurada: es aquella en que se sabe de antemano las preguntas que se le harán al usuario. Puede utilizar un cuestionario que será la base para obtener información.

Entrevista no estructurada: se realiza cuando se sabe de antemano que el entrevistado tiene suficiente información para ofrecer. Prácticamente comienza con una pregunta general y conforme se obtiene información se realizan otras preguntas dependiendo del detalle o profundidad a la que desea llegar el entrevistador.