Este es un post por alusiones de mi socio en la entrada de ayer, donde mencionaba el proyecto FastFix. He creído interesante dar algunos detalles sobre este proyecto.
FastFix es un proyecto de I+D del 7º Programa Marco de la Comisión Europea en el que seis entidades de cinco países europeos (coordinadas por S2 Grupo) colaboran para desarrollar una plataforma que facilite el mantenimiento de software monitorizando su ejecución.
Dicho así, suena inocente y hasta un tanto aburrido. Ya se sabe que el marketing no suele ser el fuerte de los ingenieros.
Pero es que, cuando nos fijamos en las tecnologías que se emplean para alcanzar este objetivo, la cosa cambia. En este proyecto, se trata de vigilar la ejecución del software para poder identificar tendencias que presagien errores, anticiparse a éstos cuando sea posible, recoger información cuando se producen e incluso, en algunos casos, reconfigurar el software de manera automática.
Para ello, una acción fundamental es recoger toda la información que sea relevante sobre la ejecución de la aplicación y su interacción con el usuario y los recursos de la plataforma sobre la que se ejecuta. A esto se le llama en la literatura técnica Context Elicitation y es francamente interesante. Una vez obtenida la información necesaria, se puede modelar el contexto y conseguir, por ejemplo, predecir cuál es la intención del usuario cuando ejecuta una serie de acciones en la aplicación y si el resultado que obtiene es el que deseaba.
Con esta información, se pueden detectar errores en el comportamiento de la aplicación o incluso en su diseño, averiguar cuáles son los modos de interacción preferidos por los usuarios, mejorar las interfaces más utilizadas, reducir el número de interacciones necesarias para realizar las acciones más comunes, identificar las más proclives a error y, en resumen, mejorar la experiencia del usuario con la aplicación.
No quedan tan lejos entonces las aplicaciones que puedan aprender de nuestros errores, modificándose para asegurarse de que las utilizamos adecuadamente y haciendo más difícil que nos equivoquemos. Sería como si tuviéramos un programador invisible a nuestro lado que tomara nota de nuestra forma de manejar el programa para mejorarlo en consecuencia… altamente interesante.
El problema que surge, en relación a la temática de nuestro blog, es el de la privacidad de la información. Evidentemente, si obtenemos información sobre la interacción entre el usuario y la aplicación, podemos construir perfiles de comportamiento, obtener información privada del usuario e incluso de la información que introduce u obtiene de la aplicación.
Está claro que cualquier sistema que se plantee funcionalidades como esta ha de incorporar técnicas que impidan el uso abusivo de esta información y garanticen la privacidad de los datos del usuario. Por supuesto, en FastFix estamos trabajando en ello.
Y esto es sólo una parte. Seguiremos hablando del proyecto en futuros posts.