Métodos y herramientas de desarrollo y evaluación de refactorings para la mejora de la experiencia de usuario en aplicaciones web
Authors:   , Gardey Juan Cruz 
Published: September 2023

La experiencia de usuario (UX) es un factor crucial que determina el éxito de las aplicaciones web. Si bien actualmente se reconoce la importancia de proveer una experiencia de usuario óptima, las prácticas de evaluación y mejora de la UX suelen postergarse. Más allá de los recursos necesarios como expertos en UX y usuarios para hacer pruebas, el tiempo requerido por estas prácticas es el principal motivo por el cual resulta difícil integrarlas en los métodos ágiles ampliamente utilizados hoy en día. Para facilitar la evaluación de la UX, se han desarrollado métodos automáticos para detectar y solucionar problemas de interacción. Uno de los métodos propuestos es la técnica de refactoring de usabilidad, la cual se basa en aplicar pequeñas transformaciones (refactorings) a través scripts ejecutados en el navegador que sin alterar la funcionalidad de la aplicación pretenden mejorar la UX. Sin embargo, esta técnica fue propuesta como una solución automática, en la que los refactorings aparecen como soluciones definitivas sin antes poder validar cómo impactan en los usuarios. En esta tesis se desarrolla un conjunto de métodos y herramientas para dar soporte a los expertos en UX en las tareas de evaluación y mejora de la experiencia de usuario. En primer lugar se presenta un método para explorar alternativas de diseño haciendo uso de la técnica de refactoring. Este método se desarrolla en una herramienta llamada UX-Painter, mediante la cual un diseñador puede crear distintas versiones de una aplicación web utilizando los refactorings para generar los cambios de diseño, sin la necesidad de codificarlos. De esta manera, es posible visualizar, validar y evaluar cambios de diseño en la misma aplicación web sin que éstos tengan que ser implementados. Respecto a la evaluación de los diseños, no solo es importante determinar el impacto de un cambio de diseño en la experiencia del usuario, sino que además resulta fundamental poder comparar distintas alternativas. Sobre todo porque los refactorings en ciertos casos ofrecen más de una solución posible para un mismo problema. Por este motivo, en esta tesis también se desarrolla una métrica denominada esfuerzo de interacción que permite evaluar y comparar diseños alternativos en páginas web. Se trata de un puntaje asignado por expertos en UX sobre los distintos widgets de una página web, que son aquellos elementos que se ven modificados por los refactorings. Para calcularlo automáticamente, se desarrollaron modelos de predicción que toman como entrada diferentes logs de interacción de usuario que reciben el nombre de micro-medidas. El hecho que la métrica sea transparente a los usuarios hace que pueda ser utilizada para evaluar diseños con múltiples usuarios en experimentos online como A/B testing o similares. Como prueba de concepto, se implementa UX-Analyzer, una herramienta web que permite calcular y visualizar el esfuerzo de interacción de distintas versiones de una aplicación web. Finalmente, una vez que se verifica que ciertos refactorings mejoran la UX, deben ser implementados en la aplicación bajo análisis. Para facilitar esta tarea a los desarrolladores, se presenta un mecanismo para generar una implementación preliminar de los refactorings usando como base los frameworks y librerías utilizados actualmente para el desarrollo de interfaces web. El trabajo incluye distintas validaciones que comprueban la aplicabilidad de los desarrollos propuestos para facilitar la mejora de la UX.