2.5.3. Interacción persona-ordenador (HCI- Human Computer Interaction)

Mientras que en la comunidad de la orientación a objetos los patrones de diseño son escritos por y para ingenieros del software o personas con habilidades y conocimientos similares que los utilizan como mecanismo de reutilización del software, en el caso de la comunidad de la interacción persona-ordenador se vuelve a la idea original de Alexander, que postulaba los patrones como herramienta de comunicación entre profesionales (arquitectos) y usuarios del sistema (habitantes). Concretamente, esta comunidad aboga por una lingua franca, no sólo formada por un vocabulario sino por un marco conceptual que permita la comunicación entre todos los miembros que tienen que cooperar en el diseño de los sistemas interactivos, es decir, diseñadores, usuarios y otros agentes involucrados (stakeholders) a través de un lenguaje de patrones (Erickson, 2000; Borchers, 2000).

Estos patrones están orientados a solventar los problemas que los usuarios finales encuentran cuando interactúan con sistemas, siendo la usabilidad la cualidad esencial que se pretende primar en el diseño. Las colecciones de patrones de interacción se encuentran disponibles en libros (Borchers, 2001) o en web (Tidwell, 2008) con un total de más de 250 patrones publicados. A modo de ejemplo, mostramos a continuación el patrón Progress Indicator (Tidwell, 2008).

Figura 2.5.3.a. Solución del patrón Progress Indicator aplicado a la descarga de un fichero (Tidwell, 2008).

Captura del progreso de descarga de una aplicación. Se observa el porcentaje del programa, el archivo descargado y un botón para cancelar.

Qué:
            Mostrar al usuario cuánto se ha realizado en una operación que consume tiempo.

Cuándo usar:
            Una operación que consume tiempo interrumpe la interfaz de usuario, o se ejecuta en segundo plano, más allá de dos segundos.

Por qué:
            Los usuarios se ponen impacientes cuando no perciben cambios en la interfaz de usuario. Incluso si estás cambiando el puntero del ratón a un reloj (que deberías hacerlo si el resto de la interfaz está bloqueado), no quieres que el usuario espere una cantidad de tiempo indeterminada.

Los experimentos han mostrado que si los usuarios ven una indicación de que algo está pasando, son mucho más pacientes, incluso si tienen que esperar más tiempo que sin un indicador de progreso. Quizás es porque saben que “el sistema está pensando”, y no sólo colgado o esperando a que ellos hagan algo.

Cómo:
            Muestra un indicador con animación que indique cuánto se ha realizado hasta el momento. Tanto verbal como gráficamente (o ambos), muéstrale al usuario:

    * Qué está sucediendo
    * Qué proporción de la operación se ha completado
    * Cuánto tiempo queda
    * Cómo parar la operación

La mayoría de los lenguajes para interfaces gráficos de usuarios incluyen algún elemento para implementar la caja de diálogo, pero el indicador de progreso tiene que ser actualizado de manera consistente, mientras la operación sigue avanzando. Si puedes, mantén el resto de la interfaz de usuario activa. No bloquees la interfaz mientras el indicador de progreso está visible.

Si es posible cancelar la operación cuyo progreso se está monitorizando, ofrece un botón de cancelar o similar cerca del indicador de progreso. Mira el patrón Cancelability para más información.

El éxito del diseño de un sistema interactivo requiere la participación de personas procedentes de diferentes disciplinas, como la ingeniería del software, el diseño de interfaces de usuario, el dominio de la aplicación en el cual el sistema será usado, el marketing, la escritura técnica, el diseño gráfico, etc. Teniendo en cuenta este problema, se ha explorado el uso de los patrones como un medio de comunicación. Erickson (2000) especula con la posibilidad de una lingua franca para todas las personas involucradas en el diseño de un sistema interactivo, incluido los usuarios del sistema final. Borchers (2001) discute el uso de lenguajes de patrones como medio para mejorar la comunicación entre expertos de diferentes dominios. Teniendo en cuenta estas hipótesis, Dearden et al. (2002) estudian si los lenguajes de patrones pueden mejorar la participación del usuario en el diseño. En dicho estudio se adoptó el mismo proceso participativo que siguió Alexander (1985) en The production of houses, recibiendo una respuesta positiva por parte de los usuarios sobre la ayuda que supuso el lenguaje durante la realización de un prototipo, aunque también hubo críticas sobre el formato utilizado para describir los patrones.

Además, los patrones han sido utilizados para enseñar los conceptos básicos de la interacción persona-ordenador a estudiantes de diferentes cursos. En los trabajos de Borchers (2002) y Seffah (2003), los alumnos concluyeron que los patrones habían resultado útiles tanto para retener los principios de diseño, adoptando rápidamente el vocabulario de los patrones, como para formular sus propias experiencias de diseño.


retroceder avanzar