Los programadores, en muchas ocasiones, no somos conscientes de lo importante que es el diseño y la usabilidad en el software que desarrollamos.¿Qué es el diseño?Para el arquitecto Damiano Franco, el diseño se encuentra hasta en la parte más ínfima de l
a vida del ser humano. ¿Qué sería de la vida cotidiana sin un diseño apropiado para cada una de las cosas y objetos? Un caos...Gui Bonsiepe define al diseño como: "Hacer disponible un objeto para una acción eficaz."Para Dani Costas nuestro responsable de diseño el objetivo que persigue el diseño es conseguir la función óptima y sus valores son facilidad, usabilidad y atemporalidad.Es por ello que muchas veces la falta de información lleva al empleo del término “diseño” incorrectamente. Ejemplos como: “mucho diseño y poco contenido” son comunes incluso en prensa, televisión, discursos políticos, etc. Sin embargo, el buen diseño, se caracteriza por su buena usabilidad y no siempre por su originalidad o estética.¿Cómo diseño mi software?Existe una frase cierta que nos indica que el 80% de los usuarios usan el 20% de las funcionalidades.Nos empeñamos en introducir nuevas funcionalidades a nuestro software cuando lo más importe es saber ¿Qué le puedo quitar a mi software? ¿Cómo lo puedo dejar más sencillo? Nos dejamos llevar por nuestra ansia de introducir nuevas funcionalidades, de demostrarnos de que somos capaces de hacer esa virguería que tenemos en la cabeza. Lo que deberíamos saber es que cada campo, cada proceso, cada rejilla que introducimos en nuestras aplicaciones complica su uso y mantenimiento.Cuándo veo los formularios que hacía en el 2001 llenos de campos y veo el diseño de las apps de google me parece increible. ¿Cómo puede ser que una aplicación de Google para millones de usuarios tenga menos campos en pantalla que mis propias apps para unos miles de usuarios. Una imagen vale más que mil palabras:Captura de pantalla de correo recibido en gmail
Captura de pantalla de correo recibido en Crm en Velneo.
Programamos no diseñamos y ese es el primer gran problema. La programación está por encima del diseño porque nuestra profesión es programar, es introducir features, versiones, funcionalidades, es hacer cosas. ¿Cómo vamos a quitar cosas? A mi me pagan por hacer código ¿no?, la nueva versión tiene que tener más botones que la anterior. Te imaginas una nueva versión con menos funcionalidades que la anterior, el software tiene que crecer para que lo podamos tirar abajo cada diez años :).¿Cómo afectan los usuarios a nuestro diseño?Si los programadores por nosotros mismos ya nos encargamos de no parar de introducir funcionalidades de una forma poco usable pero cuando nos juntamos con las ideas de los usuarios entonces la armamos. Lo primero es que debemos aprender a decir NO a ciertas funcionalidades que sólo mejoran a unos pocos usuarios. También debemos pensar bien las cosas, lo de mete este campo, esta tabla, esta rejilla es algo común y como nos cuesta poco pues lo metemos en unos minutos. A veces un campo observaciones es más práctico que una tabla o campo.Desde hace poco lo que hago en algunos programas es sacar las tablas con todos los registros y sus campos, en ellos miro el porcentaje de campos que existen rellenos en una lista de 10.000 registros, por ejemplo. Lo primero que me llevo es las manos a la cabeza ya que en la mayoría de los casos de cada 20 campos de una tabla realmente en el 80% de los casos los usuarios completan 5 o 6. Esto es un salvajada. Por norma general el formulario principal tiene los 20 campos que normalmente se usan en un 10% de los casos. En muchos de estos casos la tabla podría tener 10 o 15 campos y el formulario principal 5 campos (el resto lo pasas a un subformulario) realmente tendrías un programa más sencillo y usable en el 85% de los casos.¿Qué hago para mejorar?
- Observar y analizar: No sólo escuches a tus usuarios, mira los registros que se completan, los campos, analiza bien la información. Cuándo te pidan algo pregunta, ¿Para qué? ¿En qué casos? ¿Cuántos casos hay como este? A veces el usuario habla de un caso de cien y crear una tabla no es la mejor solución para esto.
- Planear y proyectar: Propón un modo de solucionar la necesidad, quizás poder introducir el dato en un campo observaciones y tener una búsqueda es suficiente antes de crear nuevos objetos en nuestros formularios.
- Construir y ejecutar: Prueba, prueba y prueba. Haz pruebas reales con el usuario, quizá para ti el botón se ve muy bien, vamos lo has diseñado tu, ¿Cómo no se va a ver bien?
- Evaluar: Una vez introducido el cambio, EVALUA, mira bien que lo que has realizado tiene uso, porque sino se usa es que no ha valido la pena el esfuerzo. Mejor no tener una funcionalidad que una que no se use en más de un 40% de los casos.
Los mejores software no son los que más features tienen.Aquí os dejo un interesante podcast de Jesus Encinar fundador del idealista.com uno de los que más sabe de diseño en España desde mi punto de vista.