Heurísticas para el desarrollo de aplicaciones web modernas

La evaluación con heurísticas ofrece una opción frente a la imposibilidad de realizar pruebas de usabilidad, ya sea por imposibilidad técnica o económica. La evaluación heurística es considerada un poco más objetiva que la revisión de un experto, ya que se fundamenta en guías de común acuerdo, más que en opiniones personales.

Esta propuesta de heurísticas, acuñada por Andy Budd, son fruto de su trabajo como consultor en el procesos de evaluación con heurísticas y revisiones de experto.

Diseñe para las espectativas del usuario

Los sistemas se deben diseñar en torno a los usuarios, sus metas y expectativas. Se deben utilizar funciones que ellos encuentren útiles y sean empleadas de manera apropiada para su experiencia.

  • Elija funciones que ayuden a los usuarios a alcanzar sus metas.
  • Use convenciones web comunes.
  • Haga que los procesos en línea funciones de manera equivalente a los procesos fuera de línea.
  • No utilice etiquetas o botones engañosos.

Ofrezca claridad

Haga que el sistema sea lo más claro, conciso y significativo posible para la audiencia deseada. Utilice íconos, símbolos e imágenes, así como lenguaje natural para el usuario y que permita una lectura rápida.

  • Escriba de forma clara y concisa.
  • Solo use lenguaje técnico para una audiencia técnica.
  • Escriba etiquetas claras y significativas.
  • Use íconos significativos.

Minimice la complejidad innecesaria y la carga cognitiva

Haga que el sistema sea lo más simple posible para que los usuarios realicen sus tareas. No sobrecargue al usuario con muchas opciones, y asegúrese de que están priorizadas.

  • Elimine la funcionalidad innecesaria, los pasos del proceso y el desorden visual.
  • Use la divulgación progresiva para ocultar funciones avanzadas.
  • Descomponer procesos complicados en varios pasos.
  • Priorice el uso de tamaño, forma, color, alineación y proximidad.

Promueva la eficiencia y logro de tareas

Se debe diseñar para la fomentar la productividad del usuario, no del sistema. Se debe optimizar el sistema para lograr las tareas más comunes, y proveer a los usuarios experimentados las funciones avanzadas que permitan acelerar la realización de tareas. Se deben implementar las configuraciones más comúnmente utilizadas, así como permitirle al usuario conservar las suyas específicas.

  • Ofrezca vínculos rápidos a funciones comunes.
  • Provea funciones avanzadas, como la habilidad de eliminar múltiples mensajes.
  • Predisponga opciones comunes, como la opción de retirarse de correos de mercadeo.
  • Permita que la configuración por defecto se pueda alterar, cancelar o anular.
  • Remueva los pasos innecesarios.

Proporcione contexto a los usuarios

Las interfaces deberían proporcionar a los usuarios una sensación de contexto en el tiempo y el espacio. Los sistemas deben permitirle a los usuarios saber dónde se encuentra, desde dónde vienen, qué pueden hacer y a dónde pueden ir luego. Los procesos deben informar a los usuarios sobre el progreso realizado, así como el tiempo restante para su conclusión.

  • Proporcione un nombre y un propósito claros para el sitio.
  • Resalte la sección actual en la navegación.
  • Proporcione una ruta de navegación (es decir, muestre dónde ha estado el usuario en un sitio web).
  • Use mensajes de realimentación apropiados.
  • Muestre el número de pasos en un proceso.
  • Reduzca la percepción de latencia proporcionando señales visuales (por ejemplo, un indicador de progreso) o permitiendo a los usuarios completar otras tareas mientras esperan.

Utilice consistencia y estándares

Los elementos de la interfaz, los procesos y las etiquetas deben ser utilizadas de manera consistente a lo largo del sistema. Este debe utilizar las convenciones web estándar, a menos que una nueva convención ofrezca una experiencia de usuario sifnificativamente mejorada.

  • Utilice convenciones en la nomenclatura.
  • Coloque los elementos en lugares estándar, como la función de búsqueda en la esquina superior derecha.
  • Utilice el elemento de interfaz adecuado para cada función.
  • Construya un sistema que se comporte de manera predecible.
  • Utilice procesos y patrones web estándar.

Prevenga los errores

El sistema debe ayudar a prevenir los errores. Esto se puede realizar limitando opciones incorrectas, aceptando formatos de ingreso alternativos y ofreciendo guía y validación interna cuando sea posible.

  • Deshabilite opciones irrelevantes.
  • Acepte tanto los códigos telefónico locales como internacionales.
  • Ofrezca ejemplos y ayuda contextual.
  • Revise si un nombre de usuario ya está siendo utilizado antes de permitir al usuario registrarse.

Ayude a los usuarios a notar, comprender y recuperarse de los errores

Los errores deben ser obvios y fáciles de recuperar. Los mensajes de error deben ser claros, concisos y fáciles de notar. Deben explicar sucintamente lo que ha sucedido y sugerir posibles soluciones.

  • Destaque visualmente los errores.
  • Proporcione comentarios cercanos al lugar donde ocurrió el error.
  • Use mensajes claros y evite la jerga técnica.

Promueva una experiencia de usuario placentera y positiva

La interacción de los usuarios con el sistema debe ser positiva y mejorar su calidad de vida cuando sea posible. El usuario debe ser tratado con respeto, y el diseño debe ser estéticamente agradable y promover una experiencia placentera y gratificante.

  • Cree un diseño agradable y atractivo.
  • Proporcione objetivos fácilmente alcanzables.
  • Proporcione recompensas por uso y progresión.

Más información sobre las heurísticas y el autor en: https://andybudd.com/archives/2007/01/heuristics_for_modern_web_application_de