Charla sobre diseño de interacción




Ayer, Diego Gonzalez de Lagash Systems y el MUG, ofrecieron un impecable seminario sobre un tema no muy difundido por estos pagos, el diseño de interfaces de usuario usables.

Los programadores debemos admitir que tenemos algunas falencias a la hora de diseñar una interfaz de usuario bella, querible, usable, o por lo menos, poco odiable. Lo nuestro es mas bien la a reusabilidad, modelos, componentes, poco acoplamiento, patrones; conceptos que no tienen nada que ver con la belleza o la estética, o por lo menos no al nivel que un usuario espera ver en su pantalla. Por otro lado, las interfaces perpetradas por diseñadores gráficos, son visualmente impactantes, utilizan metáforas fotorrealistas, con animaciones y fuegos artificiales. Pero para el devenir diario de una aplicación son poco usables, ya que todos estos bonitos chirimbolos consumen un tiempo precioso en la operación del usuario, y no le agregan nada a su objetivo (que es usar la aplicación para un determinado fin, no ver lo lindo que es su diseño). Entonces ¿Qué se espera de un buen diseño de interacción?

En esta charla Diego nos ofreció algunas puntas para ir pensando en esto. Habló de la ley de Fits, que sirve para predecir cuánto tardará un usuario en lograr un objetivo en función de la distancia que tiene que recorrer con el mouse y el tamaño del objeto a apuntar. Esta ley explica, por ejemplo, porqué es más mucho fácil darle al menú de Macintosh que al de Windows. Porque el menú de la manzanita es "infinito" hacia arriba; por lo tanto no tenemos que preocuparnos por la dimensión vertical, es decir que vamos hacia arriba hasta que nos chocamos con el extremo de la pantalla y luego apuntamos sobre el eje X a nuestro objetivo.

Otra ley interesante de la que se habló es la de Hick-Hyman, que trata sobre el tiempo que una persona tarda en elegir entre una cantidad de opciones. Cómo esta variable se incrementa en un orden logarítmico -es decir que se incrementa en 1 cada vez que se duplican la cantidad de opciones- la conclusión sería que es más fácil seleccionar entre 30 opciones que agrupar estas 20 en tres grupos de 10, ya que esta última opción costaría dos elecciones, que lleva más tiempo que optar entre muchos elementos.

Todos estos datos sirven para evaluar la usabilidad de una interfaz de usuario con la exactitud que nos da el cronómetro, cosa que en general no sucede y la discusión sobre una interfaz termina girando en torno de si me gusta o no me gusta.

Algunos tips para aplicar al momento de bocetar un diseño de interacción:

1) Pensar en los tiempos. Todas las acciones de un usuario sobre la interfaz lleva un tiempo, darle a una tecla, apuntar y hacer clic con un mouse, pasar de manejar mouse a teclado o viceversa. Tratar de minimizar la cantidad de entradas de un usuario sobre la interfaz para alcanzar un objetivo, esto es, pensar en la mínima cantidad de información que la aplicación necesita a cada paso para hacer cada cosa, y pedir solo eso. En este plan, también conviene simplificar la interfaz al máximo y diseñarla de manera que las cosas que el usuario más usa queden más cerca, como marcando un caminito.

2) Aplicar metáforas. Si se puede, trabajar con metáforas del mundo real que al usuario le permitan ubicarse en el contexto de la aplicación rápidamente. Por ejemplo, arrastrar y soltar es una metáfora mucho más poderosa que Ctrl+C y Ctrl+V. También se pueden utilizar metáforas visuales, por ejemplo, íconos que den la idea de lo que sucederá cuando se haga clic sobre él.

3) Diseñar la aplicación de manera que sea lo menos intrusiva posible. Esto significa que el usuario pueda trabajar concentrado en su objetivo, recibiendo la menor cantidad posible de interrupciones de parte de la aplicación (o de parte nuestra). Por ejemplo, un cuadro de alerta que nos avisa que el archivo se grabó correctamente está de más, se supone que es lo que debe pasar y nadie espera lo contrario. A esto se le llama comportamiento no modal, porque la aplicación no impone el orden en que el usuario debe usarla, sino que deja a este que maneje el flujo de trabajo.

Por último, quisiera dejarles algunos links y recursos interesantes para los que quieran profundizar en este campo, que a decir verdad, ha sido poco explorado por nosotros, los desarrolladores:
  • El inventor de las metáforas aplicadas al diseño de objetos es Donald Norman, que las expone magistralmente en "La psicología de los objetos cotidianos". Verdaderamente este libro es un must read para todos los diseñadores de interacción y también para los iniciados en la disciplina del diseño industrial.
  • Por supuesto, el sitio del inefable Jacob Nielsen, UseIt.
  • Otro recurso interesante para mí es un librito muy entretenido del genial Joel Spolsky, llamado "Diseño de interfaz de usuario para programadores". Hay una versión reducida online en su sitio, y traducida al castellano aquí.
  • Otro libro, "Presos de la tecnología" (una desafortunada traducción de "The Inmates are running the assylum") del creador del Visual Basic, don Alan Cooper, plantea los problemas graves que puede traer un diseño de interacción poco usable. 
  • Y por último, el libro fundacional de la disciplina: "Diseño de Sistemas Interactivos", de Jef Raskin, el padre de la interfaz gráfica de Macintosh. Un poco denso quizás, pero ahí está la ciencia...
Los saludo y espero que les haya resultado tan interesante como a mí.

Comentarios