La interface de usuario desempeña un papel importante cuando se usa una aplicación, sea ella una aplicación desktop, web o móvil. El libro AboutFace, escrito por Alan Cooper, un líder de pensamiento en diseño de interface de usuario, provee una orientación interesante y útil sobre la creación de una UI para una aplicación. Vamos a ver alguna de las ideas mas notables del libro.

Diseño para usuarios intermedios

Cooper argumenta que la gran mayoría de los usuarios de cualquier producto de software puede ser categorizado como usuarios intermedios -los usuarios que básicamente saben como utilizar el producto y generalmente lo usa para hacer la misma cosa todo el tiempo. Él estima que esos usuarios son cerca del 80% delos usuarios que utilizan el producto, con el 20% restante disribuido entre usuarios avanzados e iniciantes.

Entretanto, curiosamente él recuerda que a pesar que la mayoría es usuario del producto, sus necesidades son frecuentemente descuidadas en el diseño de la UI. Él afirma que la administración tiende mas para las necesidades de los novatos, ya que estos son los usuarios con los cuales ellos normalmente interactúan, y siendo que los desarrolladores son por deficición usuarios expertos del producto y tienden a pensar en usuarios finales como expertos también. Cooper considera que los intermedios tienden a perderse la mezcla, a pesar de ser la mayoría de los usuarios.

Él explica que las necesidades de los tres tipos de usuario son diferentes debido a su familiaridad con el producto. Los expertos quieren maneras rápidas para hacer las cosas y habilidad para parametrizar la aplicación, los principiantes están mas preocupados con el overview básico de la herramienta. Los intermedios tienden a hacer las mismas cosas son la herramienta y no quieren tener su proceso de trabajo obstruído.

Usar herramientas que ayuden a los principiantes tornarse intermedios

Como solamente el 10% de los usuarios de productos son principiantes, todos los usuarios del producto ya pasaron por el estado del usuario principiante. La atención especial, en tanto, se debe prestar al diseño de la interface ayudando a los nuevos usuarios a aprender lo básico de la aplicación.

Ahora migrar los principiantes a intermedios sea el objeto del diseño de UI, Cooper es rápido en notar que, una vez que el usuario salga de la fase inicial a la próxima, la UI que lo ayudó a alcanzar eso ya no será mas de mucha utilidad. La verdad, ella probablemente va a obstruír el workflow del usuario.

Hay innumerables productos intentando educar a los principiantes, y al mismo tiempo ellos son irritantes para los usuarios intermedios del producto. En VS2008 por ejemplo, nosotros agregamos comentarios en el código de test unitario generado a fin de ayudar a los usuarios principiantes a entender los varios componentes de un test unitario, Aunque sirviendo bien a su propósito, ellos obstaculizan cuando el usuario ya entiende los componenetes. Nosotros lo removimos en la versió VS2010.

Para ayudar a los usuarios principiantes a pasar a intermedios, él sugiere agregar algo a la UI que provea una visión general de como usar el producto. Él suguiere que sea posible remover esta información de la UI cuando el usuario quiera. Eso normalmente viene en la forma de un video de "Primeros pasos" que navega por las funcionalidades del producto.

Cooper cree que la ayuda onlien y los tooltips son mejores para los usuarios intermedios de lo que lo son para los usuarios principiantes, ya que sus necesidades son claramente diferentes. Él sugiere que los intermedios buscan por documentos de referencia educacional, mientras que los principiantes tienden a interesarse por información que resuma esos documentos.

Menos es mas.

Amo la cita "No importa cuanto de buena sea su inteface y, si ella fuese menos, sería mejor"

A veces en el diseño de UI, creo que nos olvidamos que los usuarios usan el producto como una herramienta para alcanzar un objetivo específico. Algunas veces nosotros vemos herramientas buenas de navegacióny de esta forma colocamos mucho de eso en la UI. Un martillo rojo que brilla en la oscuridad es inútil si él no puede pegar pedazos de madera.

Cooper cree en el diseño minimalista donde todas las opciones deben tener un propósito y ser directas. El lucha por pocas opciones que sean mas directas en una interface. Él declara que en una UI bien orquestada, la UI se torna casi transparente para el usuario ya que él naturalmente sigue su modelo mental.

Haga el Diseño para lo probable, permita lo posible

Cooper defiende el seguir el modelo mental del usuario cuando se diseña un producto y se optimiza el flujo de la aplicación. Eso significa frecuentemente que alguien debe eliminar mas opciones de una pantalla de forma que un programador se sienta mas confortable al hacerlo, eso no quiere decir que no debería haber modos de realizar tareas mas complejas y sofisticadas, solo que ellas tienen que ser de acceso mas dificil.

Si alguien intenta revisar los tipos de actividades que un usuario ejecuta en cualquier estado de un flujo de trabajo en la aplicación, Cooper siente que siempre habrá uno o dos items que son mas utilizados. Así, la interface debería ser optimizada para ayudar al usuario a encontrar esas actividades y guiarlos a través de este flujo en vez de solo listar todas las opciones todo el tiempo. Debería haber una forma para que el usuario acceda a las actividades menos utilizadas, mas la UI no debe ser optimizada para su uso.

Creo que ribbon de Office 2007 hace un buen trabajo para optimizar lo probable, y permitiendo lo posible. En ribbon, los items mas probables que el usuario quiera usar están a un click de distancia, los items que podría usar menos están a 2 clicks de distancia, y los items que son poco probables de ser utilizados están a 3 o mas clicks de distancia. Claramente optimizaron su UI para lo probable.

Elimine los diálogos de error y confirmación

Continuando con el tema de seguir el modelo mental del usuario y remover obstáculos que pueden obstruir el flujo de los usuarios intermedios. Cooper defiende el remover todos los diálogos de errores y confirmación de su producto. Cree que las aplicaciones deberían hacer aquello que, estadísticamente, tiene buena chance de ser lo correcto, y ofrecer a los usuarios la opción de deshacer sus acciones.

Cooper declara que los usuarios gustan de ver las opciones disponibles, ejecutar una acción y entonces recibir la confirmación de que la acción fue ejecutada correctamente. Sin confirmación de que la acción ocurrió se irán a preguntar si sus acciones ocurrieron realmente. En cambio de ofrecer notificaciones en pop-ups, para comunicar el resultado de las acciones, Cooper se inclina por mensajes inline y auditoría de feedback positivo.

Aunque concuerdo que el ideal sería librarse de los pop-ups de confirmación en todas las circunstancias, eliminarlos a todos es muy drástico. Para implementar lo que Cooper sugiere, los desarrolladores precisan hacer reversibles todas las acciones que el usuario ejecute, lo que puede ser muy caro y no tan necesario en algunos casos. Una opción podría ser eliminar los popups de confirmación y hacer las acciones reversibles, pero en caso de acciones drásticas, como formatear un disco o eliminar un archivo, exibir un mensaje de confirmación parece bueno, pues de hecho, los usuarios esperan eso.

Por otro lado, tiendo a estar de acuerdo en que los popups de error deben ser erradicados del producto. Aunque tengan sentido para el programador, creo que tienden a tener poco sentido para el usuario final. He visto muchos usuarios frustrados porque su flujo es interrumpido cuando este tipo de popups aparecen. Cooper nota que cuando ellos son usados para señalar que algo está mal como el código, el usuario tiende a interpretarlos como "Yo hice algo mal". Cuando los usuarios son acusados de errar repetidamente, ellos comienzan a odiar el producto. Podemos ver algunas UI de Mac recientemente donde podemos sorpredernos viendo como parece que ellos se constantemente omiten sus exceptions. Con seguridad, los problemas ocurren, ellos solo no se lo muestran al usuario.

Basado en O que o Alan Cooper faria?

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw