archivo

Archivo de la etiqueta: interfaz de usuario

Tener interfaces de usuario a la última viste muy bien. No hay nada de malo en ello si se ha tenido en cuenta que no estamos haciendo arte y que finalmente hay personas que tienen que utilizar el producto.

El término phat equivale a cool. Este antipatrón hace referencia al desarrollo de interfaces de usuario pensando en términos de ser “guay”, moderno o a la moda, en lugar de en términos de usabilidad.

Esta decisión puede ser tomada por desarrolladores y/o por los usuarios. En cualquiera de los dos casos se trata de un error, ya que el producto no basta con ser atractivo visualmente sino que además debe ser sencillo y práctico de manejar o lo que es lo mismo: eficiente y productivo.

Jef Raskin es considerado una de las figuras más importantes en el campo de los ordenadores personales, siendo también para muchos un gran desconocido.

Su trabajo se centró en el campo de las interfaces de usuario y de la interacción hombre-máquina con el objetivo siempre presente de romper barreras entre las personas y los ordenadores no solo en el sentido de hacer más universal el uso de ordenadores, sino también, superadas esas barreras, de mejorar de manera continua la experiencia de usuario.

Compartía con Steve Jobs la idea de acercar los ordenadores al gran público y con ese fin inició en Apple el proyecto Macintosh, más adelante Jobs terminó por hacerse con el control del proyecto dejando a Raskin en un segundo plano lo que hizo que finalmente abandonase Apple.

Finalmente el Mac cumplió el propósito compartido por ambos aunque su diseño y funcionamiento final se orientó hacia lo que Jobs alejándose de la idea inicial de Raskin.

No se portó bien Jobs con Raskin (es solo mi opinión) y muy probablemente el Mac hubiera sido de entrada un producto mejor con Raskin en el equipo y si Jobs hubiera hecho un poco más de caso a sus ingenieros. Aunque siendo también justo con Jobs el Mac nunca hubiera sido tan ambicioso sin estar dirigido por él.

Tan importante ha resultado Raskin en el mundo de los ordenadores personales que Steve Wozniak comentó de él: “Hacer que la tecnología resulte más simple fue su propósito desde sus primeros días en Apple. Jef Raskin es desde entonces una de las personas más importantes en relación a los ordenadores personales”.

Hay una cita suya, simple, pero demoledora: “En lo que al cliente se refiere la interfaz es el producto”. Encierra mucho esta frase, desde la realidad de lo que el cliente ve en un sistema de información (o en general de un producto), hasta su concepción de que todo lo que está detrás de esa interfaz existe para hacerla funcionar y si el sistema falla porque la electrónica de red del Centro de Proceso de Datos está fallando le da igual, es el producto el que está dando problemas y es a él a donde van dirigidas las críticas.

Comenta un desarrollador con mucha más experiencia que yo que la aplicación debe entrarle por el ojo al usuario ya que de lo contrario manifestará rechazo desde el primer momento y será complicado hacerle cambiar de opinión. Si nos ponemos a pensar ejemplos, no está muy lejos de la realidad, ya que en las aplicaciones para smartphones los primeros segundos o minutos de uso de las mismas determinarán el éxito que tendrán las mismas en nuestro terminal.

No se trata exclusivamente de interfaces de usuario, sino también de la dinámica o lógica de funcionamiento de la misma. En resumidas cuentas, se trata de la usabilidad.

En la usabilidad hay buenas prácticas, sin embargo, hay que tener en cuenta un factor importante y que influye mucho a la hora de que un usuario exprese rechazo o no en primera instancia al sistema y no es otra que el tipo de aplicación o sistema que venía utilizando hasta ahora, ya que será la referencia con la que van a comparar el nuevo sistema.

Me he encontrado con casos donde los usuarios ponen por las nubes, sistemas que meses antes pisoteaban. Y no ha sido necesariamente porque el nuevo sistema empeore al anterior, sino porque les ha cambiado la rutina con que hacían sus tareas y existe otra nueva.

Los criterios de usabilidad son importantes, sin embargo, al final la práctica con el uso de la herramienta es la que rompe determinadas barreras que la propia aplicación ha puesto al usuario, ya lo dice la siguiente cita: “con suficiente práctica, cualquier interfaz es intuitiva”.

Maya Elhalal-Levavi es una emprendedora israelí especializada en Internet y redes sociales. Siendo una importante conocedora del negocio y de la experiencia de usuario resulta muy interesante su siguiente cita:

“La interfaz gráfica de usuario (GUI) siempre es intuitiva para quienes la desarrollan”.

Una gran verdad y un gran error por parte de muchos analistas ya que es necesario tener muy en cuenta a quiénes van a ser los verdaderos destinatarios de las mismas.

Soy de la opinión de que en el desarrollo de software los requisitos funcionales y de interfaz de usuario deben quedar resueltos antes de empezar a codificar, sin embargo hay ciertos aspectos que no cobran su verdadera forma hasta que uno se enfrenta a su programación, hasta que se siente el código.

Sentir el código, es una cita que leí a Alex Bergonzini en su Twitter y desde luego no le falta razón ya que en la programación se enfoca el problema.

Martin Fowler también le da importancia a sentir el código en su siguiente reflexión (traducción libre): “Cuando te sientas a escribir código, aprendes cosas a las que no puedes llegar en el proceso de modelado… ya que hay un proceso de feedback al que solo puedes llegar desde la ejecución de determinadas funcionalidades y viendo como funcionan”.

El desarrollo de software es adaptativo y todo no se puede prever, a veces hay que experimentar hasta encontrar una solución satisfactoria para el usuario, eso es totalmente compatible con los desarrollos ágiles. Ahora bien, el hecho de que los principios ágiles indiquen que no hay que elevar ninguna funcionalidad a definitiva no quiere decir que todo deba ser consecuencia de la experimentación, porque construir y tirar módulos software además de ser caro puede provocar una desmotivación importante en el equipo de proyecto.

¿En cuantas reuniones con usuarios os han dicho frases como la siguiente?: “No me gusta ese color de fondo”, “me gustaría más otro tipo de de letra”, “a esa palabra se os ha olvidado ponerle tilde”, etc, etc, etc…, obviando o poniéndolos al mismo nivel o por encima de cuestiones funcionales, mucho más importantes. ¿Cuánto tiempo se ha perdido discutiendo sobre esos temas en lugar de en cuestiones más prioritarias?.

Hay un aspecto que suele fallar poco a la hora de vender un producto y es el envoltorio. Por dentro puede ser calamitoso, pero si es atractivo, tendrá muchas posibilidades de éxito. Al usuario final le dará igual si el programa está realizando siguiendo los principios de diseño por capas o si es es resultado de una serie de scriptlets jsp, lo que quiere es un programa de interfaz y usabilidad agradable, y por supuesto que funcionalmente llegue hasta el nivel requerido.

También resulta muy importante, que cuando se vaya a enseñar un prototipo, una beta o similar, se cuide mucho de que no existan faltas de ortografía, si se utilizan unidades de medida, especificarlas con la notación que haya especificado el usuario y se tenga la interfaz de usuario trabajada previamente, de lo contrario, si el objetivo es conseguir completar los aspectos funcionales de la aplicación, probablemente no se consiga y se requieran más reuniones y tiempo para alcanzar ese objetivo.

¿Quiero decir con esto que se debe olvidar uno de la calidad del software? No, nunca. La diferencia la marca precisamente la calidad del software, cualquiera puede programar, pero programar en condiciones y bien, requiere preparación, disciplina y experiencia. La facilidad para hacer software con envoltorios bonitos, es fácilmente igualable por cualquier empresa, lo que sí que resulta complicado es hacer un software de calidad, que permita en un futuro, realizar un mantenimiento más fácil sobre el mismo.
Es cierto, que también es más caro hacer software de esta manera, ya que requiere personal más cualificado o una mayor supervisión, pero este mayor coste de producción se verá paliado si se consigue un incremento de las ventas. La clave está en demostrar que a igualdad de envoltorios, el software desarrollado con calidad tiene una serie de ventajas tangibles para el usuario, que iran desde una reducción del número de errores, a una mayor eficiencia, pasando por una reducción de los costes de mantenimiento.

Evidentemente no es fácil hablar de esto con el usuario final, no dije nunca que fuera algo sencillo, pero si se tiene la habilidad suficiente para conseguir que te escuchen y demuestras que tu software es bueno, por fuera y por dentro, seguro que tu organización se habrá marcado unos cuantos puntos con dicho cliente para el futuro.

Sabemos en este punto, qué es lo que quiere el usuario que haga el nuevo sistema de información y también los datos que quiere almacenar en el mismo.

Pues bien, todo lo anterior no sirve de nada sin una interfaz de usuario que le facilite el trabajo.

Mi recomendación es que se haga siempre un prototipo de la interfaz de usuario (al menos de las pantallas más significativas) y que quede reflejado además de forma clara el esquema de navegación entre pantallas.

El prototipo puede ir desde esquemas hechos con VISIO a páginas HTML e incluso algunas pantallas con funcionamiento dinámico u una combinación de las anteriores. Lo importante es que el usuario tenga claro que es lo que se va a encontrar cuando se implemente el programa y no se lleve sorpresas después que serán negativas para él y para el que desarrolla. Por otro lado cuando se le muestre el modelo cartón piedra de las pantallas es recomendable que se realice un repaso de los requisitos funcionales con el usuario para que pueda apreciar que todo lo que ha pedido (y se pueda verificar en esta revisión) está reflejado en el diseño de pantallas que se le muestra.

También es importante que se revise con esmero la información que aparece en las mismas, para que el usuario vea que todos los datos que ha pedido que se persistan están en las pantallas que se muestran.