Timeline: Jan 2018 – Jun 2023
•
La experiencia de usuario (UX) es un factor crucial que determina el ´exito de las aplicaciones web. Si bien actualmente se reconoce la importancia de proveer una experiencia de usuario ´optima, las pr´acticas de evaluaci´on y mejora de la UX suelen postergarse. M´as all´a de los recursos necesarios como expertos en UX y usuarios para hacer pruebas, el tiempo requerido por estas pr´acticas es el principal motivo por el cual resulta dif´ıcil integrarlas en los m´etodos ´agiles ampliamente utilizados hoy en d´ıa. Para facilitar la evaluaci´on de la UX, se han desarrollado m´etodos autom´aticos para detectar y solucionar problemas de interacci´on. Uno de los m´etodos propuestos es la t´ecnica de refactoring de usabilidad, la cual se basa en aplicar peque˜nas transformaciones (refactorings) a trav´es scripts ejecutados en el navegador que sin alterar la funcionalidad de la aplicaci´on pretenden mejorar la UX. Sin embargo, esta t´ecnica fue propuesta como una soluci´on autom´atica, en la que los refactorings aparecen como soluciones definitivas sin antes poder validar c´omo impactan en los usuarios. En esta tesis se desarrolla un conjunto de m´etodos y herramientas para dar soporte a los expertos en UX en las tareas de evaluaci´on y mejora de la experiencia de usuario. En primer lugar se presenta un m´etodo para explorar alternativas de dise˜no haciendo uso de la t´ecnica de refactoring. Este m´etodo se desarrolla en una herramienta llamada UX-Painter, mediante la cual un dise˜nador puede crear distintas versiones de una aplicaci´on web utilizando los refactorings para generar los cambios de dise˜no, sin la necesidad de codificarlos. De esta manera, es posible visualizar, validar y evaluar cambios de dise˜no en la misma aplicaci´on web sin que ´estos tengan que ser implementados. Respecto a la evaluaci´on de los dise˜nos, no solo es importante determinar el impacto de un cambio de dise˜no en la experiencia del usuario, sino que adem´as resulta fundamental poder comparar distintas alternativas. Sobre todo porque los refactorings en ciertos casos ofrecen m´as de una soluci´on posible para un mismo problema. Por este motivo, en esta tesis tambi´en se desarrolla una m´etrica denominada esfuerzo de interacci´on que permite evaluar y comparar dise˜nos alternativos en p´aginas web. Se trata de un puntaje asignado por expertos en UX sobre los distintos widgets de una p´agina web, que son aquellos elementos que se ven modificados por los refactorings. Para calcularlo autom´aticamente, se desarrollaron modelos de predicci´on que toman como entrada diferentes logs de interacci´on de usuario que reciben el nombre de micro-medidas. El hecho que la m´etrica sea transparente a los usuarios hace que pueda ser utilizada para evaluar dise˜nos con m´ultiples 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´on de distintas versiones de una aplicaci´on web. Finalmente, una vez que se verifica que ciertos refactorings mejoran la UX, deben ser implementados en la aplicaci´on bajo an´alisis. Para facilitar esta tarea a los desarrolladores, se presenta un mecanismo para generar una implementaci´on 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.