Matthew Paul Thomas ha escrito un excelente artículo -al que llegué por un post de Matthew Mullenweg , el desarrollador que inició WordPress- donde analiza los problemas de usabilidad que tiene gran parte del software libre. A pesar de que ha habido mejoras los avances son lentos y muchos problemas siguen sin resolverse.
En «Why Free Software has poor usability, and how to improve it» Thomas señala algunos puntos que pueden ser los orígenes del problema. En primer lugar, lo normal es pensar que el software libre es producido desinteresadamente por algún programador, al cual sobre que hecho público su código encima no le podemos pedir que su sistema sea fácilmente usable por los demás. Pero cuando los programadores necesitan ayuda, la forma más fácil de conseguirla es liberar su código bajo la modalidad open source y recibir el apoyo de una comunidad. Sin embargo, la usabilidad no suele figurar entre las primeras prioridades ¿Por qué?
Thomas da a una lista de la que voy a destacar aquellos puntos que me parecen importantes.
1. Ausencia de incentivos. El software comercial gana dinero mientras más copias se venden por lo cual existe un fuerte lucha por seducir al usuario haciendo que las aplicaciones sean cada vez más fáciles de usar. En el software libre, no hay demasiado incentivo para la usabilidad ya que la principal motivación suele ser buscar el reconocimiento entre los miembros de la comunidad o impresionar a un futuro empleador. Rara vez un desarrolladores open source gana más dinero mientras más gente usa el programa de manera directa como ocurre con el software comercial.
2. Ausencia de diseñadores. Hay buenos programadores y buenos diseñadores, pero es menos frecuente ver ambas habilidades en la misma persona. La mayor parte de los proyectos de software libre no tienen diseñadores. Algunos proyectos o empresas de envergadura -Mozilla, Sun o Red Hat- los contratan pero en general es bastante difícil encontrar diseñadores que colaborar en la usabilidad del software.
3. Las sugerencias de diseño no suelen ser bienvenidas. El desarrollo normal una aplicación open source suele pasar rápidamente al estado en el que se comienza a escribir código. Muchas veces las «sugerencias» del diseñador implican volver atrás, reescribir y frenar el avance del proyecto. Además, los programadores suelen estar más preocupados en analizar el código y conseguir que la aplicación funcione que en plantearse cómo debería el programa interactuar con el usuario.
4. Demasiadas manos. Como no suele haber un diseñador 100% dedicado al proyecto, la forma de compensarlo es reunir a varios diseñadores que aportan su granito de arena. Cada uno tiene su visión de cómo debe ser la interfaz, qué criterios seguir y el resultado casi siempre un entorno inconsistente. Si hay muchas manos, una debe encargarse de coordinar al resto.
5. Imitación. Mientras muchas soluciones de software libre son tremendamente creativas a la hora de plantear y resolver problemas, casi todas son bastante más convencionales a la hora de diseñar su interfaz y se dejan llevar por los criterios impuestos por los grandes como Apple o Microsoft.
6. Programar para sí mismos. Los programadores suelen ser también los usuarios de sus propias aplicaciones. Esto hace que muchas veces no se planteen desarrollar un asistente de configuración, una manera sencilla de importar datos o no se dan cuenta de que emplean demasiados tecnicismos.
7. Acumulación de errores. Algunas sugerencias para mejorar la usabilidad suelen ser vista como «detalles», «cambios menores» o «cosas que pueden quedar para después». De esta manera, las sugerencias se transmiten de versión en versión sin que nadie se plantee tomarlas en cuenta porque antes hay cosas más importantes (fallos, errores o problemas de compatibilidad) que atender.
Creo que el post de Thomas es de lectura más que recomendable para todos aquellos quienes participen de un proyecto de software libre, sea cual sea su rol, ya que por cada punto plantea posibles soluciones. De más está decir el reconocimiento y consideración que me merecen quienes trabajan en software open source… sin ellos este blog probablemente no existiría.
Nota: La fotografía que ilustra el post es de Mike Homme: www.gawebdevelopers.com