albertolacalle.com
estás en: Portada > HCI - usabilidad > Artículos > Programar no es diseñar para el usuario
Poste con decenas de semáforos.

Los programadores no entienden a los usuarios

septiembre de 2001

Programar requiere un pensamiento lógico y fuertemente estructurado, mentalidad que lleva a realizar acciones incomprensibles y difíciles de recordar para los usuarios

Cuando un programador realiza su trabajo, por las características propias del proceso de programación, está orientado a la subdivisión de la tarea principal en subtareas necesarias para su implementación.

Los usuarios frecuentemente no comprenden estas subdivisiones creadas por los programadores, perdiendo fácilmente la paciencia cuando se les obliga a realizar operaciones que un programador juzga como « técnicamente necesarias».

Los programadores han de controlar todas las posibilidades para conseguir que el programa funcione correctamente. Las preguntas que un programador siempre se hace son: «¿y si pasa esto?, ¿ y si pasa lo otro?, ¿y si el usuario quiere?...». Su objetivo es que se pueda hacer todo y el programa nunca "casque".

Pensar así tiene algunos efectos como la llamada featuritis o añadido innecesario de funciones a un producto, porque entienden que eso mejora el producto.

Pero la featuritis tiene un coste: vaticinar todo lo posible significa a efectos prácticos marginar y hacer poco visible lo mas probable, con lo que el producto frecuentemente empeora.

Un usuario medio no se preocupa por todo lo posible, sino por lo más probable, la gente quiere un programa/web que le permita hacer SUS tareas y no TODAS las posibles.

Por otro lado los programadores son personas que gustan de un control máximo sobre las tareas que realizan, esto significa que son capaces de sacrificar facilidad de uso por control de la tarea, los programadores están enfocados a la tarea. Sin embargo los usuarios medios están enfocados a las metas, y están dispuestos a sacrificar control sobre la tarea, a cambio de conseguir su meta de manera rápida.

Un ejemplo sencillo: a la hora de hacer una búsqueda de un producto en un sitio web, un programador desea el máximo control, tener la posibilidad de usar varias opciones de búsqueda avanzadas y obtener los mejores resultados posibles (esta orientado hacia la tarea).

Por el contrario, un usuario medio desea evitar toda opción incomprensible, prefiere simplemente introducir la palabra clave y obtener resultados inmediatos.

Un programador alegaría entonces, «en ese caso si la búsqueda falla es por culpa del usuario que debería hacer una búsqueda avanzada».

Es tarea del programador ponerse en el lugar del usuario y adelantarse a su comportamiento para que los errores no se produzcan.

 

Fuente: Joel Spolsky es el fundador de una pequeña empresa de software en Nueva York. Es autor del libro: Diseño de Interfaz de Usuario para Programadores

Artículos relacionados:

Artículos sobre HCIVer todos los artículos

Más información1999 - 2008 Alberto LaCalle | portada | contacto | mapa web | servicios y proyectos | aviso legal
Servicios y proyectos