7 Principios del diseño de aplicaciones

Hoy día disponemos de herramientas muy potentes para el diseño de aplicaciones. Ya sea en entornos web o de escritorio, somos capaces de crear aplicaciones complejas, rápidas, altamente interactivas. JavaScript, AJAX, Flash, Flex y muchas otras herramientas proporcionan a los desarrolladores un asombroso poder para el diseño de aplicaciones que

Artículos recientes

Hoy día disponemos de herramientas muy potentes para el diseño de aplicaciones. Ya sea en entornos web o de escritorio, somos capaces de crear aplicaciones complejas, rápidas, altamente interactivas. JavaScript, AJAX, Flash, Flex y muchas otras herramientas proporcionan a los desarrolladores un asombroso poder para el diseño de aplicaciones que eran casi inimaginables hace tan sólo unos años.

Sin embargo, el poder proporcionar todas estas herramientas a los usuarios no significa que éstos puedan alcanzar sus objetivos. De hecho, es bastante común distraerse en la tecnología y olvidar las bases del diseño de interacción, dejando al usuario frente a una aplicación muy lograda pero que no responde a sus necesidades.

Es importante que tengamos bien presentes ciertos principios básicos a la hora de diseñar aplicaciones web:

1. Diseñar para los detalles

Casi todas las aplicaciones requieren que el usuario haga elecciones. Los diseñadores debemos asegurarnos de que el usuario encuentre la información que necesita para evaluar las diferencias entre cada opción y poder hacer así la elección correcta. Los errores básicos más comunes son:

  1. Saturar de información al usuario.
  2. Abusar de tecnicismos que el usuario no entiende.
  3. Dar prioridad a la forma sobre el contenido, y sacrificar parte de la información o la accesibilidad de ésta empleando de forma errónea tecnologías vistosas como Ajax y Flash.

Un buen diseñador de aplicaciones debe centrarse en los detalles de la información, más que en los métodos de presentarla. Se debe preguntar constantemente ¿Estamos dándole al usuario información suficiente para que cumpla su objetivo?

2. Diseñar para el reconocimiento y un feedback apropiado

No hay duda de que ciertas técnicas interactivas como drag-and-drop o la selección múltiple mejoran la experiencia del usuario. Sin embargo, a menudo no se acompañan de pistas visuales que ayuden al usuario a reconocerlas, y a menos que sean usuarios avanzados que ya las conocen, es poco probable que lo descubran por sí mismos. Debemos indicárselo.

Por otro lado, también es importante mostrar al usuario el efecto de sus acciones. Si manipula un drag-and-drop y los cambios son tan sutiles que parece no haber ocurrido nada, el usuario buscará un botón de "refrescar" que no existe y se frustará.

3. Diseñar para las experiencias previas del usuario

No se trata de replicar las experiencias del usuario en el mundo real (por ejemplo, haciendo que al pasar las páginas de un documento las hojas se curven), sino de pensar en las aplicaciones que nuestros usuarios ya están acostumbrados a usar. Si sabemos que tiene experiencia en Microsoft Excel, a la hora de mostrar datos en tablas, lo más eficaz es imitar la forma en que se presentan en ese programa.

Incluso si se trata de una aplicación que forma parte de una suite, siempre es más importante aprovechar esta experiencia previa de los usuarios que la semejanza entre las aplicaciones que forman la suite. Por ejemplo, si estás diseñando una aplicación para contables, es mejor que se parezca al Excel que a otra aplicación de la misma suite dirigida, por ejemplo, a diseñadores gráficos.

4. Diseñar para la Flexibilidad

Las cosas no siempre funcionan tal y como las habías planeado. Esperamos que nuestros usuarios obtengan buenos resultados a la primera, pero no siempre funciona de ese modo, simplemente porque en ciertas ocasiones no obtienen lo que esperaban. (...)

Los diseños deben ser flexibles. Los usuarios quieren una vía por la que experimentar. (...) Hemos descubierto que los usuarios raramente presionan el botón "Anterior" [del Historial de Navegación] a menos que tengan una razón para regresar a un punto anterior. Los diseñadores pueden eliminar ese deseo de dar marcha atrás proporcionando a los usuarios mecanismos de control en la pantalla actual. Como mínimo, una función de "Deshacer" que permita a la aplicación volver al punto inicial por sí misma sin los feos mensajes de error del navegador. (...)

Diseñar para la flexibilidad significa proporcionar a los usuarios un modo fácil de revertir lo que han hecho, tanto si implica cambiar los parámetros de búsqueda de un producto como cerrar una ventana que han abierto.

5. Diseño a la Defensiva

Imagina que preguntas a un dependiente por un par de pantalones de cuero de tu talla y te contesta: «Lo siento, pero el item que especificó no está disponible. Por favor, pruebe de nuevo, seleccionando otro tamaño o color.». Después de dos o tres intentos, probablemente te eches atrás y dejes los pantalones.

Sí, los sitios web lo hacen todo el tiempo. Nos indican que hemos olvidado incluir un número en nuestra contraseña o que hemos añadido un espacio extra en el número de nuestra tarjeta de crédito. Nos informan de que hemos dejado en blanco un campo obligatorio o creado una configuración que no puede ser llevada a cabo debido a requisitos que entran en conflicto. (...)

Defenderse contra las* interrupciones* es otra dimensión del problema. Las interrupciones ocurren todo el tiempo. Los usuarios están trabajando a través de una aplicación cuando, de repente, necesitan contestar una llamada de teléfono o buscar algo en otra página. Cuando regresan, han olvidado dónde estaban o han perdido su lugar en la aplicación. Ahora se enfrentan a tener que reiniciar el proceso de nuevo.

En Google Docs, se ofrece frecuentemente la posibilidad de "autoguardar". Mientras los usuarios trabajan en sus documentos, el sistema registra cualquier cambio. Si el usuario se aparta de su equipo y regresa un tiempo después, el documento está tal y como lo dejó, incluso si cerró la sesión del navegador.

Diseñar "a la defensiva" consiste en considerar los puntos de control en una aplicación y construir defensas creativas para proteger al usuario.

6. Diseñar para Frecuencias Apropiadas

(...) Es posible que una persona sólo utilice ciertas aplicaciones, como la autenticación segura de una aplicación, sólo una vez cada varios años. Esa misma persona puede usar otras aplicaciones muchas veces al día.(...)

Cuando los usuarios interactúan con un diseño de forma repetida, comienzan a hacer las cosas de memoria, como ocurre con la terminología, la ubicación de las funcionalidades, y las secuencias de comandos. Los usuarios frecuentes se frustran cuando esas cosas son difíciles de memorizar.

Sin embargo, los usuarios ocasionales no pueden confiar en la memoria y necesitan pistas visuales. Los equipos de diseño necesitan preguntarse acerca de la frecuencia de la funcionalidad y diseñar apropiadamente. Cuando se mezclan audiencias para cierta funcionalidad -en la que algunas características son muy utilizadas por algunos usuarios pero poco usadas por otros- los diseñadores necesitan poner especial cuidado en asegurarse de que cada audiencia obtiene lo que necesita del diseño. Los usuarios frecuentes quieren una infraestructura eficiente y fácil de memorizar. Los usuarios ocasionales quieren pistas visuales que les ayuden a comprender lo próximo que hagan.

7. Diseño para el Minimalismo

Sólo porque puedas diseñar un widget no significa que debas diseñarlo. El drag and drop, por ejemplo, toma tiempo, energía y cierta coordinación. (...) No hay mejor llamada a los diseños minimalistas que la reciente invasión de carruseles que infestan muchos sitios web. (...) Jugar con interesantes efectos cinemáticos es divertido por un rato. Sin embargo, la novedad pronto desaparece y la dificultad de interacción con el widget se hace evidente cuando los usuarios seleccionan accidentalmente un item incorrecto o no obtienen información suficiente sobre lo que están viendo.

Los efectos interesantes pueden ayudar en el diseño de aplicaciones. En Delicious, el popular servicio de marcadores, los usuarios asignan etiquetas a las páginas para hacer más fácil encontrarlas en el futuro. Los diseñadores de Delicious han añadido al sistema una funcionalidad que sugiere etiquetas potenciales, basadas en registros anteriores y en las elecciones de otros usuarios, para ayudar a fortalecer el uso de una etiqueta. Esta sofisticada implementación proporciona al usuario un valor añadido. Sí, es una aproximación minimalista que da poder al usuario sin sobrepasar las interacciones.

Traducción y resumen del artículo | 7 Critical Considerations for Designing Effective Applications y su continuación, de User Interface Engineering