Recuérdame 3.0: Mejorando una aplicación de apoyo para el tratamiento de personas con problemas de memoria mediante terapias basadas en reminiscencia Trabajo de Fin de Grado Curso 2023–2024 Autores Bryan Eduardo Córdova Ascurra Rubén Martín Castro Steven Alexis Pérez Salinas Samuel Rodríguez Gómez Directoras Virginia Francisco Gilmartín Susana Bautista Blasco Grado en Ingeniería del Software Facultad de Informática Universidad Complutense de Madrid Recuérdame 3.0: Mejorando una aplicación de apoyo para el tratamiento de personas con problemas de memoria mediante terapias basadas en reminiscencia Trabajo de Fin de Grado Departamento de Ingeniería de Software e Inteligencia Artificial Autores Bryan Eduardo Córdova Ascurra Rubén Martín Castro Steven Alexis Pérez Salinas Samuel Rodríguez Gómez Directoras Virginia Francisco Gilmartín Susana Bautista Blasco Convocatoria : Junio 2024 Grado en Ingeniería del Software Facultad de Informática Universidad Complutense de Madrid 27 de mayo de 2024 Autorización de difusión Los abajo firmantes, matriculados en el Grado de Ingeniería de Software de la Facultad de Informática, autorizan a la Universidad Complutense de Madrid (UCM) a difundir y utilizar con fines académicos, no comerciales y mencionando expresa- mente a sus autores el presente Trabajo Fin de Grado: “Recuérdame 3.0: Mejorando una aplicación de apoyo para el tratamiento de personas con problemas de memoria mediante terapias basadas en reminiscencia”, realizado durante el curso académi- co 2023/2024 bajo la dirección de Virginia Francisco Gilmartín y Susana Bautista Blasco en el Departamento de Ingeniería de Software e Inteligencia Artificial, y a la Biblioteca de la UCM a depositarlo en el Archivo Institucional E-Prints Complu- tense con el objeto de incrementar la difusión, uso e impacto del trabajo en Internet y garantizar su preservación y acceso a largo plazo. Bryan Eduardo Córdova Ascurra Rubén Martín Castro Steven Alexis Pérez Salinas Samuel Rodríguez Gómez 27 de mayo de 2024 v Agradecimientos En primer lugar, queremos expresar nuestra más profunda gratitud a nuestras tutoras, Virginia y Susana, por todo el apoyo que nos han brindado a lo largo de este proyecto. Su ánimo constante y ayuda en los momentos de duda han sido fundamentales. Nos sentimos profundamente afortunados de haber contado con ellas, especialmente con Virginia, cuya vocación por la enseñanza y excepcional desempeño nos han inspirado durante todos estos años. Gracias a su dedicación, hemos tenido la confianza para completar nuestro grado con ella. Agradecemos también a la Universidad Complutense de Madrid por todas las enseñanzas recibidas durante nuestra formación. Cada lección y experiencia ha sido crucial para nuestro crecimiento académico y personal. Queremos extender nuestro agradecimiento a todos los profesores que han dejado su huella en nosotros. Especialmente, queremos agradecer al Dr. Iván de Rosende Caleiro, quien, como terapeuta, dedicó parte de su valioso tiempo para evaluar nuestra aplicación. Su perspectiva y comentarios han sido esenciales para la mejora de la herramienta, y esperamos sinceramente que le facilite su labor en el futuro. Finalmente, el equipo de “Recuerdame 3.0” quieren agradecer de todo corazón a nuestros familiares, parejas y amigos por el apoyo incondicional, amor y ánimo que nos han brindado en todo momento. Su presencia y aliento han sido fundamentales para completar este proyecto. Habéis sido un pilar para cada uno de nosotros. A todos, muchas gracias. vii Resumen Este TFG presenta la creación de una aplicación, Recuérdame 3.0, para ayudar a los terapeutas en la realización de terapias basadas en reminiscencia para pacientes con Alzheimer, haciéndolas más cómodas, fáciles, rápidas y eficientes. Continuamos con el desarrollo de la aplicación Recuérdame 2.0, abordando la corrección de errores e implementando nuevas funcionalidades para ofrecer más ayudas a los usuarios. Los principales cambios efectuados respecto a la versión anterior son un rediseño de la interfaz para facilitar el acceso a las funcionalidades existentes, la modificación del almacenamiento del contenido multimedia para hacerlo externo a la aplicación, la introducción de escalas personalizadas, la posibilidad de elegir el tamaño del texto y de las imágenes y mejoras en los resúmenes generados en la aplicación. Además, esta nueva versión incluye nuevas funcionalidades: narración automática de los recuerdos para aquellas personas que tengan dificultades para leer ya sea por problemas de vista derivados de la edad o por problemas cognitivos, un chatbot para que los pacientes puedan realizar terapia desde su casa con la ayuda de un cuidador y sin la intervención del terapeuta, un chatbot de ayuda para los usuarios de la aplicación para que puedan preguntarle cualquier duda que les surja sobre como funciona Recuérdame 3.0, y la detección automática de emociones en los recuerdos para hacer más eficiente la creación de recuerdos y liberar de trabajo al terapeuta. La nueva versión de la aplicación creada durante este TFG ha sido evaluada por un terapeuta familiarizado con las terapias basadas en reminiscencia. Los resultados de esta evaluación fueron muy positivos, todas las tareas que se plantearon fueron consideradas por el terapeuta como fáciles de realizar y la puntuación del cuestiona- rio SUS realizada al terapeuta indica un nivel de usabilidad más que aceptable. El terapeuta indicó que la nueva versión supone una mejora muy significativa respec- to a las versiones anteriores y que todas las mejoras introducidas se corresponden con necesidades reales que tienen el terapeuta en su trabajo y los usuarios en su tratamiento. Durante esta evaluación también recogimos algunas sugerencias que servirán para seguir mejorando la herramienta. La aplicación está disponible en http://caliope.fdi.ucm.es1 y el código se encuentra alojado en el repositorio https://github.com/NILGroup/TFG-23-24-R 1Los usuarios los cuales están disponibles en la aplicación son: correo.terapeuta@gmail.com y terapeuta@gmail.com, ambos con contraseña “terapeuta”. Para usuarios cuidador: correo.cuidador@gmail.com y cuidador@gmail.com, ambos con contra- seña “cuidador”. ix http://caliope.fdi.ucm.es https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 ecuerdame3.0. Palabras clave Terapias de reminiscencia, Alzheimer, narración automática, ChatBot, detección de emociones. https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 Abstract This final degree project presents the creation of an application, Recuérdame 3.0, to assist therapists in conducting reminiscence-based therapies for Alzheimer’s patients, making them more comfortable, easier, faster, and more efficient. We con- tinue the development of the Recuérdame 2.0 application, addressing bug fixes and implementing new functionalities to offer more support to users. The main changes made compared to the previous version are a redesign of the interface to facilitate ac- cess to existing functionalities, modification of multimedia content storage to make it external to the application, the introduction of personalized scales, the ability to choose text and image sizes, and improvements in the summaries generated by the application. Additionally, this new version includes new functionalities: automatic narration of memories for those who have difficulty reading due to age-related vi- sion problems or cognitive issues, a chatbot for patients to perform therapy from home with the help of a caregiver and without the intervention of the therapist, a help chatbot for application users to answer any questions they may have about how Recuérdame 3.0 works, and automatic emotion detection in memories to make memory creation more efficient and relieve the therapist’s workload. The new version of the application created during this project has been evaluated by a therapist familiar with reminiscence-based therapies. The evaluation results were very positive, all the tasks proposed were considered easy to perform by the therapist, and the SUS questionnaire score given by the therapist indicates a more than acceptable level of usability. The therapist indicated that the new version represents a very significant improvement over previous versions and that all the improvements introduced correspond to real needs that therapists have in their work and users have in their treatment. During this evaluation, we also gathered some suggestions that will help further improve the tool. The application is available at http://caliope.fdi.ucm.es2 and the code is hosted in the repository https://github.com/NILGroup/TFG-23-24-Recuerdam e3.0. 2The users available in the application are: correo.terapeuta@gmail.com and ter- apeuta@gmail.com, both with the password “terapeuta”. For caregiver users: correo.cuidador@gmail.com and cuidador@gmail.com, both with the pass- word “cuidador”. xi http://caliope.fdi.ucm.es https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 Keywords Reminiscence therapies, Alzheimer’s, automatic narration, ChatBot, emotion detec- tion. Índice 1. Introducción 1 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Introduction 5 2.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Estado de la Cuestión 9 3.1. Enfermedad de Alzheimer . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Terapias basadas en reminiscencia . . . . . . . . . . . . . . . . . . . . 10 3.3. Historias de Vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.4. Aplicaciones relacionadas . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.4.1. Recuérdame 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.4.2. Recuérdame 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4. Metodología de gestión del proyecto: Kanban 23 4.1. Tablero Kanban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2. Políticas Explícitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.3. Reuniones de Retrospectiva . . . . . . . . . . . . . . . . . . . . . . . 27 4.3.1. Retrospectiva del 1 de Octubre de 2023 . . . . . . . . . . . . . 27 4.3.2. Retrospectiva del 29 de Octubre de 2023 . . . . . . . . . . . . 32 4.3.3. Retrospectiva del 3 de Diciembre de 2023 . . . . . . . . . . . . 36 4.3.4. Retrospectiva del 26 de Diciembre de 2023 . . . . . . . . . . . 38 4.3.5. Retrospectiva del 29 de Enero de 2024 . . . . . . . . . . . . . 40 4.3.6. Retrospectiva del 25 de Febrero de 2024 . . . . . . . . . . . . 44 4.3.7. Retrospectiva del 17 de Marzo de 2024 . . . . . . . . . . . . . 47 4.3.8. Retrospectiva del 7 de Abril de 2024 . . . . . . . . . . . . . . 51 4.3.9. Retrospectiva del 21 de Abril de 2024 . . . . . . . . . . . . . . 53 4.3.10. Reunión final del 20 de Mayo de 2024 . . . . . . . . . . . . . . 55 5. Inteligencias Artificiales Generativas 59 xiii 5.1. Generación automática de subtítulos . . . . . . . . . . . . . . . . . . 59 5.2. Narración de Historias de Vida . . . . . . . . . . . . . . . . . . . . . 60 5.3. ChatBot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4. Detección de emociones . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.5. Resúmenes generados por IA . . . . . . . . . . . . . . . . . . . . . . . 65 6. Recuérdame 3.0 67 6.1. Rediseño de la interfaz de usuario . . . . . . . . . . . . . . . . . . . . 67 6.1.1. Cambio de logo . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.1.2. Cambios visuales . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 . . . . . . . . . . . 70 6.2.1. Cambios en el lenguaje y atributos . . . . . . . . . . . . . . . 70 6.2.2. Cambios en el Libro de Historia de Vida . . . . . . . . . . . . 71 6.2.3. Cambios en la generación de pdf de Historia de Vida . . . . . 74 6.2.4. Cambios en los vídeos de Historia de Vida . . . . . . . . . . . 74 6.2.5. Cambios en los Resúmenes de Historia de Vida . . . . . . . . 75 6.2.6. Cambios en los Informes . . . . . . . . . . . . . . . . . . . . . 76 6.2.7. Cambios en los Diagnósticos . . . . . . . . . . . . . . . . . . . 78 6.2.8. Cambios en las Sesiones . . . . . . . . . . . . . . . . . . . . . 78 6.2.9. Cambios en las tablas . . . . . . . . . . . . . . . . . . . . . . . 79 6.2.10. Cambios en Información de Usuario . . . . . . . . . . . . . . . 79 6.2.11. Cambios en los recuerdos . . . . . . . . . . . . . . . . . . . . . 79 6.2.12. Cambios en el calendario . . . . . . . . . . . . . . . . . . . . . 80 6.3. Almacenamiento de contenido multimedia . . . . . . . . . . . . . . . 80 6.4. Nuevas funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.4.1. Narración de Historias de Vida . . . . . . . . . . . . . . . . . 83 6.4.2. TherapEase: ChatBot para terapia online . . . . . . . . . . . . 84 6.4.3. Nemo: ChatBot guía para Recuérdame 3.0 . . . . . . . . . . . 88 6.4.4. Detección de emociones . . . . . . . . . . . . . . . . . . . . . 90 6.5. Incorporación de datos reales a la aplicación . . . . . . . . . . . . . . 92 7. Evaluación de calidad del Software 95 7.1. Pruebas de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 7.2. Pruebas de compatibilidad . . . . . . . . . . . . . . . . . . . . . . . . 97 7.2.1. Casos de prueba . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.2.2. Errores encontrados . . . . . . . . . . . . . . . . . . . . . . . . 98 7.3. Pruebas de aceptación . . . . . . . . . . . . . . . . . . . . . . . . . . 99 7.3.1. Diseño de la evaluación . . . . . . . . . . . . . . . . . . . . . . 99 7.3.2. Desarrollo de la evaluación . . . . . . . . . . . . . . . . . . . . 101 7.3.3. Conclusiones de la evaluación . . . . . . . . . . . . . . . . . . 104 8. Conclusiones y Trabajo Futuro 105 8.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 8.1.1. Análisis Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . 105 8.1.2. Análisis de las herramientas . . . . . . . . . . . . . . . . . . . 108 8.1.3. Análisis de la metodología . . . . . . . . . . . . . . . . . . . . 109 8.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 9. Conclusions and Future Work 111 9.1. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 9.1.1. Objective Analysis . . . . . . . . . . . . . . . . . . . . . . . . 111 9.1.2. Analysis of Tools . . . . . . . . . . . . . . . . . . . . . . . . . 114 9.1.3. Methodology Analysis . . . . . . . . . . . . . . . . . . . . . . 115 9.2. Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 10.Contribuciones Personales 117 10.1. Bryan Eduardo Córdova Ascurra . . . . . . . . . . . . . . . . . . . . 117 10.2. Rubén Martín Castro . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 10.3. Steven Alexis Pérez Salinas . . . . . . . . . . . . . . . . . . . . . . . 120 10.4. Samuel Rodríguez Gómez . . . . . . . . . . . . . . . . . . . . . . . . 122 Bibliografía 127 A. Resultado dinámica 1 de Octubre de 2023 129 B. Resultado dinámica 29 de Enero de 2024 133 C. Como desplegar el proyecto 135 C.1. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 C.2. Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 D. Información de entrenamiento para TherapEase 141 E. Información de entrenamiento para Nemo 143 F. Resultado pruebas de compatibilidad 151 G. Guión seguido durante la evaluación 165 H. Resultado de la evaluación 173 Índice de figuras 3.1. Formulario de registro de paciente . . . . . . . . . . . . . . . . . . . . 13 3.2. Historia de vida generada . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3. Calendario de actividades . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4. Vista de relacionar personas con recuerdos . . . . . . . . . . . . . . . 14 3.5. Formulario de registro de terapeuta . . . . . . . . . . . . . . . . . . . 15 3.6. Nueva dropzone ampliada . . . . . . . . . . . . . . . . . . . . . . . . 17 3.7. Calendario con sesiones y actividades . . . . . . . . . . . . . . . . . . 17 3.8. Modal de asignación de archivos a recuerdo con descripción . . . . . . 18 3.9. Escalas con la posibilidad de adjuntar archivos . . . . . . . . . . . . . 18 3.10. Ejemplo de modal anidado . . . . . . . . . . . . . . . . . . . . . . . . 18 3.11. Vista de creación de diagnóstico inicial . . . . . . . . . . . . . . . . . 19 3.12. Gráfica de seguimiento del paciente . . . . . . . . . . . . . . . . . . . 19 3.13. Ejemplo de búsqueda en listado de sesiones . . . . . . . . . . . . . . . 20 4.1. Tablero Kanban de Recuérdame 3.0 . . . . . . . . . . . . . . . . . . . 24 4.2. Políticas Explícitas de Recuérdame 3.0 . . . . . . . . . . . . . . . . . 25 4.3. Representación de la técnica del velero . . . . . . . . . . . . . . . . . 29 4.4. Resultado retrospectiva del velero realizada el 01/10/2023 . . . . . . 30 4.5. Resultado análisis FODA realizado el 29/10/2023 . . . . . . . . . . . 33 4.6. Resultado de la reunión de retrospectiva con el método “Estrella de Mar” realizada el 03/12/2023 . . . . . . . . . . . . . . . . . . . . . . 37 4.7. Resultado de la reunión de retrospectiva con el método utilizado en una empresa realizada el 26/12/2023 . . . . . . . . . . . . . . . . . . 39 4.8. Imagen generada para la dinámica realizada el 29/01/2024 . . . . . . 42 4.9. Representación de la técnica de las 4L realizada el 29/01/2024 . . . . 43 4.10. Resultado retrospectiva de las 4L realizada el 29/01/2024 . . . . . . . 43 4.11. Resultado de la actividad de la línea de tiempo, realizada el 25/02/2024 45 4.12. Resultado de la dinámica para romper el hielo en la retrospectiva del 17/03/2024 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.13. Resultado retrospectiva de los 3 cerditos el 17/03/2024 . . . . . . . . 51 4.14. Resultado retrospectiva de Start, Stop y Continue realizada el 21/04/2024 54 6.1. Resultado del brainstorming del logo Recuérdame 3.0 . . . . . . . . . 68 xvii 6.2. Resultados provisionales del logo Recuérdame 3.0 . . . . . . . . . . . 69 6.3. Comparación y resultado final del logo Recuérdame 3.0 . . . . . . . . 69 6.4. Botones Cancelar - Finalizar Recuérdame 2.0 VS en Recuérdame 3.0 . 70 6.5. Botones modificados en Recuérdame 3.0 . . . . . . . . . . . . . . . . 70 6.6. Libro de historia de vida en Recuérdame 3.0 . . . . . . . . . . . . . . 71 6.7. Menú de configuración de tamaños . . . . . . . . . . . . . . . . . . . 72 6.8. Libro de historia de vida por defecto (arriba) VS Libro de historia de vida con texto e imagen modificado en tamaño (abajo) . . . . . . . . 73 6.9. Imagen abierta en otra pestaña (Recuérdame 2.0) . . . . . . . . . . . 73 6.10. Imagen ampliada, mostrada directamente sobre el libro de historia de vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.11. Generación del pdf de un libro con imágenes . . . . . . . . . . . . . . 75 6.12. Nueva opción de vídeos en el navbar . . . . . . . . . . . . . . . . . . 76 6.13. Nueva vista para la generación de vídeos . . . . . . . . . . . . . . . . 76 6.14. Imagen de la nueva vista para la generación de resúmenes . . . . . . 77 6.15. Imagen de la antigua vista para la generación de resúmenes y videos . 77 6.16. Imagen del script generador de resúmenes después del cambio . . . . 77 6.17. Modificación pdf informe de seguimiento . . . . . . . . . . . . . . . . 78 6.18. Nueva gráfica con escalas personalizadas . . . . . . . . . . . . . . . . 79 6.19. Iconos para la reproducción del audio en los recuerdos . . . . . . . . . 85 6.20. Terapeuta preparando sesión virtual . . . . . . . . . . . . . . . . . . . 86 6.21. Calendario cuidador con sesión virtual . . . . . . . . . . . . . . . . . 87 6.22. Botón para iniciar la sesión virtual . . . . . . . . . . . . . . . . . . . 87 6.23. Vista de la sesión virtual iniciada, puede observarse el botón “Copiar recuerdos de la sesión” en la parte superior . . . . . . . . . . . . . . . 87 6.24. Respuesta de TherapEase, con preguntas basadas en el recuerdo de la sesión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.25. Botón flotante “Nemo” . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.26. Nuevo ChatBot de ayuda, expandido desde la parte inferior de la pantalla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.27. Nueva distribución para generar sentimiento automáticamente . . . . 91 6.28. Extracto de la clasificación que usamos para la incorporación de datos reales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.1. Plantilla para pruebas de sistema . . . . . . . . . . . . . . . . . . . . 96 C.1. iframe con el código para mostrar TherapEase . . . . . . . . . . . . . 137 C.2. script para mostrar Nemo . . . . . . . . . . . . . . . . . . . . . . . . 138 Índice de tablas 3.1. Tabla GDS-MEC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 xix Capı́tulo 1 Introducción En este capítulo veremos los motivos que nos han llevado a realizar este TFG, los objetivos que tenemos y como vamos a afrontarlo. 1.1. Motivación En la actualidad, la disminución de la memoria es un desafío que afecta a una amplia proporción de la población. Esta disminución, aunque sea leve, resulta en una reducción de la calidad de vida del afectado, así como de sus familiares, cuidadores y personas cercanas. Según la OMS (Organización Mundial de la Salud), actualmente 55 millones de personas en todo el mundo padecen demencia, siendo el Alzheimer la forma más común. Además, la demencia es la séptima causa de defunción y una de las principales causas de discapacidad y dependencia en todo el mundo. Las técnicas no farmacológicas han demostrado ser muy efectivas para mantener activa la memoria, conservar las habilidades cognitivas y preservar los recuerdos, lo que a su vez retrasa el deterioro de la memoria. Estos métodos, que se centran en ayudar al individuo afectado a revisar su propia historia personal, implican que la persona con demencia haga un registro personal de las experiencias, personas y lugares más importantes de su vida. El objetivo es que el paciente converse sobre diversos temas, eventos pasados, sucesos históricos, etc. Se ha comprobado que estos ejercicios ayudan a preservar habilidades como el razonamiento, la autoestima, la confianza y las habilidades sociales. Hoy en día, uno de los métodos más usados y que mejores resultados están obteniendo son las terapias de reminiscencia consistente en rememorar eventos de la historia personal del sujeto mediante la estimulación de los recuerdos con significado personal y que susciten sentimientos positivos, a estos recuerdos se les llama historia de vida. Los terapeutas que utilizan estas terapias para tratar a los pacientes tienen que crear manualmente las historias de vida de los pacientes, teniendo que revisar todos los documentos en papel, lo que les lleva bastante tiempo con cada paciente. Es importante mencionar que existen aplicaciones que están facilitando este pro- ceso. Por ejemplo, algunas aplicaciones digitales permiten a los terapeutas recopilar y organizar la información relevante de manera más eficiente. Este es el caso de 1 2 Capítulo 1. Introducción “Recuérdame 1.0” y “Recuérdame 2.0”, desarrollados en cursos pasados. En la pri- mera versión de la aplicación, aunque con funciones limitadas, se sentaron las bases para la segunda versión, mucho más completa y que cuenta con varias funciones, no solo para organizar las historias de vida, sino también para facilitar la labor del terapeuta. Por otro lado, las nuevas tecnologías en auge, como la IA, abren nuevas posibilidades para mejorar esta aplicación, facilitando a los especialistas su uso con nuevas funciones y ayudas. 1.2. Objetivos El objetivo principal de nuestro TFG se centra en la mejora y ampliación de la aplicación Recuérdame 2.0, una herramienta destinada a agilizar el proceso de ges- tión y preparación de terapias de reminiscencia para terapeutas, además de permitir su uso a los cuidadores pudiendo realizar una revisión de los recuerdos que componen la historia de vida de los pacientes. Como objetivos específicos proponemos: Realizar en Recuérdame 2.0 todas las modificaciones que surgieron durante la evaluación que se realizó con los usuarios finales. Mejora de la aplicación para un mejor uso del terapeuta y cuidador en: • Mejora a la hora de generar Historia de Vida, en la versión anterior de la herramienta, se mostraban una lista donde estaban todos los recuerdos del paciente, para esta versión sustituiremos dicha lista por una narración de los mismos. • Mejora a la hora de generar resúmenes, la aplicación permite la posibili- dad de generar unos resúmenes automáticos de los recuerdos del paciente para facilitar el labor de los terapeutas y si este quiere podrá hacer distin- tas modificaciones. Se conseguirá que la generación del resumen aprenda de las modificaciones hechas por los terapeutas para futuros resúmenes automáticos. • Mejora en los vídeos generados automáticamente, en los vídeos el texto que aparece en los subtítulos se descuadra a medida que avanzan las imágenes, para ello sincronizaremos las imágenes con los subtítulos. Añadir nuevas funcionalidades para ayudar al usuario final: • Se añadirá un bot con el cual se podrá hacer terapia mediante preguntas automáticas a partir de las imágenes de la historia de vida del paciente, si el usuario no recuerda algo, el bot proporcionará una serie de pistas. • Se añadirá mensajería entre terapeuta y cuidador. • Se añadirá una nueva funcionalidad en la aplicación para que pueda iden- tificar automáticamente la polaridad (Positiva o Negativa) de los recuer- dos en las Historias de Vida del usuario. Para lograr este objetivo se explorará la posibilidad de realizar un etiquetado a nivel léxico, es decir, 1.2. Objetivos 3 que la herramienta pueda analizar las palabras que aparecen en el recuer- do y así determinar la polaridad del evento, considerando las emociones que se reflejen en el recuerdo el usuario. Se seguirá un Diseño Centrado en el Usuario (DCU) para garantizar que las expectativas de los usuarios finales quedan completamente cubiertas. Este proyecto tiene como propósito, aplicar de manera integral los conocimientos adquiridos a lo largo de la carrera. La elección de un enfoque colaborativo y el uso de nuevas tecnologías nunca vistas en el grado se consideraron como aspectos beneficiosos, ya que plantean desafíos académicos en el ámbito de la arquitectura web, un campo de interés compartido por todos los miembros del Trabajo de Fin de Grado de cara al futuro laboral. Chapter 2 Introduction In the following sections, we will delve into the reasons that have compelled us to undertake this Bachelor’s Thesis, outline our objectives, and elucidate our approach to addressing them. 2.1. Motivation Currently, memory decline is a challenge that affects a large proportion of the population. This decline, even if mild, results in a reduction in the quality of life for the affected individual, as well as their family members, caregivers, and close associates. According to the WHO (World Health Organization), 55 million people worldwide currently suffer from dementia, with Alzheimer’s being the most common form. Additionally, dementia is the seventh leading cause of death and one of the main causes of disability and dependency globally. Non-pharmacological techniques have proven to be very effective in keeping mem- ory active, preserving cognitive abilities, and maintaining memories, which in turn delays memory deterioration. These methods focus on helping the affected indi- vidual review their own personal history, involving the person with dementia in creating a personal record of the most important experiences, people, and places in their life. The goal is for the patient to discuss various topics, past events, historical happenings, etc. It has been shown that these exercises help preserve skills such as reasoning, self-esteem, confidence, and social abilities. Nowadays, one of the most used methods that is yielding the best results is reminiscence therapy, which involves recalling events from the individual’s personal history by stimulating memories with personal significance that elicit positive feel- ings. These memories are referred to as a life story. Therapists using these therapies to treat patients have to manually create the life stories of the patients, which re- quires reviewing all the paper documents, taking a considerable amount of time for each patient. It is important to mention that there are applications that are facilitating this process. For example, some digital applications allow therapists to gather and orga- nize relevant information more efficiently. This is the case with "Recuérdame 1.0" 5 6 Chapter 2. Introduction and "Recuérdame 2.0", developed in previous courses. In the first version of the ap- plication, although with limited functions, the groundwork was laid for the second version, which is much more comprehensive and includes various functions, not only for organizing life stories but also for facilitating the therapist’s work. On the other hand, emerging technologies such as AI open up new possibilities for improving this application, making it easier for specialists to use with new functions and aids. 2.2. Objectives The main objective of our bachelor’s thesis focuses on improving and expanding the Recuérdame 2.0 application, a tool designed to streamline the management and preparation process of reminiscence therapies for therapists, as well as allowing caregivers to review the memories that make up the patient’s life story. Our specific objectives are as follows: Implementing all the modifications that arose during the evaluation conducted with the end users in Recuérdame 2.0. Improving the application for better usability by therapists and caregivers, including: • Improvement in generating Life Stories: In the previous version of the tool, all the patient’s memories were displayed in a list format. For this version, we will replace this list with a narrative format. • Improvement in generating summaries: The application allows the pos- sibility of automatically generating summaries of the patient’s memories to facilitate the work of therapists, and if desired, they can make various modifications. We will enhance the summary generation to learn from the modifications made by therapists for future automatic summaries. • Improvement in automatically generated videos: In the current version, the text in subtitles becomes misaligned as images progress. To address this, we will synchronize the images with subtitles to ensure proper align- ment throughout the video. Adding new features to assist the end user, such as: • A bot will be added through which therapy can be conducted via auto- matic questions based on the images from the patient’s life story. If the user doesn’t recall something, the bot will provide a series of clues. • A messaging functionality between the therapist and caregiver will be added. • A new feature will be added to the application to automatically identify the polarity (Positive or Negative) of memories in the user’s Life Stories. To achieve this goal, we will explore the possibility of lexical tagging, meaning the tool will analyze the words that appear in the memory and determine the polarity of the event, considering the emotions reflected in the user’s memory. 2.2. Objectives 7 A User-Centered Design (UCD) approach will be followed to ensure that the expectations of the end users are fully met. The purpose of this project is to comprehensively apply the knowledge acquired throughout the degree program. The choice of a collaborative approach and the use of new technologies not previously seen in the degree program were considered beneficial aspects, as they pose academic challenges in the field of web architecture, an area of interest shared by all members of the bachelor’s thesis with regards to their future careers. Capı́tulo 3 Estado de la Cuestión Este capitulo está dedicado a presentar la enfermedad del Alzheimer así como las terapias basadas en reminiscencia, las Historias de Vida que se utilizan en dichas terapias y el trabajo realizado en las anteriores versiones de la aplicación de la que partirá nuestro trabajo. 3.1. Enfermedad de Alzheimer La enfermedad de Alzheimer es una condición neurodegenerativa crónica que afecta principalmente a las funciones cognitivas, especialmente la memoria. Es la forma más común de demencia, un término general que abarca una variedad de trastornos caracterizados por la pérdida progresiva de la función cerebral. Esta afección provoca la acumulación progresiva de la proteína beta-amiloide1 y la formación de ovillos neurofibrilares2 causando los primeros síntomas, como el olvido de eventos recientes, deterioro de funciones cognitivas y la pérdida gradual de la habilidad para emplear y comprender el lenguaje cotidiano, así como para realizar tareas simples. Según la Asociación del Alzheimer3, dichos síntomas pueden dar usarse como una guía general para dectectar en que etapa se encuentra el paciente, principalmente se distinguen tres: Etapa Temprana: La persona puede manejarse por sí misma. Puede seguir conduciendo, trabajando y participando en actividades sociales. Sin embargo, puede experimentar episodios de olvido, como no recordar algunas palabras o la ubicación de objetos cotidianos y las personas cercanas pueden darse cuenta de estas dificultades. Etapa Media: Normalmente es la etapa más larga y puede durar muchos años. A medida que la enfermedad avanza, las personas con enfermedad de Alzheimer 1La proteína precursora amiloidea es una proteína integral de membrana y está concentrada en la sinapsis entre neuronas. 2Conglomerado anormal de proteínas compuesto por pequeñas fibrillas entrelazadas dentro de las neuronas en casos de la enfermedad de Alzheimer. 3https://www.alz.org/alzheimer-demencia/etapas 9 https://www.alz.org/alzheimer-demencia/etapas 10 Capítulo 3. Estado de la Cuestión requieren cuidados más avanzados. En las etapas moderadas de la enfermedad, puede resultar más difícil completar tareas como pagar facturas, pero aún pue- de recordar detalles importantes de su vida. En esta etapa la persona afectada se confunde con el habla, se vuelve irritable o enfadada, o se comporta de ma- nera inesperada. El daño a las células nerviosas del cerebro puede dificultar la expresión de pensamientos y la realización de tareas diarias. Etapa Final: En las etapas finales de la enfermedad, el paciente pierde la capacidad de reaccionar ante su entorno, hablar y, finalmente, controlar sus movimientos. Aunque puede pronunciar palabras y oraciones, la comunicación se vuelve más difícil. La disminución de la memoria y las capacidades cognitivas puede provocar cambios significativos en la personalidad y puede requerir una ayuda significativa en la vida cotidiana. La Escala de Deterioro Global de Reisberg o GDS establece 7 fases en las que puede encontrarse el paciente. Mientras que el test de Lobo es un pequeño examen que permite detectar si hay una posible demencia en el paciente, aunque también puede utilizarse para hacer un seguimiento de la evolución del deterioro producido por la enfermedad. Las fases de GDS relacionadas con los resultados del Examen Cognoscitivo Lobo o MEC son las que se muestran en la Tabla 3.1. GDS Descripción MEC de Lobo 1 Ausencia de alteración cognitiva 30-35 puntos 2 Disminución cognitiva muy leve 25-20 puntos 3 Defecto cognitivo leve 20-27 puntos 4 Defecto cognitivo moderado 16-23 puntos 5 Defecto cognitivo moderado-grave 10-19 puntos 6 Defecto cognitivo grave 0-12 puntos 7 Defecto cognitivo muy grave 0 puntos Tabla 3.1: Tabla GDS-MEC. La evaluación de los resultados de la tabla GDS-MEC desempeña un papel cru- cial en el tratamiento de estas enfermedades. La identificación temprana y su inter- vención correspondiente, no solo mejoran el pronóstico, sino que también ayudan a frenar la progresión de los síntomas. Este enfoque no solo contribuye a detener el avance de la enfermedad, sino que también tiene un impacto positivo en la calidad de vida de la persona afectada. 3.2. Terapias basadas en reminiscencia La reminiscencia es una de las intervenciones psicosociales más efectivas para adultos mayores con deterioro cognitivo, implica recordar eventos de la historia personal del sujeto mediante la estimulación de recuerdos4. Los recuerdos tienen un 4https://neurologia.com/noticia/6471/la-terapia-de-reminiscencia-grupal-mejor a-la-cognicion-en-personas-mayores-con-demencia https://neurologia.com/noticia/6471/la-terapia-de-reminiscencia-grupal-mejora-la-cognicion-en-personas-mayores-con-demencia https://neurologia.com/noticia/6471/la-terapia-de-reminiscencia-grupal-mejora-la-cognicion-en-personas-mayores-con-demencia 3.3. Historias de Vida 11 significado personal y evocan emociones positivas. Su objetivo principal es mejorar la calidad de vida y el bienestar emocional de las personas mayores, especialmente de aquellas con trastornos cognitivos como la demencia y el Alzheimer, favoreciendo la comunicación y habilidades del paciente para poder ralentizar los efectos negativos de dichas enfermedades. Para realizar la terapia basada en reminiscencia son necesarios elementos desen- cadenantes que evoquen sensaciones, recuerdos o estimulen mentalmente al paciente. Estos elementos pueden ser: objetos, fotografías, olores, sabores, sonidos, música... Cualquier elemento que estimule los sentidos sirve, pero se deben elegir en función del estado y las capacidades de los pacientes, por ejemplo, puede tratarse de una persona con déficit visual y/o auditivo, en este caso, la terapia se adaptará al pacien- te, estimulando el tacto con objetos que pueda reconocer, ya sea con objetos de uso diario como personales, de esta manera se busca evocar y fijar el número máximo de recuerdos posibles. Siguiendo con el ejemplo, los objetivos en las terapias podrían ser que reconozca los alimentos que consume y la distinción de sus sabores, provo- cando así, más recuerdos, como cuando fue la primera vez que lo probó y donde. Esto podría determinar la capacidad del usuario para retener los recuerdos. Los resultados de las terapias basadas en reminiscencia han demostrado buenos resultados con pacientes con deterioro neurocognitivo, mostrando mejoras en el es- tado de ánimo, calidad de vida y una mejora de la cognición, (Justo-Henriques et al. (2022); Kirk et al. (2019)). 3.3. Historias de Vida En el contexto de las terapias basadas en reminiscencia, una Historia de Vida5 hace referencia a la narración detallada y personal de la vida de un paciente. Estas historias suelen recopilar experiencias significativas, recuerdos, eventos importantes y aspectos relevantes de la vida de una persona, además de tener un registro de las personas mas relevantes para el paciente. Este enfoque terapéutico se utiliza especialmente en aquellos que pueden experimentar pérdida de memoria o demencia. Debido a que el Alzheimer es una enfermedad en donde el paciente puede recordar la mayor parte de su vida en las primeras fases, este proceso resulta crucial para poder facilitar el tratamiento a seguir por los terapeutas, es una ayuda a familiares o personas que rodean al paciente a poder conocer, entender y facilitar la integración social de las personas que sufren esta enfermedad. La manera en la que se estructura una Historia de Vida6 puede ser de varios tipos pero las más comunes son, una terapia ocupacional centrada en gerontología7, que se centra en el refuerzo de la identidad del paciente, el sentimiento de integridad personal en la persona mayor y sigue un formato estructurado con capítulos predefi- nidos que abarcan aspectos desde la infancia hasta el presente. Por otra parte, están las terapia de psicoterapia o investigación, donde el investigador o terapeuta puede 5https://mitcentrodedia.es/actividades/historia-de-vida/ 6https://www.infogerontologia.com/documents/estimulacion/historia_de_vida.pdf 7Estudio de la salud, la psicología y la integración social y económica de las personas que se encuentran en la vejez. https://mitcentrodedia.es/actividades/historia-de-vida/ https://www.infogerontologia.com/documents/estimulacion/historia_de_vida.pdf 12 Capítulo 3. Estado de la Cuestión saber datos objetivos del paciente a través de una entrevista oral que se le realiza, la estructura es más abierta, permitiendo la creatividad con la persona, decidiendo el número y los títulos de los capítulos durante dichas entrevistas. En ambos contextos, la Historia de Vida no es simplemente un ejercicio de re- colección de datos, sino una herramienta terapéutica muy valiosa. En psicoterapia, sirve como una sustitución menos estructurada de la anamnesis8, permitiendo una comprensión más profunda y subjetiva del paciente. En investigación, adopta una perspectiva fenomenológica, buscando comprender la vida de las personas desde sus propios marcos de referencia, siendo un diseño inductivo, abierto y emergente. Las Historias de Vida no solo se presentan como un vehículo para explorar la vida de un individuo, sino que también proporciona una perspectiva para comprender las realidades sociales, culturales y contextuales de un momento histórico particular. Su adaptabilidad y enfoque cooperativo la transforman en una herramienta invaluable tanto para la terapia personalizada como para la investigación cualitativa en los campos de las ciencias sociales y de la salud. Dicho proceso suele dar mayor resultado positivo con el acompañamiento de un familiar o ser querido del paciente, ya que motiva al usuario, facilita la colaboración y comunicación en durante el desarrollo de las terapias. 3.4. Aplicaciones relacionadas Esta sección está dedicada a las versiones anteriores de Recuérdame 3.0 que fue- ron desarrolladas como parte de otros TFG, incluyendo su finalidad, funcionalidades, tecnologías aplicadas, mejoras implementadas y proceso de desarrollo. 3.4.1. Recuérdame 1.0 Recuérdame 1.0 (Barquilla Blanco et al. (2022)), fue un TFG desarrollado du- rante el curso 2021-2022 cuyo objetivo era proporcionar una herramienta dirigida tanto para los usuarios finales (pacientes), que podrían repasar los recuerdos de sus vivencias en forma de historias de vida y evitar o retrasar en la medida de lo po- sible dichos recuerdos, como para los terapeutas que podrían preparar sus terapias basadas en reminiscencia o almacenar y acceder los datos de sus pacientes. Con el objetivo de obtener el mejor producto posible, los desarrolladores de Recuérdame 1.0 se reunieron con terapeutas, obteniendo así la información necesaria sobre que necesidades debería cubrir la herramienta. El resultado final de su trabajo fue una aplicación web basada en el modelo vista controlador (MVC9), con una interfaz de usuario creada con HTML/CSS y un backend programado con el lenguaje PHP. Era responsive10 gracias al uso de las 8Conjunto de datos que se recogen en la historia clínica de un paciente con un objetivo diag- nóstico. 9Patrón de arquitectura de software comúnmente empleado, se centra en la separación de la lógica de negocio y la interfaz de usuario 10Capacidad que pose una aplicación o sitio web de adaptarse y funcionar correctamente en diferentes sistemas y tamaños de pantalla 3.4. Aplicaciones relacionadas 13 librerías de Bootstrap11 y compatible con diversos sistemas operativos. Las funcionalidades desarrolladas en esta primera versión de Recuérdame fueron las siguientes: Listado de registros (pacientes, sesiones, informes de seguimiento,...) con la posibilidad de añadir nuevos (figura 3.1), dar de baja a los ya existentes o modificarlos. Figura 3.1: Formulario de registro de paciente Generación de libros de historias de vida (figura 3.2) y posibilidad de generar archivos PDF a partir de ellos. Figura 3.2: Historia de vida generada Gestión de un calendario (figura 3.3) con las actividades de los pacientes. 11https://getbootstrap.com/ https://getbootstrap.com/ 14 Capítulo 3. Estado de la Cuestión Figura 3.3: Calendario de actividades Añadir recuerdos existentes a las sesiones y actualizar recuerdos añadiendo nuevas personas relacionadas previamente (figura 3.4) creadas mediante el bo- tón “Añadir existente”. Figura 3.4: Vista de relacionar personas con recuerdos Creación de informes sobre sesiones realizadas. Registro de nuevos terapeutas o cuidadores (figura 3.5). Una vez terminada la implementación, se realizó una evaluación con los usuarios finales. En general, la aplicación tuvo una recepción positiva y se propusieron los siguientes cambios y nuevas funcionalidades: Implementar un sistema de mensajería entre terapeuta y cuidador. 3.4. Aplicaciones relacionadas 15 Figura 3.5: Formulario de registro de terapeuta Implementar filtros para facilitar la búsqueda en los apartados multimedia de la aplicación. Mejorar la visualización de las imágenes en los PDFs. Añadir a los informes de sesiones la duración y la hora de inicio de la sesión. Añadir el número de sesiones realizadas en los informes de seguimiento. Mejorar los filtros con posibilidad de escoger varias opciones distintas para cada filtro. Añadir los campos “localidad/residencia”, “nivel de contacto con el paciente” y “observaciones” en Personas Relacionadas. Permitir al usuario escribir el tipo de relación cuando escoja la opción “otros”. Implementar un calendario que ayude al terapeuta a organizar sus sesiones y actividades. Añadir la opción de adjuntar imágenes a las actividades. Añadir nuevos campos en el paciente con información suya, además de poder añadir una foto del paciente. 16 Capítulo 3. Estado de la Cuestión Incluir la posibilidad de asignar más de un cuidador al mismo paciente, también poder visualizar todos los cuidadores encargados de un paciente. Añadir al cuidador campos con su lugar de residencia y el grado de parentesco. Incluir la capacidad de marcar las actividades como realizadas en la vista del cuidador. Eliminar en los recuerdos información de poco interés para el cuidador. Mostrar un carrusel de recuerdos como pantalla de inicio en la vista del cuidador. Implementar una narración automática de los recuerdos. Implementar la opción de mostrar pistas sobre un recuerdo mediante un botón para ayudar al paciente a rememorarlo. Implementar la capacidad de mostrar las historias de vida en forma de videos junto a una narración de los recuerdos. Implementar la opción de actualizar la información de los recuerdos utilizados durante una sesión a través de su informe de sesión. Implementar un Chat Bot con la capacidad de asistir al cuidador en lugar del terapeuta. 3.4.2. Recuérdame 2.0 Recuérdame 2.0 (Díez Sobrino et al. (2023)) fue creada con el objetivo de mejorar el proceso de creación de historias de vida y gestión de terapias de reminiscencia ya implementado previamente en su versión anterior, Recuérdame 1.0. También fue desarrollada con la intención de mejorar la seguridad de la aplicación, realizar una refactorización del código, dotándolo de una mayor limpieza, aplicar un framework para PHP e incorporar nuevas funcionalidades teniendo en cuenta el trabajo que quedó pendiente tras la finalización de Recuérdame 1.0. Inicialmente se decidieron las herramientas que se utilizarían durante el desarrollo de la segunda versión de Recuérdame. Entre ellas se escogió Laravel como framework PHP, las librerías utilizadas por el equipo de Recuérdame 1.0 fueron mantenidas y se añadieron algunas nuevas para mejorar la interfaz de la aplicación. Se realizaron grandes cambios en la interfaz, haciéndola más intuitiva e interacti- va, responsiva, cambiando la paleta de colores e incluso diseñando un nuevo logotipo más acorde con la nueva versión de la aplicación. También se aplicaron patrones de diseño de interfaz para mejorar el resultado final. Las principales mejoras que se realizaron en esta nueva versión fueron las siguien- tes: Se mejoró la subida de ficheros, ampliando el área dropzone (figura 3.6) donde se arrastran y sueltan los archivos que el usuario desea subir, facilitándole el proceso. Además se configuró el dropzone para que solo permitiera subir un archivo en el caso de la foto de perfil de pacientes, personas relacionadas y cuidadores. 3.4. Aplicaciones relacionadas 17 Figura 3.6: Nueva dropzone ampliada El calendario fue mejorado (figura 3.7), añadiendo la posibilidad para los te- rapeutas de gestionar (crear, ver, modificar o borrar) las sesiones, cuando en Recuérdame 1.0 esto solo era posible para las actividades. También se añadie- ron filtros al calendario para mostrar solo las actividades o los recuerdos si es necesario, facilitando la navegación. Figura 3.7: Calendario con sesiones y actividades Se implementó el control de correos electrónicos ya registrados, cosa que no sucedía en Recuérdame 1.0, de forma que en el caso de que se intente crear un usuario con un e-mail ya registrado, aparecerá una ventana emergente infor- mando de que el usuario ya está registrado. Se modificó la funcionalidad de asignar archivos a un recuerdo (figura 3.8), incluyendo la posibilidad de agregar una descripción breve a cada archivo que ayude a identificarlos. Se añadió la posibilidad de adjuntar un archivo con información relevante para 18 Capítulo 3. Estado de la Cuestión Figura 3.8: Modal de asignación de archivos a recuerdo con descripción los terapeutas a cada escala presente en los informes de seguimiento (figura 3.9), de forma que se puedan subir estos archivos cuando se crea o modifica un informe de seguimiento. Figura 3.9: Escalas con la posibilidad de adjuntar archivos Se aplicó el uso de ventanas emergentes en forma de modales anidados (figu- ra 3.10) para evitar los reenvíos a páginas con formularios que se realizaban en Recuérdame 1.0, siendo esto más cómodo para el usuario que mantiene el control sobre la aplicación en todo momento. Esta lógica se aplicó en las opciones de añadir persona relacionada a un recuerdo, en la asignación de re- cuerdos a sesiones, en la creación de nuevas sesiones desde el calendario y en la modificación de recuerdos mientras se crea un informe de sesión. Figura 3.10: Ejemplo de modal anidado 3.4. Aplicaciones relacionadas 19 Tras finalizar los cambios sobre la primera versión, se incorporaron las siguientes funcionalidades: Se implementó la creación de diagnósticos iniciales para los pacientes (figu- ra 3.11), permitiendo al terapeuta especificar la enfermedad que afecta a un paciente, sus antecedentes y observaciones de relevancia, además de facilitar un seguimiento de la evolución de la enfermedad del paciente de forma visual mediante una gráfica (figura 3.12) en la que se reflejan las diferentes esca- las que permiten determinar su estado actual, siendo estas las escalas GDS, Minimental y CDR. Figura 3.11: Vista de creación de diagnóstico inicial Figura 3.12: Gráfica de seguimiento del paciente Para otorgar a los terapeutas la posibilidad de repetir una sesión ya realizada sin tener que crear una nueva sesión desde cero, se implementó la capacidad de vincular varios informes distintos a la misma sesión, modificando la base de datos para desacoplar sesión e informe y relacionándolos entre ellos. 20 Capítulo 3. Estado de la Cuestión Se crearon buscadores para cada uno de los listados de la aplicación (figura 3.13), con el objetivo de facilitar la búsqueda de datos en concreto, especial- mente cuando hay presente un gran volumen de estos. Para ello, además de implementar las barras de búsqueda en cada listado, se hizo uso de las funcio- nalidades presentes en la librería DataTables. Figura 3.13: Ejemplo de búsqueda en listado de sesiones Se introdujo la generación automática de resúmenes de historias de vida. Para ello se hizo uso de GPT, capaz de generar textos en lenguaje natural a partir de las indicaciones introducidas por los usuarios, también en lenguaje natural. Para incorporar esta funcionalidad, se utilizó la API proporcionada por GPT. Otra de las funcionalidades incorporadas fue la generación de vídeos narrados a partir de los recuerdos de las historias de vida, lo que facilita su repaso eliminando la necesidad de leerlas. Para generar los vídeos se utilizó la API de Creatomate, capaz de generar vídeos a partir de imágenes. Por otro lado, para generar la narración se utilizó la API Voice RSS, la cual permite generar narraciones a partir de texto en múltiples idiomas y voces diferentes. Esta generación se realiza de forma asíncrona para permitir que el usuario se mueva por la aplicación mientras espera a que se complete la generación del vídeo. Una vez implementada la nueva versión de Recuérdame, esta fue evaluada por los usuarios finales. Las futuras mejoras que surgieron de esta evaluación fueron: El campo que muestra el número de sesiones desde el anterior informe a veces contiene información errónea y debe ser revisado. Añadir notificaciones flash como nuevo sistema de notificaciones para evitar que la actualización de la página provoque que se muestren notificaciones pa- sadas. Informar cuando la generación de un vídeo finalice. Modificar el vinculado de cuidadores a un paciente como alternativa a la mues- tra de todos los cuidadores. Incorporar un sistema de mensajería terapeuta-cuidador para facilitar su co- municación. Pistas generadas de forma automática para los pacientes para apoyarles en caso de que tengan problemas para rememorar un recuerdo 3.4. Aplicaciones relacionadas 21 Chat bot que pueda hacer de terapeuta y de soporte a los cuidadores sin la necesidad de acudir a un terapeuta real. Al finalizar el desarrollo, quedaron varias tareas que por motivos de tiempo no pudieron ser finalizadas, estas forman parte del trabajo que realizaremos en este TFG: Añadir ubicación, como herramienta para los usuarios que permitiría locali- zar en un mapa los lugares donde se desarrollan los recuerdos tratados durante las sesiones. Visualizar imágenes, una herramienta para visualizar las imágenes de for- ma sencilla e interactiva ampliándolas por encima del resto de los elementos visuales de la vista, ofreciendo la posibilidad examinarlas en detalle. Entrenar una IA para generar los resúmenes, para evitar la dependencia de ChatGPT, esto permitiría controlar los textos de salida, adecuándolos al contexto de una sesión de terapia de reminiscencia y eliminando el uso de una clave de API que tiene peticiones gratuitas limitadas. Validación de los resúmenes generados para los vídeos narrados, ya que esta se genera de manera automática de forma independiente puede resultar en un texto que no sea adecuado desde el punto de vista del terapeuta, para evitarlo es necesario que el resumen generado pueda ser visualizado y editado antes de convertirlo en audio. Corregir la sincronización del audio con el vídeo para evitar que la voz narradora esté desacompasada con las imágenes mostradas durante el vídeo, lo cual puede dificultar el entendimiento del contenido de la historia de vida. Compatibilidad, es necesario mejorar la compatibilidad con diferentes pla- taformas, sobre todo en el apartado visual, existen varios problemas con los distintos dispositivos con tamaños de pantalla diferentes y navegadores que pueden tener problemas para cargar las vistas de la aplicación. Legalidad, al manejar datos personales es necesario asegurarse de que se cumple la legislación europea en materia de protección de datos personales (RGPD), sobre todo si la aplicación pretende usarse en un contexto de trabajo con datos de personas reales, los cuales no pueden verse comprometidos. Capı́tulo 4 Metodología de gestión del proyecto: Kanban Hemos decidido utilizar la metodología de trabajo ágil Kanban. Esta metodo- logía tiene un enfoque altamente visual y flexible para la gestión de proyectos. Su componente central es un tablero Kanban, en el cual podremos visualizar las tareas que se van a realizar y la etapa que se encuentra cada una. En Kanban para mantener un flujo de trabajo más equilibrado, establecemos el WIP (Work In Progress), que es el número máximo de tareas que se pueden trabajar simultáneamente en una etapa. El equipo se va a mantener actualizado sobre el progreso y obstáculos que nos enfrentamos a través de las reuniones semanales que se van a realizar, de esta manera se podrá saber lo que esta haciendo cada miembro y cuál es el mayor obstáculo que se ha encontrado hasta el momento. A parte de las reuniones semanales, se realizarán reuniones de retrospectiva donde el equipo reflexionará sobre el proceso realizado y se buscarán maneras de mejorarlo. Aplicar esta metodología promueve la adaptación y mejora continua del proceso, debido a que siempre se va a poder mejorar en alguna área y se realizarán ajustes para optimizar el flujo de trabajo. 4.1. Tablero Kanban La herramienta donde el equipo decidió situar el tablero Kanban fue Github Projects, debido a que el código de la aplicación se encontraba en Github. De esta manera se centralizaría el desarrollo de la aplicación. Para ese tablero se definieron 5 columnas, que representan los distintos estados que se puede encontrar una tarea. El resultado final de este tablero con las 5 columnas se puede visualizar en la figura 4.1. “Pendientes”: se encuentran las tareas que aún no se han comenzado y no están asignadas a ningún miembro del equipo. “En progreso”: columna donde se sitúan las tareas que han sido asignadas a un 23 24 Capítulo 4. Metodología de gestión del proyecto: Kanban miembro y que se encuentran en desarrollo. “Revisión”: esta columna contiene las tareas que ya han sido desarrolladas pero que deben ser revisadas por el resto del equipo para verificar que se han completado correctamente. La revisión de estas tareas incluirá pruebas de sistema, las cuales estarán documentadas y serán realizadas por el creador de la Issue. En caso de encontrar algún error, el creador notificará al miembro que desarrolló la Issue. “Terminadas”: encontraremos las tareas que ya han sido desarrolladas y veri- ficadas por el equipo, a la espera de aprobación y retroalimentación por parte de las directoras del proyecto. “Aceptadas”: aquí se encontraran todas aquellas tareas que han sido aprobadas por las directoras del proyecto. Figura 4.1: Tablero Kanban de Recuérdame 3.0 Además, hicimos uso de las clases de servicio, herramientas que nos ayudan a definir como tratamos una categoría de tareas en nuestro tablero Kanban1. Las cla- ses de servicio nos ayudan a definir el tratamiento y organización de tareas según su prioridad. En nuestro proyecto, las tareas creadas se representan como Issues, mien- tras que las clases de servicio se reflejan como labels, visibles debajo de cada tarea en el tablero. Estas labels nos ayudarán a organizar las tareas según su prioridad. En nuestro tablero las clases de servicio se identifican mediante colores y tendremos 3 de ellas, ordenadas de mayor a menor prioridad en el tablero: “Urgente”: Tareas cuyo Cost of Delay (CoD) es alto desde el inicio y en cuanto más se retrasa mayor sera su CoD, por lo tanto se colocarán en la parte superior del tablero. Tendrán prioridad sobre tareas con otras clases de servicio. 1https://blog.adapt.works/es/cuales-son-las-clases-de-servicio-de-kanban/ https://blog.adapt.works/es/cuales-son-las-clases-de-servicio-de-kanban/ 4.2. Políticas Explícitas 25 “Estándar”: Tareas cuyo Cost of Delay (CoD) va aumentando conforme pasa el tiempo, no tienen un tratamiento especial ya que son atendidas después de las de clase de servicio “Urgente”. Esta es la clase de servicio por defecto para todas las tareas del tablero. “Fecha Limite”: Tareas que tengan establecido una fecha limite, la cual estará escrita en la descripción de la tarea. Al principio su Cost of Delay (CoD) es bajo, pero después de la fecha límite este será muy alto. Estas tareas se revisarán en cada reunión semanal, para asegurarnos que no queden olvidadas. 4.2. Políticas Explícitas En Kanban las políticas explícitas son reglas que se encuentran claramente defi- nidas y que deben ser visibles fácilmente para todo el equipo, de esta manera todos los integrantes entenderán como proceder durante el proyecto. Se establecerán una serie de normas que serán acordadas por todo el equipo (y que cambiarán según las necesidades del proyecto durante su evolución) que estarán claramente definidas, serán visibles en el tablero del proyecto y podrán ser modificables. Las políticas explícitas definidas pueden verse en la figura 4.2: Figura 4.2: Políticas Explícitas de Recuérdame 3.0 Se realizará una reunión semanal cada domingo a las 9:00 am y con el tablero de trabajo actualizado. Durante la reunión cada miembro hablará de sus avances durante la semana y en caso de haberle surgido algún problema o duda con alguna tarea lo informará. También se definirán los objetivos a conseguir de cara a la siguiente reunión semanal, estos objetivos se encontrarán visibles en 26 Capítulo 4. Metodología de gestión del proyecto: Kanban el canal de discord a través del canal de texto objetivossemana. Estas reuniones se realizarán a través del servidor de Discord llamado “TFG-Recuérdame 3.0”. Todos los miembros deben tener al menos una tarea asignada. Cada miembro puede asignarse cualquier tarea, a excepción de aquellas que haya creado él mismo. El límite de trabajo, Work In Progress (WIP), será de 8 tareas en la columna “En progreso”. Se asignarán dos tareas a cada integrante, una de memoria y otra de código. De este modo, en el caso de que un miembro se quede atascado en una tarea de código, tiene la opción de cambiar a realizar la tarea de memoria que tiene asignada. Cuando otro integrante disponga del tiempo para poder ayudarle, se tratará de finalizar la tarea donde no pudo avanzar. El límite de trabajo en la columna de “Revisión” será de 4 tareas, debido a que será 1 tarea para cada integrante, que puede ser de código o de memoria. Se moverá una tarea de asignado a revisión una vez que la persona asignada considere que la tarea está terminada. Para cambiar la etapa de una tarea de revisión a terminada, esta debe haber sido revisada por el creador de la tarea (issue) y verificada mediante las pruebas correspondientes, las cuales se detallan en la sección 7.1. Si se encuentran errores inesperados, se anotarán como comentario en la Issue y se notificará al desarrollador de la tarea sobre los fallos encontrados. En caso contrario, el creador de la Issue moverá la tarea a la columna de “Terminadas”. Si existe alguna duda sobre la verificación de una tarea, se le agregará el texto “DUDA:” al principio del nombre de la tarea, para luego poder preguntar a las directoras del proyecto. Las tareas que se encuentran en “Revisión” se les dará prioridad sobre las tareas que se encuentran en la columna “Pendientes”. Por lo tanto, ningún miembro del equipo podrá asignarse una nueva tarea hasta que haya completado la revisión de la tarea que le corresponde. En el grupo de WhatsApp “Recuérdame 3.0”, donde solamente el administrador tiene permiso para escribir, se realizaran todas las comunicaciones acerca de reuniones o mensajes que se consideren importantes. El administrador va a ir cambiando después de cada reunión de revisión con las directoras del proyecto. El resto de mensajes solicitando ayuda o comunicaciones entre los miembros del equipo se realizarán a través del grupo de WhatsApp “TFG-Recuérdame 3.0”. Un día antes de realizar las reuniones semanales se establecerán sus objetivos a través del grupo de WhatsApp “TFG - Recuérdame 3.0”. Después de cada reunión de revisión con Virginia y Susana, el equipo decidirá que día reunirse para realizar una reunión de retrospectiva, para decidir que 4.3. Reuniones de Retrospectiva 27 se puede mejorar en el proceso de desarrollo para la siguiente reunión de revi- sión con las directoras del proyecto. El miembro que organizará la reunión se escogerá de manera aleatoria y no se repetirán organizadores hasta que todos los integrantes hayan hecho una. En el canal de texto accionesmejoraretrospectiva dentro del servidor de discord “TFG-Recuérdame 3.0”, se registraran todas las acciones de mejora propuestas al final de cada reunión de retrospectiva. Antes de enviar la memoria a Virginia y Susana, todos los miembros del equipo deberán leerla y corregirla en caso de encontrar algún error o incoherencia. Al pasar una tarea a terminada, debe cerrarse la issue asociada a dicha tarea 4.3. Reuniones de Retrospectiva Las reuniones de retrospectiva representan una práctica fundamental en el con- texto ágil, permitiéndonos mejorar de manera colectiva y evolucionar de forma con- tinua. Estas sesiones son imprescindibles para mantener nuestro rendimiento en el nivel óptimo que buscamos. 2 En estas reuniones participan todos los miembros del equipo, siendo dirigidas por uno de ellos. El propósito central es reflexionar sobre las acciones que no han funcionado bien y encontrar maneras de mejorarlas. Asimismo, se busca potenciar aquellas buenas acciones positivas que han contribuido al progreso. Para llevar a cabo estas reuniones hemos aplicado diversas técnicas, las cuales están diseñadas para aumentar la moral de todos los integrantes del equipo, mante- niéndolos motivados al garantizar que sus opiniones serán escuchadas. Al expresar sus ideas, podemos elaborar acciones especificas para mejorar en el futuro. Al principio del proyecto, se decidió que una persona sería responsable de dirigir cada reunión. Esta responsabilidad se rotaba entre los miembros del equipo: Steven, Rubén, Eduardo y Samuel. La rotación se estableció de manera aleatoria. Además, programamos las reuniones para que se realizaran en los días posteriores a las reunio- nes con las directoras del proyecto, Virginia y Susana, de esta manera podríamos analizar el proceso desarrollado y buscar acciones para la mejora continua. 4.3.1. Retrospectiva del 1 de Octubre de 2023 Steven organizó la primera reunión de retrospectiva. Para iniciar, llevamos a ca- bo una dinámica para fortalecer la conexión entre los miembros y crear un ambiente relajado con el cual conseguir respuestas más sinceras durante la retrospectiva. La dinámica consistía en formular preguntas personales a cada uno de los integrantes, con el fin de conocernos más en profundidad. En total, se realizaron 12 preguntas di- vididas en tres categorías. Las primeras cuatro eran preguntas enfocadas en conocer a cada miembro de una manera más generalizada: 2https://scrum.menzinsky.com/2021/02/como-funciona-una-retrospectiva-en.html?m =1 https://scrum.menzinsky.com/2021/02/como-funciona-una-retrospectiva-en.html?m=1 https://scrum.menzinsky.com/2021/02/como-funciona-una-retrospectiva-en.html?m=1 28 Capítulo 4. Metodología de gestión del proyecto: Kanban ¿Cuál es tu talento oculto?. Si pudieras ser un personaje de ficción por un día ¿Cuál serías?. Qué es lo más loco que has hecho por diversión?. ¿Prefieres los juegos de equipo o individuales?. Las siguientes cinco preguntas se enfocaron en aspectos más personales: ¿Por qué estas más agradecido?. ¿Cuál es tu mayor lección de vida hasta ahora y como te ha cambiado?. si pudieras cenar con un famoso, ¿con quién sería y por qué?. ¿Cuál es tu mayor debilidad y cómo la estás trabajando?. ¿Cuál es tu mayor deseo para el futuro y qué estás haciendo para lograrlo?. Las siguientes 3 preguntas se centraron en los enfoques individuales hacia nuestro proyecto de fin de grado. Las preguntas fueron: ¿Qué tipo de roles o responsabilidades te gustaría asumir en el equipo?. ¿Cuál es tu estilo de trabajo preferido y cómo podemos adaptarnos para tra- bajar de manera más efectiva?. ¿Cómo prefieres recibir feedback y cómo podemos asegurarnos de que todos nos sintamos cómodos compartiéndolo?. Los objetivos de esta dinámica eran: Conocernos en mayor profundidad, porque aunque ya hemos trabajado juntos anteriormente, siempre hay más por descubrir entre nosotros. Crear un ambiente relajado que permitiera dar respuestas sinceras durante la retrospectiva. Conocer las preferencias de trabajo de cada integrante, para encontrar un punto intermedio donde todos nos sintamos cómodos y motivados. Somos conscientes que este proyecto reclamará más tiempo de lo que estamos preparados, pero no queremos que sea una experiencia estresante sino todo lo con- trario, que sea una experiencia enriquecedora y donde podamos mejorar nuestros conocimientos en varios campos, como puede ser la redacción, la gestión del trabajo y desarrollo de código. Durante la dinámica, cada miembro se tomó el tiempo necesario para responder y escuchar a los demás. En cuanto a las preguntas y respuestas de cada miembro, Steven se encargo de anotar las respuestas, se puede consultar el resultado de la 4.3. Reuniones de Retrospectiva 29 dinámica en el apéndice A. Respecto a los resultados, la dinámica logró alcanzar sus objetivos. Conseguimos crear un ambiente relajado en el que profundizar en nuestros conocimientos y conocer la preferencia de trabajo de cada integrante. Pudimos concluir lo siguiente: Durante el desarrollo del proyecto mantendremos una comunicación constante. Estamos dispuestos a enfocarnos en memoria o código según las necesidades de cada semana. El feedback lo daremos de manera oral durante las reuniones semanales. Después de la dinámica de grupo, Steven decidió llevar a cabo la retrospectiva, utilizando la técnica del “velero”, que podemos observar en la figura 4.3. Esta técnica se centra en identificar aquello que ayuda o impide el progreso del equipo hacia su objetivo, de una manera similar a como un velero se mueve en función de lo que le impulsa y las fuerzas que lo detienen. Durante la retrospectiva, se representó al equipo como un velero en un escenario con varios elementos: el viento, que representa lo que impulsa al equipo hacia adelante y hacia el logro de nuestro objetivo, el ancla representa aquellos obstáculos que frenan el avance, los iceberg, identifican aquellos riesgos que vamos a encontrar durante el camino, el sol que refleja aquello que nos da seguridad y ,por último, la isla representa el destino final del proyecto: el logro de un trabajo de fin de grado de calidad y que mejore significativamente la aplicación Recuérdame 2.0. Durante la retrospectiva utilizamos turnos aleatorios para abordar y completar cada uno de los puntos del velero. El resultado final de la reunión se muestra en la figura 4.4. Figura 4.3: Representación de la técnica del velero Como nos encontrábamos motivados, empezamos con el apartado del iceberg, es decir, aquellos riesgos que vamos a encontrar durante el camino hacia nuestro objetivo. Identificamos los siguientes puntos en este : La carga de trabajo entre asignaturas, trabajo y proyecto, ya que otras res- ponsabilidades pueden impactar en nuestro desempeño. 30 Capítulo 4. Metodología de gestión del proyecto: Kanban Figura 4.4: Resultado retrospectiva del velero realizada el 01/10/2023 El cansancio relacionado con la finalización del Trabajo de Fin de Grado (TFG) y cursar nuestro ultimo año de universidad, considerando el agotamiento men- tal y físico que esto puede causar. Posible bloqueo en tareas especificas que pueden ralentizar el avance del pro- yecto. La sobrecarga de trabajo cara a la siguiente reunión con las directoras, donde debemos ser realistas con las directoras y nosotros mismos a cerca de el trabajo máximo que podemos asignarnos. Problemas con aplicaciones externas, en particular, las dificultades experimen- tadas con Creatomate para la generación de vídeos. 4.3. Reuniones de Retrospectiva 31 A continuación, abordamos el apartado del ancla, donde discutimos sobre aque- llos factores que nos frenan. Los puntos encontrados aquí fueron los siguientes: Entendimiento de la aplicación, ya que al ser un proyecto heredado de otros equipos, debemos familiarizarnos con la estructura de carpetas, los procesos de envío de formularios y las variables utilizadas, entre otros aspectos. Aprendizaje de nuevas tecnologías como Látex y PHP, lo que requiere tiempo para adquirir habilidades y puede provocar retraso en las tareas al necesitar entender la teoría antes de aplicarla prácticamente. La disparidad de horarios durante este año, ya que son escasas las horas en las que todos estamos libres, lo cual provoca la imposibilidad de realizar reuniones presenciales. Seguidamente exploramos el apartado del viento, donde discutimos lo que im- pulsa al equipo hacia el logro de nuestro objetivo. Los puntos identificados fueron: Nuestra experiencia previa trabajando juntos nos permite saber nuestros mé- todos de trabajo individuales. El entusiasmo inicial por empezar el proyecto nos brinda una alta energía, debemos aprovecharla y centrarnos en mantenerla. El apoyo de las directoras, Virginia y Susana, asegura la calidad del trabajo que realizaremos. La comunicación interna del equipo es clave para resolver posibles problemas durante el desarrollo del proyecto. Conocer a los autores de la versión anterior de “Recuérdame 2.0” nos da la posibilidad de acudir a ellos y consultarles sobre aspectos del proyecto que no comprendemos. Finalmente, discutimos el apartado del sol, es decir, aquellas cosas que nos brindan seguridad y bienestar. Los puntos que identificamos en este apartado fueron los siguientes: El buen ambiente de trabajo que existe debido a nuestra larga trayectoria juntos durante la carrera. La especialización de cada integrante en áreas específicas del proyecto, lo cual nos permite resolver cualquier tarea con el apoyo y colaboración de los demás. La proactividad en ayudarnos mutuamente, lo cual beneficia a la calidad del proyecto al garantizar un esfuerzo conjunto. La disponibilidad de tecnología de calidad en nuestros hogares, ofrecida para realizar pruebas del proyecto. Todos contamos con ordenadores de alto rendi- miento para llevar a cabo todas las pruebas oportunas al proyecto sin necesidad de que alguna de estas falle.. 32 Capítulo 4. Metodología de gestión del proyecto: Kanban Una vez realizada la reunión de retrospectiva. Se discutió entre los miembros del equipo cuales son las acciones de mejora propuestas. Estas fueron: Debido a los diferentes horarios del equipo, se realizaran reuniones extraordi- narias en los momentos libres de los participantes y la cual será desarrollada de manera online a través del canal de Discord llamado “TFG-Recuérdame 3.0”. Para el aprendizaje de nuevas tecnologías se ha propuesto observar tutoriales básicos a cerca del tema a aprender. Si alguien un área de especialización, lo comunicará al equipo para enfocarse en ello. Toda ayuda que utilicemos para el aprendizaje y desarrollo de las tareas, deberá estar referenciada en la bibliografía del proyecto. Debemos tener en cuenta la carga de trabajo entre asignaturas, trabajo y proyecto, por lo tanto, podremos posponer las reuniones con las directoras o no entregar todas las tareas a tiempo si es necesario. En caso de que un integrante se encuentre bloqueado con una tarea, este lo comunicará a través de WhatsApp en el grupo de “TFG-Recuérdame 3.0” y la ayuda que recibirá será primero de un integrante, si los dos integrantes no pueden resolver la tarea, solicitarán ayuda a un integrante más y en caso de tampoco poder solucionarlo, se pondrán con la tarea todos los integrantes del grupo. De esta manera se evitará que todos los miembros estén trabajando con una misma tarea bloqueada y se podrá agilizar la solución al bloqueo ocasionado Para facilitar el entendimiento de la aplicación, en caso de que algún miembro no consiga comprender algún punto de la aplicación, si alguien del equipo lo sabe, este le enseñara como es el funcionamiento. Si existe el caso de que nadie lo sabe, este miembro se comprometerá a entenderlo por su cuenta y una vez lo haya comprendido, este va a compartir el nuevo conocimiento adquirido con el resto del equipo. Si llega a ocurrir que dicho miembro aún habiendo investigado no consigue comprender la aplicación, solicitará ayuda a los autores de la versión anterior de “Recuérdame 2.0”. 4.3.2. Retrospectiva del 29 de Octubre de 2023 La segunda reunión de retrospectiva fue organizada por Rubén, quien decidió realizar un análisis FODA como actividad de retrospectiva. El análisis FODA (For- talezas, Oportunidades, Debilidades y Amenazas) tiene como objetivo evaluar el desempeño actual del equipo y concretar nuevas políticas que ayuden a mejorarlo. Para realizar un análisis FODA, se divide un tablero en cuatro cuadrantes y a cada uno se le asigna una de las iniciales de FODA, entonces el equipo propone aspectos del trabajo realizado por el equipo hasta entonces que puedan corresponder a una de las iniciales y se coloca en el cuadrante que corresponda. Al terminar las pro- puestas, el equipo analiza y discute en base a los resultados, mostrando cada uno de los miembros su punto de vista sobre el trabajo realizado y proponiendo cambios que puedan ayudar al equipo. 4.3. Reuniones de Retrospectiva 33 La reunión comenzó con la explicación de la actividad por parte de Rubén al resto de los miembros del equipo, acto seguido se presentó el tablero ya dividido y se propusieron diferentes ideas por parte de cada miembro del grupo, empezando con aspectos correspondientes a la parte de arriba del tablero (Fortalezas y Debili- dades) y finalizando con los correspondientes a la parte de abajo (Oportunidades y Amenazas), el resultado final fue el que se puede ver en la figura 4.5 Figura 4.5: Resultado análisis FODA realizado el 29/10/2023 Entre nuestras Fortalezas destacaron el hecho de que siempre nos hemos ayudado entre nosotros cada vez que lo hemos necesitado y que las directoras del TFG se han mostrado atentas y disponibles para cualquier duda o problema que nos surgiese. En lo que se refiere a las Debilidades, fue especialmente relevante nuestra dificultad a la hora de redactar la memoria, la cual quedo con muchos fallos, la carencia de una política SQA definida y plasmada en texto, lo cual fue un problema para la calidad y la falta de una revisión adecuada de las tareas, especialmente por parte de alguien que no se haya encargado de la propia tarea, otra debilidad importante fue la generalización de las tareas, lo que provocaba que algunas tareas fueran excesiva- mente complejas, mientras que otras eran demasiado sencillas como para constituir 34 Capítulo 4. Metodología de gestión del proyecto: Kanban una tarea. En cuanto a las Oportunidades, nos fijamos en que teníamos un servidor privado, proporcionado por Samuel, que nos permitiría alojar la aplicación para su acceso online en el caso de que no pudiéramos disponer de un servidor proporcionado por la universidad, también tuvimos en cuenta las nuevas tecnologías basadas en la inteligencia artificial que se han desarrollado recientemente y podrían ser de gran ayuda en un futuro. Entre las amenazas, destacamos el trabajo externo al TFG, el cual podría reducir el tiempo dedicado al TFG o dificultar el establecimiento de fechas para reuniones y que podría darse el caso de que las API utilizadas por la aplicación dejasen de estar disponibles sin manera de recuperarlas. Al finalizar. Los miembros del equipo tuvimos un debate sobre propuestas de mejora. Se tomaron las siguientes decisiones: Debemos definir nuestra política de SQA para tener claro que estándares debe cumplir una tarea para ser marcada como completada. Para mejorar y organizar la revisión de las tareas aprovecharemos las issues de Github, las cuales mandan siempre un aviso al creador de las mismas cada vez que alguien realiza un comentario en ellas. Para utilizar estos avisos a nuestro favor, el creador de una tarea no podrá realizarla, pero será el encargado de revisarla cuando reciba el aviso por parte de Github de que la tarea ha sido realizada por otro miembro del equipo. Para evitar desequilibrios en la carga de trabajo, se intentará, siempre que sea posible, que cada miembro del equipo cree el mismo número de issues. Una tarea solo podrá ser marcada como completada por su creador. Para aprovechar mejor las reuniones, se establecerán sus objetivos un día antes de realizarlas, también se especificará su duración o se modificará el día/hora de la misma en caso de ser necesario. Para evitar la generalización de tareas, dividiremos aquellas tareas que resulten demasiado largas o complejas en varias tareas más sencillas. Los miembros del equipo aprenderemos LATEXsobre la marcha y compartiremos los conocimientos que adquiramos con el resto del equipo para mejorar nuestro desempeño, esto también aplica para el resto de tecnologías que estaremos utilizando. Para evitar problemas derivados del trabajo externo al TFG, los miembros del equipo comunicarán al resto del equipo en el caso de que por razones externas no estén disponibles para asistir a alguna reunión, o su trabajo en el TFG pueda verse afectado. En caso de no poder disponer de un servidor proporcionado por la Universidad Complutense, aprovecharemos el servidor privado del que disponemos. Tras la actividad de retrospectiva, Rubén propuso una dinámica de grupo que nos ayudase a mejorar nuestra capacidad para redactar la memoria. La actividad 4.3. Reuniones de Retrospectiva 35 propuesta fue la dinámica del Cuento Colectivo, esta tiene como objetivo mejorar la comunicación escrita entre los miembros del equipo, la comprensión lectora y la redacción e imaginación a la hora de escribir textos. Esta actividad consiste en escribir un cuento con la participación de todo los miembros del equipo, cada uno de los cuales debe escribir en orden un fragmento del mismo, tratando de mantener siempre la coherencia y un hilo narrativo. Se decidió que cada miembro escribiría una oración corta en menos de treinta segundos, dando paso al siguiente miembro el cual leería todo lo escrito y añadiría su propia oración. Continuaríamos el cuento por turnos hasta que se decidiese que la historia estaba finalizada. Tras concluir que la historia estaba finalizada, Rubén la leyó en alto para todos los miembros del equipo siendo el resultado final el siguiente: Corría el año 2076, Pepe caminaba con prisa por las calles de un Madrid futurista. Mientras pasaba por las calles llenas de gente y robots tropezó con Emma, una alienígena del planeta Tergadeen b. Empezaron una conversación, que sin saber cómo, terminó en una invitación de Emma a Pepe hacia su casa. Una vez en casa, Pepe no dudó y le pidió el LinkedIn a Emma para ampliar la red intergaláctica. Gracias a su astucia y a la ayuda de Emma, Pepe obtuvo un nuevo trabajo como transportista espacial. Tomó rumbo hacía el planeta de Emma junto a ella para realizar la entrega de un adaptador multiver- se de frecuencia. Durante el trayecto, Pepe se percató que su furgoneta intergaláctica se quedaba sin gasolina eléctrica galáctica. Debido a la angustia que eso le provocaba decidió bailar breakdance, asustando fuer- temente a Emma. Ante tal acontecimiento, Emma solamente pudo hacer una cosa, rápidamente tomó su Iphone 71 Pro MAX Ultra Definitive Fuji Apple Edition X Extra y llamó a la policía galáctica. La policía transga- láctica acudió rápidamente y entró en la nave de Emma con las armas en las manos. Cuando la policía entró, se pudo percatar que Pepe era uno de los criminales más buscados a nivel intergaláctico. Le detuvieron acusándole de fuga espacial y sacar los pasos prohibidos sin licencia. Al final Pepe terminó sin dinero, sin trabajo y sin Emma, la moraleja de esta historia es: No confíes en Tergadeenbenenses porque acabas en la cárcel. Una vez finalizado el cuento, nos dispusimos a analizarlo y evaluarlo, las conclu- siones extraídas fueron las siguientes: Lo positivo: la historia fue original y entretenida a la vez que contó con unos cuantos elementos sorpresa como el hecho de que Pepe era un criminal buscado, todo esto mientras se mantenía una narración fluida y fácil de seguir por el lector. Lo negativo: se dieron pocos detalles sobre el mundo en el que se desarrollaba la historia, la trama a veces saltaba de manera abrupta de un evento a otro, faltó algo de desarrollo de los personajes (su pasado, sus objetivos, ...) y el final fue precipitado y dejó preguntas sin responder (¿que le ocurrió a Emma?). 36 Capítulo 4. Metodología de gestión del proyecto: Kanban 4.3.3. Retrospectiva del 3 de Diciembre de 2023 La tercera reunión de retrospectiva fue organizada por Eduardo y se utilizó la técnica de la Estrella de mar3. Dicha técnica consiste en usar un diagrama de líneas con forma de estrella para poder separar en 5 áreas los temas a tratar en el equipo. Las áreas son: Seguir haciendo: En esta sección se especifican las acciones que están funcio- nando bien y que el equipo debería seguir realizando para mantener o mejorar la eficiencia del trabajo. Hacer más: Esta sección se centra en intensificar ciertas acciones o actividades que están siendo beneficiosas para el equipo y que podrían contribuir aún mas al trabajo. Empezar a hacer: En esta sección se identifican las acciones positivas que el equipo debería implementar o adoptar en un futuro para mejorar el rendimien- to. Hacer menos: Esta sección se centra en identificar que acciones no están resul- tando como se esperaba y que podrían tener impacto negativo en el equipo, es preferible evitarlas. Dejar de hacer: En esta sección se identifican las acciones que no son benefi- ciosas o no son útiles para el equipo y deben ser modificadas o eliminadas. Los miembros del equipo son los encargados de rellenar la estrella por turnos que designó el organizador previamente. Durante cada turno, los miembros colocaron una idea sobre la parte de la estrella que consideraban más adecuada, para realizar más tarde un debate entre todo el equipo sobre la idea propuesta, de esta manera se evaluaba si el tema debía quedarse en esa sección de la estrella, buscar una solución o la manera de mantenerla en el tiempo. Este procedimiento se siguió hasta que todos los miembros del equipo no tuvieran más temas que tratar. El resultado de esta retrospectiva se puede ver en la imagen 4.6. En el apartado de “Comenzar a hacer”, destaca el hecho de mejorar la revisión de la memoria, el método que se tenía no estaba dando buenos resultados y el organi- zador de la retrospectiva propuso afrontar las nuevas revisiones una vez acabada la dinámica posterior a la reunión, ya que podía servir como una nueva forma de hacer revisiones de memoria. Entre otros temas, se propuso trabajar directamente en el servidor de la maquina virtual proporcionada por la UCM, de esta manera todos los cambios que se hagan en la base de datos quedarán guardados y el equipo podrá verlos al instante. Por último, acordamos mencionar las dudas que nos surgieran a Virginia y Susana, ya que hasta el momento se esperaba a la reunión con ellas para mencionarlas y algunas eran bloqueadoras de tareas, se acordó que si aparecen dudas importantes tendremos que escribir correos para no paralizar las tareas de código. 3https://www.elartedepresentar.com/2015/06/la-retrospectiva-estrella-de-mar/ https://www.elartedepresentar.com/2015/06/la-retrospectiva-estrella-de-mar/ 4.3. Reuniones de Retrospectiva 37 Figura 4.6: Resultado de la reunión de retrospectiva con el método “Estrella de Mar” realizada el 03/12/2023 En el apartado de “Más de”, nos pusimos de acuerdo en desarrollar más la apli- cación con las tareas de código debido a que habíamos hecho poco en comparación al nivel que tenemos de programación web, cabe destacar que acordamos seguir al pie de la letra las políticas explícitas mientras se realizan las tareas, ya que dichas políticas fueron creadas en el transcurso de la pasada reunión y esta. En el apartado de “Seguir haciendo”, se remarca el buen trabajo y los buenos resultados que dan las dinámicas grupales, generando buen ambiente y positivismo en el grupo, lo que cual fomenta que pidamos ayuda no solo para tareas del proyecto, si no para apoyarnos en otros aspectos de la carrera, que influyen indirectamente al trabajo de desarrollo en Recuérdame 3.0. En el apartado de “Menos de”, se habló sobre el hecho del retraso de tareas tanto en código como en memoria por diversos motivos, ya sea por aclaración de dudas, bloqueo en resolución de problemas de código etc. Para enfrentar este obstáculo se dejó claro que sería difícil que se volviera a repetir ya que con todas las reglas y normas que hemos acordado, dejar de lado tareas no iba a ser una opción. En el apartado de “Dejar de hacer”, no se volverán a dejar dudas importantes, del cual depende la realización de las tareas, para mencionarlas con Virginia y Susana en la próxima reunión, mejor se escribirán por correo como ya se ha mencionado en el apartado de “Comenzar a hacer”. Como las políticas explícitas se redactaron durante el trascurso de la pasada reunión y esta, algunos miembros del equipo no 38 Capítulo 4. Metodología de gestión del proyecto: Kanban han seguido las normas para una correcta revisión de código y memoria, por ello, una vez aclaradas todas las políticas no deberá volver a repetirse este error. Tras la reunión de retrospectiva, Eduardo realizó una dinámica grupal que nos ayudase a mejorar nuestra capacidad para revisar la memoria. La actividad propues- ta fue apodada como “Cuento de Erratas”, tiene como objetivo mejorar la calidad de revisión de textos de los miembros del equipo, la comprensión lectora y la atención en la ortografía. La actividad comenzó con el organizador explicando la actividad al resto del equipo, debían leer un cuento inventado por Eduardo, el cual había modifi- cado para que tuviera X número de erratas, el resto del equipo tenía 5 minutos para leer el cuento y apuntar el máximo números de erratas que encontrara. Al finalizar el tiempo, Eduardo diría el número real de erratas y se pondría en común los errores que el equipo ha encontrado. El límite de 5 minutos se estableció para incentivar al equipo a leer a cierta velocidad mientras prestaba atención a la coherencia y errores del texto, además que se trataba de un cuento breve. La actividad no duró más de 15 minutos pero dejó unos resultados muy intere- santes. Cuando llegó la puesta en común de errores, cada miembro obtuvo un número distinto de erratas, Steven encontró 5, Samuel 8 y Rubén dijo 10. A pesar que todos tuvieron el mismo tiempo y leyeron lo mismo, hubo una sorpresa generalizada al descubrir que a la hora de mencionar los errores, a veces coincidían grupalmente y otras se ponía en duda que realmente fuera una errata, incluso algún miembro quiso poner a debate otras palabras no señaladas como errata. Las conclusiones de la actividad fueron positivas ya que confirmaron los comentarios de las directoras del proyecto, que indicaban la falta de revisión a la hora de la entrega de memoria, se observó que el método aplicado a la revisión del TFG no era el correcto, ya que hasta el momento cuando un miembro del equipo acababa una parte de la memoria y avisaba el resto, otro miembro lo revisaba y era el encargado de dar el visto bueno a esa parte. Para la revisión general de toda la memoria solo una persona era la encargada de hacer dicha revisión antes de enviarla a las directoras. Para solventar este problema se propuso que se tratara la memoria como la dinámica, es decir, con el mismo método de revisión común. Cuando un compañero termine su parte asignada de memoria, se avisará al encargado de revisión de esa parte, sin embargo, antes de hacer el envío de toda la memoria, se establece una nueva política explícita, todos los miembros tendrán que leer toda la memoria y dar el visto bueno para poder mandarlo. De esta manera evitamos despistes y podemos abarcar más correcciones de errores que solo una persona. 4.3.4. Retrospectiva del 26 de Diciembre de 2023 La cuarta reunión de retrospectiva fue organizada por Samuel y para realizarla utilizó la técnica que se usa en su trabajo. Para ello replicó el tablero que utiliza en Azure y consta de tres columnas: Continuar haciendo: En esta sección se especifican las acciones que están fun- cionando bien y que el equipo debería seguir realizando para mantener o me- jorar la eficiencia del trabajo. Dejar de hacer: En esta sección tratamos las acciones que no funcionan correc- 4.3. Reuniones de Retrospectiva 39 tamente o están retrasando el objetivo final del equipo. Empezar a hacer: En esta sección se identifican las acciones positivas que el equipo debería implementar o adoptar en un futuro para mejorar el rendimien- to. Los miembros del equipo se encargan de identificar las acciones y clasificarlas en su correspondiente columna. Para ello, cada uno mencionará las acciones que se le ocurran y las clasificará, incluso si son similares a las expuestas por otro miembro. Una vez que todos los miembros hayan expuesto sus ideas, se buscan acciones en común por si faltase alguna. Después de que todas estén expuestas, se analizan por parte del equipo, y aquellas que son parecidas se agrupan en una única tarjeta. Por último, las acciones identificadas como “dejar de hacer” se analizan, y se proponen soluciones que podrán ser incluidas en la columna de “Empezar a hacer”. El equipo debe comprometerse a aplicar las mejoras en el siguiente sprint, y el resultado debe ser revisado al principio de la próxima retrospectiva. El resultado final puede verse en la siguiente imagen 4.7. Figura 4.7: Resultado de la reunión de retrospectiva con el método utilizado en una empresa realizada el 26/12/2023 En el apartado de “Continuar haciendo”, podemos comprobar que se ha mejorado el aspecto de la revisión de la memoria y que esto ha servido en gran medida al equipo en el último sprint. Por lo tanto, el equipo se compromete a continuar realizando esta acción positiva. Además, podemos ver que la revisión de tareas sigue siendo muy importante y ayuda a que el código se desarrolle de manera efectiva. Por último, también se menciona el hecho de terminar la memoria con tiempo suficiente para que Virginia y Susana puedan revisarla a tiempo de la reunión. En el apartado de “Dejar de hacer”, se vio que fallábamos en el aspecto de las referencias en la memoria, para lo cual el equipo se comprometió a fijarse más en este apartado para poder hacer unas citas y referencias correctas. En la misma línea nos encontramos con la dificultad para distinguir de manera adecuada la bibliografía y los pies de página, para lo que nos comprometimos a fijarnos en otros documentos con estas características. Por último, nos dimos cuenta de que estábamos retrasando las investigaciones y esto estaba retrasando el trabajo del equipo, por lo que se 40 Capítulo 4. Metodología de gestión del proyecto: Kanban decidió comenzar cuanto antes con estas investigaciones para poder desarrollar el código y arreglar los fallos lo antes posible. En el apartado de “Empezar a hacer”, decidimos que dedicar más tiempo a ter- minar las tareas iniciales era una prioridad que estaba un poco aparcada, y en este mes con las vacaciones de Navidad, dos miembros del equipo podrían dedicar más tiempo a este cometido. Por lo tanto, se comprometieron a avanzar lo máximo posi- ble. Para finalizar, como resultado de la evaluación de las tareas en dejar de hacer, se decidió que era importante terminar las investigaciones, por lo que se acuerda terminar estas investigaciones lo antes posible. Tras la reunión de retrospectiva, Samuel realizó dos dinámicas grupales enfocadas en mejorar la creatividad y la toma de decisiones del equipo de manera que nos ayudase con los problemas de código, ayudándonos a pensar de una manera diferente y poniendo diferentes puntos de vista. La primera actividad comenzó con Samuel explicando al resto de miembros del equipo el funcionamiento que consiste en que un miembro del grupo expone una de sus rutinas habituales, como por ejemplo lavarse los dientes. Posteriormente, el resto de miembros del equipo tenían que comentar esa actividad utilizando palabras poco comunes y extravagantes, haciendo además que la frase exagere esa rutina. Fue bastante bien, ya que el equipo consiguió el objetivo con frases y palabras poco comunes teniendo poco tiempo para pensar, haciendo frases como: “Te lavas tanto que de noche iluminas el pavimento”, dicha por Steven, o “Tu sonrisa ilumina tanto que la utilizan como focos en el Bernabéu”. Posteriormente, comenzamos la segunda actividad, con Samuel de nuevo explicando la dinámica, que consistía en explicar un proceso para que sea entendido por un niño de cinco años. En esta actividad, Samuel explicó cómo conducir un coche, Rubén nos habló acerca de cómo funciona el encendido de un ordenador, Steven nos comentó la arquitectura multicapa y Eduardo nos explicó como se fregaba el suelo de manera eficiente. El resultado de la actividad fue bueno, ya que conseguimos mejorar la seguridad en nosotros mismos y la velocidad a la hora de tomar decisiones con un pensamiento más creativo, confiando más en nuestros instintos. Al poner énfasis en la expresión de ideas de manera no convencional, la actividad contribuyó a diversificar las pers- pectivas dentro del equipo. Esto es beneficioso para abordar problemas de código, ya que diferentes puntos de vista pueden revelar soluciones alternativas y enfoques innovadores. Por otro lado, estas dinámicas fomentan el rompimiento de patrones de pensamiento. Esto puede ser beneficioso para el equipo al enfrentarse a desafíos técnicos, ya que pueden encontrar soluciones más simples y comprensibles. En resumen, estas dinámicas han aportado beneficios tangibles al equipo, mejo- rando la creatividad, diversificando las perspectivas, rompiendo patrones de pensa- miento, mejorando la comunicación y fortaleciendo el trabajo en equipo, todos ellos factores valiosos para abordar los desafíos en el desarrollo de código. 4.3.5. Retrospectiva del 29 de Enero de 2024 La quinta reunión de retrospectiva, organizada por Steven, incluyó una dinámica para familiarizar al equipo con la inteligencia artificial generativa y practicar la colaboración durante el sprint. Cada miembro asumió responsabilidades específicas, 4.3. Reuniones de Retrospectiva 41 dividiendo la creación de una historia en subtareas con la ayuda de IAs generativas asignadas por Steven: Samuel se encargó de la narrativa con ChatGPT. Rubén desarrolló los diálogos utilizando WriteSonic. Eduardo creó una imagen representativa con Stable Diffusion. Steven dio voz a los personajes usando Kits.ai. Las IAs seleccionadas fueron investigadas: WriteSonic como alternativa a ChatGPT para la creación de contenido, Stable Diffusion como opción similar a DALL-E para imágenes, y Kits.ai para dar voz y manipular los diálogos con variedad de opciones vocales. La historia, titulada “Un día en la vida de dos objetos inanimados, el teléfono y ordenador de un universitario en su último año”, fue desarrollada secuencialmente. Samuel redactó la narrativa, Rubén creó los diálogos basados en ella, Eduardo generó la imagen, y finalmente, Steven dio voz a los personajes. Tanto la narración como los diálogos se encuentran en el apéndice B. En cuanto a la imagen generada, la podemos visualizar en la figura 4.8 y los audios desarrollados se encuentran disponibles en la carpeta de drive “Audios dinámica 29 de Enero 2024”4. Una vez finalizadas las subtareas, nos reunimos para evaluar el resultado de la historia. Aunque los resultados de cada subtarea por separado fueron positivos, no- tamos que al combinarlos, no compartimos suficiente información, lo que afectó la cohesión del resultado final. Los diálogos no se alineaban con la narrativa generada, lo que a su vez afectó la calidad de las voces generadas. Este descubrimiento resalta la importancia de no enfocarnos únicamente en nuestras tareas individuales, sino de colaborar activamente y compartir avances con los compañeros. Concluimos que, aunque cada miembro puede desempeñar un papel destacado de manera individual, la falta de interés en el progreso del equipo puede resultar en un producto final de baja calidad y posiblemente inconsistente. Por lo tanto, es crucial que cada miem- bro se comprometa a estar al tanto del avance del equipo y asegurarse de que sus contribuciones estén alineadas con el resto del equipo. En cuanto a los resultados, la dinámica logró cumplir sus objetivos al proporcio- nar a cada miembro una experiencia práctica con diversas IAs generativas. También permitió practicar y visualizar los posibles errores al dividir el trabajo en subtareas. Una vez completada la dinámica en grupo, Steven optó por llevar a cabo la re- trospectiva utilizando la técnica de las 4 “L”, que se detalla en la figura 4.9. Esta metodología se centra en que los miembros del equipo identifiquen lo que les gus- tó (Liked), lo que aprendieron (Learned), lo que faltó (Lacked) y lo que anhelaron (Longed for) durante el último sprint. Esta técnica enfatiza resaltar los aspectos po- sitivos y comprender los negativos desde una perspectiva basada en hechos en lugar de emociones. Durante la retrospectiva, utilizamos turnos aleatorios para abordar y completar cada uno de los puntos de la técnica de las 4L. El resultado final de la reunión se presenta en la figura 4.10. 4https://drive.google.com/drive/folders/1KaMIi7m97EOJtD5BuQ6S32KtD-7LNMNO?usp= sharing https://drive.google.com/drive/folders/1KaMIi7m97EOJtD5BuQ6S32KtD-7LNMNO?usp=sharing https://drive.google.com/drive/folders/1KaMIi7m97EOJtD5BuQ6S32KtD-7LNMNO?usp=sharing 42 Capítulo 4. Metodología de gestión del proyecto: Kanban Figura 4.8: Imagen generada para la dinámica realizada el 29/01/2024 Decidimos comenzar discutiendo los aspectos positivos que encontramos durante el último sprint. Por esta razón, completamos las secciones de la izquierda (Liked y Learned). En la sección donde compartimos lo que nos gustó del sprint, identificamos los siguientes puntos: El avance que hemos tenido en el proyecto durante este sprint, ya que aunque la mayor parte del sprint solo podían trabajar Ruben y Samuel, pudimos avanzar bastante en el proyecto al tener mucho más claro cuales son los errores a evitar y que puntos debiamos mejorar. Nos gustó que hemos mejorado en la redacción de la memoría, ya que hemos ido aprendiendo de nuestros errores y por lo tanto hemos mejorado en este aspecto. Haber detectado errores en la app que opinamos que es mejor encontrarlos nosotros y saber como tratarlos a que en su lugar lo encuentren los terapeutas al enseñarles la aplicación final. Luego, discutimos lo que aprendimos durante el sprint, identificando la adquisi- ción de nuevos conocimientos, como se detalla a continuación: 4.3. Reuniones de Retrospectiva 43 Figura 4.9: Representación de la técnica de las 4L realizada el 29/01/2024 Figura 4.10: Resultado retrospectiva de las 4L realizada el 29/01/2024 Aprendimos a utilizar chart.js para crear gráficas. Adquirimos habilidades de programación necesarias para las tareas del calen- dario. Aprendimos cómo configurar y operar un servidor web en Windows. A continuación, abordamos lo que debemos mejorar para el próximo sprint, iden- tificando los siguientes puntos: Necesitamos revisar con más atención las tareas antes de realizarlas para evitar situaciones como las ocurridas con las tareas relacionadas al calendario, donde creímos que eran necesarias cuando en realidad no lo eran. 44 Capítulo 4. Metodología de gestión del proyecto: Kanban Reconocimos la necesidad de una comunicación más fluida entre nosotros para mantenernos al tanto de los avances en las tareas asignadas. Finalmente, discutimos lo que echamos de menos durante el último sprint. Ru- bén y Samuel señalaron que extrañaron la disponibilidad de sus compañeros, ya que Steven y Eduardo estaban ocupados con exámenes y no pudieron contribuir plenamente en las tareas. Una vez completadas las cuatro secciones de la retrospectiva, debatimos entre los miembros del equipo las acciones de mejora propuestas, que incluyeron: Para garantizar una revisión exhaustiva de las tareas, el responsable de la mis- ma deberá seguir con detenimiento el plan SQA en un plazo de 3 días. La revisión debe contemplar todos los escenarios posibles donde el nuevo desarro- llo podría tener un impacto. De igual manera, antes de comenzar la revisión, se verificará que la tarea no haya sido realizada con anterioridad o que ya no sea necesaria. Para optimizar el seguimiento del progreso individual y del equipo, se imple- mentará una comunicación fluida a través de nuestros canales habituales con una frecuencia de dos días. Cada miembro del equipo compartirá sus avances hasta el momento y sus objetivos para la próxima reunión, que se llevará a cabo cada domingo. Esta comunicación constante permitirá identificar y abor- dar de manera oportuna cualquier obstáculo que pueda afectar el desarrollo del proyecto. Para aprovechar al máximo la disponibilidad actual del equipo, se optimizará la planificación del sprint mediante la definición precisa de las tareas a rea- lizar. Cada tarea tendrá un responsable asignado y un plazo de finalización establecido en función de su dificultad. 4.3.6. Retrospectiva del 25 de Febrero de 2024 La sexta reunión de retrospectiva fue organizada por Rubén y comenzó con una dinámica llamada la línea de tiempo. Esta dinámica consiste en la creación de una linea temporal en la que los miembros del equipo colocan los distintos eventos (aciertos, errores o cambios) que se han dado desde la última reunión en orden cronológico. Una vez finalizada la línea del tiempo, el equipo discute sobre que ha podido provocar los errores, como hemos aprovechado nuestros aciertos y afrontado los cambios y que medidas deberíamos tomar de cara al futuro a partir del resultado del debate. El resultado de esta dinámica se muestra en la figura 4.11. Inicialmente nos re- partimos las diferentes tecnología que decidimos implementar en la aplicación. Una vez repartidas nos dispusimos a abordar el primero de los eventos, en este caso fue el problema del almacenamiento de los contenidos multimedia, el cual se realizaba di- rectamente en el servidor, provocando esto la imposibilidad de mostrar las imágenes en la aplicación al haber migrado la aplicación a un nuevo servidor. Para solucionar este problema, decidimos realizar el primer cambio, este consistió en utilizar Azu- re BLOB storage para almacenar el contenido multimedia en un almacén de datos 4.3. Reuniones de Retrospectiva 45 Figura 4.11: Resultado de la actividad de la línea de tiempo, realizada el 25/02/2024 externo e independiente del servidor. Sin embargo, nos encontramos con nuestro se- gundo problema al iniciar la transición a Azure BLOB Storage, este problema surgió por la dificultad de implementar el servicio de Azure mediante peticiones directas 46 Capítulo 4. Metodología de gestión del proyecto: Kanban a la API de Azure, esto supuso un retraso en varias de nuestras tareas, sobre todo aquellas relacionadas con el contenido multimedia. Ante nuestras dificultades con la API de Azure, decidimos dejar de lado temporal- mente su implementación y centrarnos en investigar más sobre maneras alternativas de implementarla, este primer acierto nos ayudó a despejar la mente y nos condujo a nuestro segundo acierto. Durante nuestra investigación, descubrimos la SDK de Azure para PHP, la cual contaba con librerías que facilitaron en gran medida el acceso al servicio de Azure BLOB Storage, gracias a ella, conseguimos realizar la primera petición con éxito a Azure. Tras el éxito con Azure, nos encontramos con nuestro último problema, la cuen- ta que utilizábamos para acceder a la API de ChatGPT había agotado todas sus peticiones gratuitas. Para solucionarlo, realizamos nuestro cambio final, el cual fue utilizar una nueva cuenta para obtener más peticiones gratuitas. La conclusión a la que llegamos fue que tuvimos muchas dificultades para adap- tarnos a los problemas y cambios inesperados que se dieron durante el desarrollo, especialmente, el problema con la implementación de Azure BLOB Storage que fue debido a no investigar lo suficientemente a fondo sobre ella, lo cual dio como resulta- do varios retrasos que nos impidieron completar todas las tareas que nos habíamos propuesto en la anterior reunión. Por el otro lado, pudimos realizar las investigacio- nes sobre las diferentes herramientas que utilizaríamos para implementar las nueva funcionalidades de Recuérdame 3.0, esto nos motivó a la hora de abordar las difi- cultades a las que nos enfrentamos. Tras este análisis pensamos en las siguientes acciones de mejora: debíamos to- marnos más en serio la investigación sobre las tecnologías que deseemos implementar a partir de ahora, también, en caso de encontrarnos con problemas inesperados y que resulten ser excesivamente complejos, debemos comunicarlo al resto del equipo para plantear una solución entre todos, pero esto no debe suponer olvidarnos de otras partes del proyecto que sí podemos completar sin dificultades, evitando así en la medida de lo posible más retrasos. Tras finalizar la actividad de retrospectiva, Rubén propuso una dinámica grupal enfocada a mejorar nuestra capacidad de afrontar los cambios inesperados durante nuestro trabajo. Esta dinámica fue el Desafío de Supervivencia. Para realizar esta dinámica, Rubén presentó una tarjeta con un problema al resto del equipo, los cuales debían decidir entre todos como lo solucionarían, sin embargo tras llegar a una conclusión, Rubén mostraría una tarjeta con un cambio repentino que provoca que la solución decidida resulte inútil. La dinámica procedió de la siguiente manera: Tarjeta 1: Están organizando un evento al aire libre en el claro de un bosque y de repente comienza a llover con mucha intensidad. Solución: Ir bajo el árbol más cercano y usar la manta del picnic para cubrirnos. Tarjeta 2: La solución inicial del grupo fue refugiarse bajo un árbol grande. Sin embargo, el viento está soplando tan fuerte que las ramas del árbol están cediendo y podría representar un peligro para el grupo. 4.3. Reuniones de Retrospectiva 47 Solución: Correr hacia una cabaña cercana. Tarjeta 3: El grupo decide buscar refugio en una pequeña cabaña cer- cana. Pero al llegar a la caseta, se dan cuenta de que está cerrada y no tienen la llave. Solución: Steven trata de entrar por la chimenea para abrir desde dentro. Tarjeta 4: Steven se atasca en la chimenea. Solución: Samuel sube a rescatar a Steven, mientras Eduardo intenta abrir la puerta por la fuerza. Tarjeta 5: Eduardo logra reventar la puerta a patadas. Samuel intenta sacar a Steven sin éxito. Solución: Samuel y Eduardo entran en la casa y tiran de Steven desde abajo. Tarjeta 6: Steven logra entrar por la chimenea, pero sufre varias heridas. Solución: Usar el botiquín que tiene la cabaña para tratar las heridas de Steven, Eduardo es socorrista y sabe usarlo lavar las heridas con agua y jabón. Final: Steven se cura y al día siguiente el guardabosques los ayuda a salir del bosque para ir a un hospital. Durante la dinámica, el equipo se vio obligado a realizar varios cambios debido a situaciones inesperadas entrenando así su capacidad de adaptación, Rubén también se vio beneficiado por esto ya que tuvo que replantear el problema varias veces en base a las soluciones al las que llegaban Eduardo, Samuel y Steven. En general esta dinámica nos ayudó a prepararnos para afrontar los problemas que nos surgirán durante los próximos sprints. 4.3.7. Retrospectiva del 17 de Marzo de 2024 La séptima reunión de retrospectiva fue organizada por Eduardo, previo al análi- sis retrospectivo, llevamos a cabo una actividad de Team Building que no solo forta- leció nuestros lazos como equipo, sino que también sentó las bases para una reflexión más profunda y personal sobre nuestro trabajo. En la dinámica, cada miembro del grupo se dedicó a seleccionar tres imágenes, sin restricciones en cuanto a su temáti- ca, con la única condición de que cada una representara a un compañero de equipo. Más tarde, compartiríamos las elecciones, dando un contexto detallado y explicando la razón detrás de cada imagen seleccionada en relación con el compañero a quien representaba. Una vez transcurridos los 10 minutos, cada miembro fue compartiendo su imagen (ver figura 4.12) y la explicación que había elaborado: Turno de Steven · Edu: Lo que más destacaría de Eduardo es la capacidad de organización que tiene y poder dirigirnos a todo el equipo, sobre todo con la memoria. Ha sido como el ancla que nos a ayudado a mantenernos centrados en el proyecto y no irnos del todo de nuestras tareas. Ha sido un buen líder. 48 Capítulo 4. Metodología de gestión del proyecto: Kanban · Samu: Es un gran trabajador y buen conocedor de la IA lo ha demostrado a la hora de realizar código en tareas complicadas, como pudo ser el desarrollo del calendario. Lo relaciono con esta imagen porque su setup debe ser así mínimo para tanto código. · Rubén: Le gusta trabaja en silencio, sin embargo avanza mucho, a mi parecer junto con Samu es el que más domina en conocimientos. Aunque se abruma si no encuentra solución rápida. Foto chef porque sé que cuando acabemos el TFG nos hará un pastel, ya que le gusta el mundo de la cocina y se le da bien. Turno de Rubén · Edu: Su trabajo durante la investigación sobre la enfermedad del Alzheimer y las terapias de reminiscencia ha sido invaluable y nos ha permitido tener una idea general sobre el ámbito en el que trabaja Recuérdame 3.0. Foto de Capibara porque todo el mundo te quiere y siempre mantienes la calma incluso en las peores situaciones. · Samu: Sus conocimientos sobre el entorno Azure nos han ayudado a imple- mentar varias de las nuevas funcionalidades de la aplicación, la integración de estas habría sido una odisea sin tu inestimable ayuda. Foto de agua porque eres capaz de adaptarte a cualquier situación. · Steven: Gran trabajo con los multimedia con Azure BLOB Storage, adaptar el código al nuevo almacenamiento no fue tarea fácil, pero lo conseguimos con esfuerzo y perseverancia. Foto de unos bolardos, porque al igual que él no se doblan ni aunque les pase un camión por encima. Turno de Samuel · Edu: Buen trabajo con las imágenes y la IA TTS, porque la implementación de las APIs es bastante compleja y eso dificulta mucho el hacer que funcione todo correctamente. Por otro lado se que ha dedicado bastante tiempo al TFG aun teniendo otras asignaturas. Xavi Alonso porque siempre organiza muy bien las cosas que tiene que hacer y es un gran referente de organización para todo el grupo, además es muy bueno con las tecnologías y siempre esta ahí cuando se le necesita. · Rubén: Ha ayudado mucho con el tema de las imágenes y han conseguido un gran avance gracias a sus investigación y pruebas, a su vez ha estado investi- gando los chatbots. Homer listo porque siempre esta preparado, estudiando e investigando de todo, además tiene un buen nivel de conocimientos que ofrece al equipo siempre y cuando lo necesitemos · Steven: Como el resto de mis compañeros ha estado enfocado en la investi- gación de las imágenes y se que ha sido de gran ayuda en esa parte, siempre está dispuesto a ayudar aunque tenga trabajo de fuera del TFG y eso es de agradecer ya que es un punto que aporta mucho valor al resto de compañeros del grupo. Comprometido con el equipo y eso hace que estemos unidos, nos ayuda siempre tanto con tareas como con memoria. Turno de Eduardo 4.3. Reuniones de Retrospectiva 49 · Samu: Foto de Jeremy, personaje de Código Lyoko, un personaje muy listo, como Samu, siempre dispuesto a ayudarte con cualquier problema, muy amable y buen conocedor de las tecnologías que investigamos, además de ser gran aficionado a los ordenadores. · Rubén: De los animales mas inteligentes, como Rubén, mucha versatilidad que ha ido desarrollando a lo largo del proyecto, con las distintas tareas y sobre todo con la fatigante tarea de las imágenes. Los delfines, al igual que Rubén, poseen mucha agilidad y adaptabilidad para todo tipo de entornos. · Steven: Imagen de un perro, por su forma de ser, la sociabilidad, lealtad, compañerismo, variedad de habilidades y sobre todo su capacidad de aprendi- zaje son características que definen a Steven y su aportación al trabajo es de buen nivel. Con esta dinámica, además de romper el hielo antes de entrar en la retrospectiva, se busca fomentar la creatividad y la capacidad de observación de cada miembro del equipo, también permite una comprensión mas profunda de las personalidades, las fortalezas y las curiosidades de cada uno. Más allá de la elección de imágenes, nos sirve para reflexionar sobre cada miembro ya sea por su contribución al trabajo o por su carácter personal. Figura 4.12: Resultado de la dinámica para romper el hielo en la retrospectiva del 17/03/2024 Una vez acabada la actividad de Team Building, nos centramos en la retrospec- tiva. Eduardo utilizó una retrospectiva parecida a la del barco, poniendo la fábula de los 3 cerditos5 como enfoque principal. Consiste en plantear las situaciones que el grupo ha tenido desde la última reunión de retrospectiva y hacer una analogía que represente la importancia de la planificación y construcción de una base sólida es 5https://agilismoeningenieriadesoftware.blogspot.com/2018/10/retro-de-los-3-p equenos-cerditos.html https://agilismoeningenieriadesoftware.blogspot.com/2018/10/retro-de-los-3-pequenos-cerditos.html https://agilismoeningenieriadesoftware.blogspot.com/2018/10/retro-de-los-3-pequenos-cerditos.html 50 Capítulo 4. Metodología de gestión del proyecto: Kanban fundamental para enfrentar los desafíos que tenemos por delante. Nuestro objetivo es que no nos coma le lobo: El Lobito TFG, que buscará las debilidades en nuestro trabajo para que las corrijamos. Cada cerdito representa un enfoque diferente: el primer cerdito que construye su casa rápidamente con paja, representando la falta de planificación e inexperiencia ante los retos, el segundo cerdito que elige la ma- dera, un poco más resistente pero aún vulnerable, representando las cosas hechas pero aún mejorables, y el tercero que opta por el ladrillo, la opción más segura y duradera, representando una buena base de trabajo y conocimientos de las tareas. Comenzamos hablando de la casa de paja, para centrarnos en los aspectos que debíamos abandonar o plantearlos de otra manera, los objetivos que salieron a la luz fueron la implementación del Chatbot mediante las herramientas que Azure ofrecía gratuitamente, sin embargo debido a que Microsoft sufrió incompatibilidades con el proyecto y solicitaba información desconocida por nuestra organización (UCM) por lo tanto necesitamos cambiar la herramienta para el desarrollo del chatbot, se valoró la herramienta de ChatBase y se investigará para poder realizar la tarea. Otra debilidad que tenemos en la casa de paja era el intento de arreglo respecto a la imágenes almacenadas localmente y no en una base de datos, Azure fue la opción para almacenar las imágenes pero para ello necesitamos conectar el proyecto mediante la API que ofrece, tras varios intentos fallidos decidimos que para poder resolver el problema de las imágenes teníamos que cambiar la herramienta o la forma de conectarla al proyecto, se optó por la SDK de Azure que ofrecía una documentación mas detallada y más fácil de implementar, aunque también ofrecía algunos inconvenientes, detallados en la casa de madera. Al pasar a dicha casa, el equipo recalcó que si bien la SDK de Azure podría arreglar nuestras problemas de almacenamiento de las imágenes, también podría causar problemas, ya que la SDK dejaría de estar soportada por Azure y pasaría a estar en código libre, pudiendo ocasionar futuros fallos que no serán solventados por Azure. También decidimos poner en la casa de madera a la conexión con la API de Text to Speech, funcionaba pero aún faltaba por saber como guardar los audios al generar las Historias de Vida, por lo tanto no era una parte de la casa sólida como buscábamos, de la misma manera se trató la detección de emociones de un recuerdo, se consiguió la conexión con la API y que pudiera detectar si un recuerdo era positivo, negativo o neutro, sin embargo, no conseguíamos que detectara los sentimientos que producía el recuerdo. Para la última casa, pusimos las cosas que estábamos seguros de haber hecho y podrían contra el Lobito TFG, el equipo estuvo de acuerdo que la reducción de fallos en la memoria, ha sido significativa, tanto a lo largo del proyecto como en las últimas entregas. Además de todos los conocimientos y el aprendizaje en APIs que en el grado de Software no se han visto pero hemos tenido que aprender para el proyecto. La conclusiones generales quedan reflejadas en la figura 4.13. Al final de la retrospectiva tuvimos una reflexión por parte del equipo, des- tacando las mejoras en la implementación del proyecto. El equipo ha demostrado capacidad para adaptarse a desafíos inesperados, como las funcionalidades con IA y tomar decisiones informadas. Además, se reconoció el progreso significativo logrado en aspectos clave del proyecto, subrayando la importancia del aprendizaje continuo. Las acciones de mejora que se sacaron fueron mayoritariamente para las imágenes ya que si queríamos volver a tener la funcionalidad de los vídeos con Creatomate, 4.3. Reuniones de Retrospectiva 51 Figura 4.13: Resultado retrospectiva de los 3 cerditos el 17/03/2024 se necesitarían imágenes para ello y el hecho de poder tener un almacenamiento externo de imágenes reduce la dependencia y el acoplamiento del servidor respecto a las imágenes. La herramientas para implementar las IAs están claras e iban por buen camino, solo faltaría dar un buen impulso a la codificación de dichas tareas para así obtener nuevas funcionalidades para la aplicación. 4.3.8. Retrospectiva del 7 de Abril de 2024 En esta ocasión la retrospectiva fue llevada a cabo por Samuel. Primero, Samuel propuso realizar una actividad que él realiza en su trabajo para liberar el ambiente y soltarse antes de la retrospectiva que consiste en elegir cada miembro del equipo una foto de un animal y explicar el porqué te pareces a él. Cada miembro seleccionó el animal que consideraba que mejor lo representaba y explicó sus razones: Eduardo eligió a un burro. Su explicación fue: “Me representa el burro porque son animales que soportan peso y carga de trabajo hasta 2 toneladas, muy há- biles y útiles en trabajos pesados y suelen ser inofensivos y pacíficos”. Eduardo argumentó que, al igual que un burro, él es una persona que puede realizar una gran cantidad de trabajo sin dejar que eso afecte a su rendimiento como compañero de equipo. Steven escogió un perro. Explicó: “El perro porque me gusta pasar tiempo 52 Capítulo 4. Metodología de gestión del proyecto: Kanban rodeado de más personas que sean distintas a mi y soy capaz de acoplarme sin problema. A parte soy fiel y cariñoso”. Se siente identificado porque es una persona muy sociable y se adapta fácilmente a las situaciones que enfrenta en su día a día. Rubén eligió una cabra. Su explicación fue: “Me representa por su adaptabi- lidad y persistencia, además de que son animales bastante curiosos.”. Rubén argumentó que se identifica con la cabra debido a su persistencia en alcanzar sus objetivos y en el equipo se le considera como el miembro que más controla de programación. Samuel seleccionó un koala. Explicó: “Me representa porque me encanta dormir y el koala duerme la mayor parte del tiempo, normalmente no dejan que te acerques mucho pero cuando te dejan son muy amigables y te puedes fiar de ellos”. Samuel argumentó que es una persona que al principio le cuesta confiar en los demás y sentirse cómodo, pero que una vez entra en confianza, llega a ser muy amigable y fiel a sus amigos. Después de esta dinámica para soltarse se comenzó con la retrospectiva. En esta ocasión Samuel decidió realizar una modificación de la retrospectiva de la rosa, capullo y las espinas6, donde solo nos centraríamos en las rosas y las espinas. La retrospectiva consistió en identificar las cosas que han funcionado bien (rosas) y las que no (espinas) luego se hace una tala de las espinas eligiendo la manera de afrontarlas en los siguientes sprints. En un primer lugar se eligieron las rosas, es decir, el trabajo bien realizado. El análisis dejo las siguientes rosas: Conseguir 3 APIs e implementarlas (Text to speech, ChatBot, Emociones). Disponibilidad de más tokens de OpenAI (ChatGPT). Imágenes funcionando con Azure. Mejora de la interfaz y finalización de desarrollos. Posteriormente se procedió a analizar las espinas, y obtuvimos los siguientes resultados: Los audios de Text to speech no se guardan de manera eficiente. La vista de las emociones no se ve de manera adecuada y deja dudas al usuario. Finalidad del ChatBot mal enfocada Perdida de la funcionalidad de videos y falta de la API. Poco trabajo en la memoria por enfoque máximo en la aplicación. 6https://www.teamretro.com/es/retrospectivas/espina-de-capullo-de-rosa https://www.teamretro.com/es/retrospectivas/espina-de-capullo-de-rosa 4.3. Reuniones de Retrospectiva 53 Por último con las rosas y espinas identificadas se valoro como podar las espinas, para ello lo que se planteo es trabajar un poco más parejo en memoria en lo que queda de proyecto y mejorar las funcionalidades implementadas para que sean eficientes y claras al usuario. Además se deberá contactar con Creatomate para investigar los problemas con su API y así poder solucionarlo. Para acabar se realizó una dinámica grupal para subir los ánimos en esta recta final. Se opto por la dinámica de las preguntas rápidas que consiste en que cada miembro lanza una pregunta rápida a otro miembro y este debe contestar rápida- mente, y formular una pregunta a otro compañero. Esta actividad nos dejo preguntas y respuestas como: ¿Cúal es tu mayor hobby? A lo que Eduardo respondió Nadar; ¿Personaje favorito de Harry Potter? Respuesta de Samuel es que no lo había visto. ¿Prefieres DC o Marvel? A lo que Rubén respondió que DC; ¿Cúal es tu número favorito? Con la respuesta de Steven siendo el número 8. Se llevaron a cabo varias rondas de preguntas ya que el ambiente fue bastante positivo y cumplió su objetivo animando a los integrantes del equipo para esta recta final. 4.3.9. Retrospectiva del 21 de Abril de 2024 La novena reunión de retrospectiva fue organizada por Steven, quien en esta ocasión optó por utilizar la técnica de “Start, Stop, Continue”7. Esta técnica se enfoca en identificar tres secciones: “Start”, que consiste en identificar aquellas acciones que los miembros del equipo debemos empezar a hacer para mejorar la eficacia; “Stop”, que se centra en señalar aquello que no funciona o causa problemas y por último “Continue”, donde se identifican las actividades que debemos seguir haciendo porque funcionan bien. Esta técnica nos ayuda a reflexionar sobre nuestro progreso hasta el momento y planificar acciones efectivas para esta etapa final. Durante la retrospectiva, utilizamos turnos aleatorios para abordar y completar cada uno de los puntos de la técnica de “Start, Stop, Continue”. El resultado final de la reunión se presenta en la figura 4.14. Decidimos comenzar debatiendo sobre todo lo bueno que hemos hecho hasta el momento y que debíamos seguir realizando. Por lo tanto, completamos la columna de “Continue”, donde identificamos los siguientes puntos Cerrar issues: Seguir cerrando las tareas completadas para mantener el flujo de trabajo organizado y actualizado. Los avances revisados, desplegarlos al servidor: Continuar desplegando los avances que ya hemos revisado con antelación al servidor para de esta ma- nera mantenerlo actualizado y poder realizar pruebas continuas. Terminar el desarrollo de las APIs: Finalizar el desarrollo de las APIs es esen- cial para poder mostrar el avance conseguido del proyecto en comparación con su versión anterior. Desarrollar las tareas específicas para poder conseguir la revisión de los te- rapeutas: Dado que ya no queda mucho tiempo, debemos dar nuestro último 7https://www.growthtactics.net/start-stop-continue-retrospective/ https://www.growthtactics.net/start-stop-continue-retrospective/ 54 Capítulo 4. Metodología de gestión del proyecto: Kanban Figura 4.14: Resultado retrospectiva de Start, Stop y Continue realizada el 21/04/2024 esfuerzo para terminar de desarrollar aquellas tareas importantes para la eva- luación con los terapeutas y finalizar aquellas que pueden suponer un valor añadido para la evaluación final. Seguidamente completamos la columna de “Start”, donde discutimos sobre aque- llas acciones que debemos realizar y que nos acercan más al objetivo de tener un Trabajo de Fin de Grado de calidad y una aplicación web evaluable por los terapeu- tas, estas acciones se detallan a continuación: Meter los datos reales en la Base de Datos: Gracias a los vídeos compartidos por Susana, tenemos recuerdos de pacientes reales que podemos introducir en la base de datos para obtener resultados más realistas en nuestras pruebas. Dejar un comentario en la issue realizada para facilitar su revisión: Empezar a realizar esta práctica mejorara la comunicación que habrá entre los miembros del equipo y facilitará la revisión de las tareas. Terminar el trabajo futuro de “Recuérdame 2” con los vídeos: Es esencial tener la parte de los vídeos funcionando y con las implementaciones que en la versión anterior no se pudieron realizar. Demostrar avance con imágenes para facilitar su entendimiento: Al momento de redactar la memoria, hemos decidido utilizar más imágenes sobre el avance conseguido para facilitar su comprensión y visualización. Por último tratamos la columna de “Stop”, la cual nos tomo más tiempo de lo esperado porque no conseguíamos identificar claramente las acciones incorrectas que estábamos realizando. Finalmente identificamos las siguientes: 4.3. Reuniones de Retrospectiva 55 Ignorar el tablero: Durante las últimas semanas previas a la reunión, habíamos estado realizando las tareas que surgían durante el proceso y no revisábamos las que se encontraban en el tablero. Esta práctica no era correcta y nos retrasaba porque ningún miembro estaba al tanto del progreso y las prioridades del proyecto. Frenar el avance de memoria: Nos habíamos centrado tanto en la realización de código que dejamos de lado la memoria. Lo cual en un futuro podríamos lamentar porque nos tocaría redactar todo de golpe. Por esta razón debíamos empezar a prestar más atención a la memoria Una vez terminamos de completar cada columna, debatimos las acciones de me- jora futuras, especialmente dado que estamos en la etapa final del trabajo de fin de grado. Sugerimos las siguientes: Priorizaríamos la realización de las tareas que estén relacionadas con los vídeos y las APIs, debido a que para poder conseguir la evaluación de los terapeutas, debíamos tener totalmente desarrollado la generación de vídeos y la implemen- tación de las APIs en la página. Cada miembro del equipo se comprometerá a comprobar que la tarea que este realizando se encuentre dentro del tablero y que este asignada a él. En caso de no existir dicha tarea, le solicitará a otro miembro que la cree para el poder asignársela, ya que como esta especificado en las políticas explícitas, un miembro del equipo no puedo crear y asignarse la misma tarea a él mismo. 4.3.10. Reunión final del 20 de Mayo de 2024 Para concluir nuestro ciclo de retrospectivas y preparar al equipo para la presen- tación final del TFG, Rubén se encargó de preparar una dinámica llamada “Momento Inspirador”. La elección de esta actividad se basó en la necesidad de recargar ener- gías, fomentar la inspiración y reforzar la unidad del equipo en una etapa crucial. Dado que nuestro proyecto estaba llegando a su final y no realizaríamos más de- sarrollo de la aplicación, consideramos que una actividad de retrospectiva no era necesaria. En su lugar, decidimos enfocarnos en una dinámica que nos permitiera recargar energías, reforzar nuestra unidad como equipo y abordar esta última fase con la máxima motivación y confianza. “Momento Inspirador” fue seleccionada por ello, proporcionando un cierre positivo y motivador a nuestro trabajo colectivo. La dinámica “Momento Inspirador” consiste en que cada miembro del equipo comparte una cita que le haya inspirado o ayudado a lo largo del proyecto y explica por qué eligió esas palabras y cómo influyeron en su trabajo. El resultado de esta dinámica fue el siguiente: Eduardo compartió la siguiente cita: “No es pecado pelear por la justicia; al contrario, eso es una buena obra. Recuerda que existen oponentes que jamás entenderán con las 56 Capítulo 4. Metodología de gestión del proyecto: Kanban palabras. Solamente tienes que soltar la furia que se encuentra en tu espíritu; entiendo cómo te sientes, pero ya no tienes porque seguir soportándolo.” — Androide 16, Dragon Ball. Eduardo explicó que esta cita le ayudó a lo largo del proyecto, recordándole lo importante que es luchar por sus ideales y afrontar los problemas con de- terminación. En los momentos en los que se presentaron obstáculos técnicos y personales, esta cita le empujó para perseverar y no rendirse, haciéndole entender que algunas batallas requieren dedicarles pasión y fuerza más allá de las palabras. Rubén compartió otra cita: “—Desearía que esto no hubiera pasado en mi tiempo —dijo Frodo. —También yo lo desearía —dijo Gandalf —, y también todos los que viven tiempos así. Pero no nos toca decidirlo. Todo lo que podemos decidir es qué hacer con el tiempo que se nos da.” — J. R. R. Tolkien, El Señor de los Anillos: La Comunidad del Anillo. Estas palabras ayudaron a Rubén recordándole que, aunque no siempre pode- mos controlar las circunstancias a las que nos enfrentamos, sí podemos gestio- nar cómo reaccionamos ante ellas. Esta perspectiva le permitió mantener una actitud positiva, incluso en los más difíciles momentos del proyecto, motiván- dole a obtener el mejor resultado posible con unos recursos y tiempo limitados. Steven compartió una de las reflexiones de Marco Aurelio: “En ninguna parte puede hallar el hombre un retiro tan imperturbable y tranquilo como en la intimidad de su alma.” — Marco Aurelio, Meditaciones Estas palabras ayudaron a Steven a superar esos malos momentos de estrés que surgieron durante toda la carrera y sobretodo en el último año. Entender que cuidar su paz mental fue fundamental para salir adelante y poder reflejarlo en su trabajo y sobretodo en el TFG. Samuel, por su lado compartió la siguiente frase: “Lo intentas, te equivocas, te levantas” — Ibai Llanos Esta frase le recordó a Samuel la importancia de la perseverancia a la hora de realizar un trabajo. Durante el proyecto surgieron varios desafíos que pusieron nuestra fortaleza mental al límite, pero estas palabras le ayudaron a enfrentarse a ellos con paciencia y determinación. 4.3. Reuniones de Retrospectiva 57 En conclusión “Momento Inspirador” resultó ser una actividad revitalizante que permitió al equipo renovar su inspiración y motivación, fortaleciendo el espíritu de equipo, cada miembro del equipo se sintió renovado y optimista, preparado para enfrentar la presentación final con una actitud proactiva, sobre todo para trabajar en equipo, recordando la importancia de trabajar juntos hacia un objetivo común. En resumen, no solo sirvió como una poderosa herramienta de motivación y unión, sino que también motivó al equipo para abordar con la parte final de nuestro TFG. Capı́tulo 5 Inteligencias Artificiales Generativas Este capítulo está dedicado a la investigación sobre las Inteligencias Artificiales Generativas (a las cuales nos referiremos de ahora en adelante como IAGs), para dotar de nuevas funcionalidades al proyecto. Las IAGs (Granieri (2023)) son inteligencias artificiales diseñadas específicamen- te para la creación de contenido original, para ello se aprovechan de diferentes al- goritmos y tecnologías como las redes neuronales1 que les otorgan la capacidad de aprender a partir de conjuntos de datos de diversos formatos como archivos de tex- to, imágenes, audios o vídeos y generar contenidos nuevos y relevantes en base a lo aprendido. En los últimos años, las IAGs han obtenido una creciente influencia en diversos ámbitos de la actividad humana. La investigación científica, el marketing y el arte son algunos ejemplos. El enorme potencial de las IAGs ha sido aprovecha- do para optimizar procesos y ampliar fronteras del conocimiento en estos ámbitos, constituyendo así un fenómeno global y de gran trascendencia. En el contexto de nuestro TFG, las IAGs han sido aplicadas para desarrollar funcionalidades relacionadas con el reconocimiento y la generación de contenido, más concretamente para la narración de historias de vida, la creación de ChatBots con el objetivo de servir de apoyo en la utilización de la aplicación y participar en las terapias de reminiscencia, la detección automática de las emociones producidas por los recuerdos a través de sus descripciones y la generación de resúmenes de las historias de vida. En este capítulo presentaremos las IAGs analizadas para implementar cada una de las nuevas funcionalidades. 5.1. Generación automática de subtítulos Para asegurar la accesibilidad a la historia de vida del usuario, se implementarán subtítulos durante la reproducción del vídeo. Estos subtítulos cubrirán las necesi- dades de usuarios con dificultades auditivas, permitiéndoles disfrutar del contenido sin problemas. A continuación presentamos las herramientas basadas en IAGs que 1Las redes neuronales son modelos computacionales diseñados para procesar y aprender patrones complejos. Están inspiradas en las neuronas humanas. 59 60 Capítulo 5. Inteligencias Artificiales Generativas hemos revisado: Google Cloud Speech-to-Text2: Servicio de Google Cloud que utiliza mo- delos de aprendizaje automático para convertir audio en texto con una alta precisión. Este servicio destaca por su capacidad en entornos ruidosos o con acentos. Es capaz de integrarse sin problemas con otros servicios de Google Cloud. A través de paquetes como “laravel-google-speech-to-text” es posible poder incorporar el servicio en nuestra aplicación. Admite más de 125 idio- mas y variantes lingüísticas, ofreciendo asistencia multilingüe. Para nuestro caso como nuevos usuarios, nos proporcionan 300 euros en crédito gratuito y 60 minutos mensuales gratuitos para transcripciones y análisis de audio. Sin embargo, debemos tener en cuenta que si llegamos a superar los 60 minutos implica cargos adicionales. Sonix3: Plataforma en línea que ofrece servicios de transcripción automáti- ca y subtitulado. Utiliza tecnologías de reconocimiento de voz para convertir archivos de audio y vídeo en texto de manera rápida y con alta precisión. Ade- más, permite la transcripción automatizada en más de 39 idiomas. Sonix ofrece 30 minutos gratis, y una vez agotados, cobra por los minutos de cada archivo transcribido. Si deseáramos integrar Sonix en nuestra aplicación web pode- mos hacer uso de su API, la cual permite a los desarrolladores enviar archivos multimedia para su transcripción y recuperar los resultados, lo que puede lo- grarse mediante solicitudes HTTP desde el lado del servidor, permitiendo la integración con la aplicación de “Recuérdame 2.0”. Whisper4: IAG de OpenAI que ofrece servicios de transcripción y traducción y destaca por la gran cantidad de conjuntos de datos de entrenamiento en los que se basa: 680 mil horas de archivos de audio de internet. Esta amplia variedad de datos mejora la robustez a nivel humano de la herramienta. Para utilizar Whisper en transcripciones, es esencial instalar Python o la interfaz de línea de comandos. Dispone de cinco modelos distintos, desde tiny hasta large, cada uno con tamaños y capacidades variables. A medida que el modelo aumenta de tamaño, se mejora la velocidad de transcripción, pero se requiere una CPU y GPU potentes para maximizar su rendimiento lo cual puede ser una desventaja al momento de utilizar Whisper. Entre sus ventajas, Whisper destaca por admitir diversos formatos de contenido, incluyendo MP3, MP4, M4A, Mpeg, MPGA, WEBM y WAV. También puede realizar transcripciones en 99 idiomas y traducirlos todos al inglés. Además, la herramienta es gratuita. 5.2. Narración de Historias de Vida Cuando se genera una historia de vida, se busca que el usuario pueda tener un resumen de una serie de recuerdos previamente seleccionados, dicha historia 2https://cloud.google.com/speech-to-text?hl=es 3https://sonix.ai/ 4https://openai.com/research/whisper https://cloud.google.com/speech-to-text?hl=es https://sonix.ai/ https://openai.com/research/whisper 5.2. Narración de Historias de Vida 61 puede verse de manera visual, con texto e imágenes, sin embargo no se contempla una opción en la cual los usuarios tengan algún tipo de defecto visual e impida beneficiarse de su historia de vida. A continuación presentamos las herramientas basadas en IAGs que hemos revisado: Google Cloud Text-to-Speech (TTS): Ofrece un servicio de Text-to- Speech5 que utiliza IA avanzada para generar voces naturales y expresivas. Ofrece varias voces en más de 120 idiomas y proporciona opciones para con- trolar la entonación y el ritmo. Ofrece una integración fácil y una buena docu- mentación para el uso de su API en proyectos, cuenta con una versión gratuita de 90 días para todos los usuarios, además está en constante desarrollo debido a sus actualizaciones y mejoras constantes desarrolladas por Google. Sin em- bargo el uso de la API lleva consigo algunas desventajas6, si hay demasiadas solicitudes de texto a voz el costo por el uso puede elevarse fácilmente, hay limitación de cuotas, es decir, hay limites en la cantidad de solicitudes que se pueden realizar por día, lo cual puede afectar al uso de la aplicación, en cuanto a la privacidad y seguridad, se cuenta con la privacidad en términos de Google, lo cual puede preocupar a los usuarios si el texto contiene información sensible. Esta plataforma cuenta con un plan gratuito, el cual ofrece hasta 90 días de prueba con un crédito limitado, ideal para probar más de 25 funcionalidades, entre las cuales está incluida TTS. Esta cuenta gratuita puede ser actualizada a una cuenta premium con pagos, mensuales o anuales ofrecidos por Google según los el uso en tu proyecto, el paso a una cuenta de pago se obtiene mayor capacidad de almacenamiento de proyectos, recursos y acceso ilimitado a to- das las funciones de Google Cloud Platform, pudiendo incorporar otras APIs si fuera necesario. Mozilla TTS7: Proyecto de código abierto que utiliza técnicas de IA para generar narraciones de voz más naturales. Al tratarse de un proyecto desarro- llado por la organización del navegador web Firefox, la licencia de uso es libre lo cual facilita su integración en el proyecto, a diferencia de la herramienta anterior, no depende de servicios de terceros por lo tanto el usuario tiene con- trol sobre los datos y la privacidad. Hace uso del aprendizaje automático y procesamiento de lenguaje natural (NLP), es decir, la herramienta puede ser utilizada como parte de un sistema más amplio que involucra tecnologías rela- cionadas con la comprensión y generación de lenguaje natural. Por el contrario, la calidad de voz depende de los modelos disponibles y del entrenamiento que se haya realizado, es por eso que para entrenar modelos de voz y ejecutar el servicio de TTS se puede requerir de más recursos, según la cantidad de so- licitudes que se hagan de texto a voz. No cuenta con la misma variedad de idiomas y voces que otras herramientas, al igual que la documentación que es más limitada y puede conllevar a tener problemas con la implementación o resolución de problemas. 5https://cloud.google.com/text-to-speech/ 6https://ventajasydesventajastop.com/google-cloud-ventajas-y-desventajas/ 7https://wiki.mozilla.org/SpeechAPI https://cloud.google.com/text-to-speech/ https://ventajasydesventajastop.com/google-cloud-ventajas-y-desventajas/ https://wiki.mozilla.org/SpeechAPI 62 Capítulo 5. Inteligencias Artificiales Generativas Microsoft Azure Speech Service8: Ofrece un servicio de síntesis de voz, la cual tiene una integración rápida y facilidad de uso, dispone de una versión gratuita con límite de uso, tiene soporte para varios idiomas y su configuración no es compleja para un usuario estándar, además este servicio de Azure tiene buena compatibilidad con los navegadores web. Por otro lado, el límite de uso por mes o por día esta muy por debajo que otros servicios, debido a esta versión gratuita y limitada se reduce la calidad de voz, pudiendo provocar una voz más robotizada, la personalización también se ve limitada según que versión de pago se elija. En cuanto a la seguridad y privacidad, son controlados por otros servicios externos, en este caso Microsoft, al igual que el rendimiento del servicio, infraestructura de Azure. 5.3. ChatBot Una de las funcionalidades solicitadas que no pudieron completarse durante el desarrollo de Recuérdame 2.0 fue la creación de un chat bot integrado en la aplica- ción, el cual fuese capaz de actuar como terapeuta y así permitir los usuarios hacer terapia en su domicilio, generar preguntas a partir de recuerdos o simplemente con- versar con el usuario. A continuación presentamos las herramientas basadas en IAGs que hemos revisado: Chatbase9: Plataforma diseñada para facilitar la creación de chat-bots per- sonalizados basados en GPT e insertarlos en aplicaciones web. Permite la im- portación de datos personalizados en formatos sencillos y accesibles como do- cumentos PDF para entrenar un modelo de ChatGPT, esto permite obtener respuestas más especializadas dependiendo de los datos con los que se entrene, en nuestro caso sería útil para acercar lo más posible las respuestas de nuestro chat-bot a las que daría un terapeuta real. También soporta más de ochenta idiomas, entre ellos el español. Chatbase ofrece cuatro planes de pago, entre ellos uno gratuito con funcionalidades limitadas en cuanto al número de chat- bots que podríamos entrenar (uno), 20 peticiones por mes y el hecho de que el chat-bot se borraría automáticamente tras 7 días de inactividad. ChatBase cuenta con un plan gratuito, el cual permite la creación de un ChatBot y ofrece 20 mensajes los cuales se recargan cada mes, ideal para probar sus funcionali- dades. Esta cuenta gratuita puede ser actualizada a una cuenta premium con pagos anuales, mensuales o personalizados 10, una cuenta pago permite un ma- yor numero de mensajes, más capacidad para entrenar ChatBots, acceso a la API y a modelos más potentes como ChatGPT 4. Gemini API + Dialogflow: Gemini11 es un modelo de lenguaje creado por Google, similar a ChatGPT, es capaz de entender el lenguaje natural en varios idiomas (español incluido) y generar respuestas complejas a partir del 8https://azure.microsoft.com/en-us/products/ai-services/ai-speech 9https://www.chatbase.co/ 10https://www.chatbase.co/pricing 11https://gemini.google.com/ https://azure.microsoft.com/en-us/products/ai-services/ai-speech https://www.chatbase.co/ https://www.chatbase.co/pricing https://gemini.google.com/ 5.4. Detección de emociones 63 texto escrito por sus usuarios, Google ha creado una API con la que es posible acceder a los recursos de Gemini desde aplicaciones externas como nuestro proyecto. Por otro lado, Dialogflow12 es una plataforma de creación de chat- bots desarrollada también por Google que nos permite la creación de chat-bots integrados en páginas web, además posee la capacidad de interaccionar con Gemini para poder crear un chat-bot potenciado por inteligencia artificial. Tanto la API de Gemini como Dialogflow tienen planes de pago sin costo con funcionalidad limitada, sin embargo tras investigar más en profundidad descubrimos que la API de Gemini todavía no está disponible en España13. Azure Bot Service14: Servicio en la nube ofrecido por Microsoft que propor- ciona una plataforma para desarrollar chatbots con inteligencia artificial, una de sus principales ventajas es que utiliza la misma tecnología que ChatGPT 4, uno de los mejores modelos de lenguaje existentes y puede ser entrenado para ofrecer respuestas más específicas tanto por datos proporcionados por los desarrolladores como por las interacciones con los usuarios, además pue- de integrarse con otros de los servicios en la nube proporcionados por Azure, ampliando así sus posibilidades de mejora y adaptación. Al ser parte de los servicios de Azure está incluido en la prueba gratuita de 200 dólares durante 30 días que Azure proporciona a estudiantes como nosotros (esto significa que la interacción con el bot también sería a través de la API de Azure), su precio es por uso y es similar al de otros servicios en la nube como Google Cloud o Amazon Web Services. ChatGPT API: Otra de las opciones que barajamos fue la utilización de la API de ChatGPT, la cual ya estaba siendo utilizada desde Recuérdame 2.0, sin embargo, esto supondría que solamente tendríamos acceso gratuito a la versión 3.5 de GPT con llamadas limitadas a la API y no podríamos entrenar nuestro propio modelo, por lo que las respuestas que nos ofrecería serían más genéricas. En caso de utilizar esta tecnología, la interfaz del chat-bot podría ser implementada con otros servicios como el ya mencionado Dialogflow. 5.4. Detección de emociones Para integrar esta nueva funcionalidad, se ha llevado a cabo una investigación sobre diversas herramientas que pueden contribuir a detectar sentimientos de ma- nera más precisa. Sin embargo, el problema común es que la mayoría de ellas están especializadas en la detección de sentimientos y opiniones en un entorno empresarial, centrándose en gran medida en la toma de decisiones corporativas. Las herramientas investigadas incluyen: Pangeainc15: Se trata de una aplicación de pago, especializada en traducción y localización. Utiliza tecnología avanzada, como herramientas de traducción 12https://cloud.google.com/dialogflow/ 13https://ai.google.dev/available_regions/ 14https://azure.microsoft.com/es-es/products/ai-services/ai-bot-service 15https://pangeanic.com/es/ https://cloud.google.com/dialogflow/ https://ai.google.dev/available_regions/ https://azure.microsoft.com/es-es/products/ai-services/ai-bot-service https://pangeanic.com/es/ 64 Capítulo 5. Inteligencias Artificiales Generativas asistida por computadora (CAT), inteligencia artificial y aprendizaje automá- tico, lo que les permite mejorar la eficiencia y la calidad de las respuestas. Las herramientas de CAT y los algoritmos de inteligencia artificial permiten a la aplicación ofrecer traducciones precisas y rápidas. Sin embargo no dispone de ninguna modalidad gratuita, siendo las tarifas disponibles muy elevadas para el uso en un TFG. Por otro lado no siempre es consistente en las respuestas a ciertas preguntas sobre la lingüística dado que si la pregunta realizada es sobre el sentimiento en un texto, al preguntarle varias veces en algunos casos cambia de opinión y da una respuesta diferente. TalkWalker16: Se trata de una plataforma especializada en la detección de emociones para la toma de decisiones empresariales. Es una herramienta bas- tante compleja y no muy fácil de entender inicialmente. La principal ventaja de esta herramienta es que ofrece una interfaz de usuario intuitiva y funciones automatizadas que simplifican el proceso de monitoreo y análisis de los textos online. Sin embargo, todos sus planes son de pago y esta es su principal incon- veniente es que para aprovechar su potencial de manera correcta es necesario entrenarla para que funcione en el entorno que se desee. Lexalytics17: Es una herramienta de ánalisis de texto con una curva de aprendizaje muy elevada siendo muy complicado realizar un uso efectivo de la herramienta en poco tiempo. Sin embargo, un punto positivo es la rapidez de los análisis de esta aplicación ya que la tecnología de Lexalytics ha sido desarrollada y perfeccionada a lo largo de los años, lo que garantiza una alta precisión en el análisis de texto. Además, la plataforma es altamente escalable, lo que permite procesar grandes cantidades de datos de manera eficiente. En cuanto a sus puntos débiles, no dispone de mucha retro-compatibilidad para integrarse en los proyectos y sistemas por lo que el proceso para conectarse a su api es demasiado tedioso. Sus planes también son todos de pago pero en este caso dispone de licencias para usar un software en particular, o membresías mensuales con distintas opciones para tus preferencias. Lenguaje de Azure AI18: Es una plataforma que esta especializado en analizar el lenguaje y obtener la información que se desee incluidos los sen- timientos. Ofrece algunas llamadas a la API de manera gratuita para todas las cuentas, lo que permite a los usuarios probar sus funcionalidades antes de comprometerse con un plan de pago. También dispone de una subscripción a Azure para estudiantes con la que obtienes mas ventajas y características des- bloqueadas de manera gratuita. Sin embargo, es importante tener en cuenta que posee un curva de aprendizaje muy elevada y no dispone de compatibili- dad con PHP actualmente porque se encuentra deprecated. Su plan general es de pago. ChatGPT19: Para utilizarla lo que se hace es enviar el texto junto con un 16https://www.talkwalker.com/es 17https://www.lexalytics.com/ 18https://azure.microsoft.com/es-es/products/ai-services/ai-language 19https://chat.openai.com/ https://www.talkwalker.com/es https://www.lexalytics.com/ https://azure.microsoft.com/es-es/products/ai-services/ai-language https://chat.openai.com/ 5.5. Resúmenes generados por IA 65 prompt indicando que nos diga que sentimiento cree que es el más adecuado para ese texto. ChatGPT es la IA generativa por excelencia, su comporta- miento siempre es muy bueno y aunque no esta especializado en la detección de sentimientos las pruebas realizadas arrojan buenos resultados. El problema general es que cada cuenta de OpenAI solo ofrece 20 llamadas a la api de manera gratuita. Dado que las herramientas iniciales están principalmente orientadas hacia la toma de decisiones empresariales y sus planes suelen ser de pago, con versiones demo muy limitadas, consideramos que no son las más adecuadas para nuestro propósito. Por otro lado, ChatGPT demuestra un buen desempeño en el análisis de sentimientos inferidos en un texto, a pesar de no estar especializado específicamente en esta tarea. Sin embargo, Azure, con su plan para estudiantes, ofrece suficientes llamadas a su API para manejar la carga de nuestra aplicación. Además, el Lenguaje de Azure AI no se basa en la búsqueda de emociones o sentimientos para la toma de decisiones empresariales, sino que su enfoque principal es el análisis del lenguaje natural y los textos para extraer la información solicitada, en nuestro caso, los sentimientos. Se ha identificado como punto negativo la alta curva de aprendizaje asociada con Azure, así como la dificultad de implementarlo adecuadamente con PHP. A pesar de estos inconvenientes, hemos optado por Azure y por ChatGPT, ya que entre los dos encontramos una muy buena respuesta no solo a la hora de elegir el sentimiento de un recuerdo, sino también a la hora de analizar el grado de posi- tividad, cosa que anteriormente no se realizaba tampoco de manera automática. A pesar de los inconvenientes que nos han generado son las herramientas que debido a nuestras limitaciones mejor se adaptaban a los requisitos. 5.5. Resúmenes generados por IA Para la generación de resúmenes Recuérdame 2.0 usaba ChatGPT, pero esto tiene un gran inconveniente y es que el uso de la API de OpenAI es gratuito única- mente en 20 llamadas, después es necesario crear una nueva cuenta y actualizar la API-key. Por este motivo se han investigado las siguientes alternativas para mejorar este problema: Azure AI20: Utiliza el modelo de lenguaje GPT 3.5 aunque es posible modi- ficarlo por otros modelos tanto de OpenAI como de otros desarrolladores como por ejemplo LLaMA21 de Meta. Esto provee una gran versatilidad a la hora de elegir el lenguaje que mejores resultados arroje a nuestras peticiones para realizar los resúmenes. Además Azure AI ofrece un gran número de llamadas de manera gratuita para estudiantes. Por otro lado, la incorporación de esta API en la aplicación, junto con la falta de un SDK para PHP, complica consi- derablemente el desarrollo y la integración, ya que los de deberá implementar muchas funcionalidades desde cero. 20https://azure.microsoft.com/es-es/solutions/ai 21https://ai.meta.com/blog/large-language-model-llama-meta-ai/ https://azure.microsoft.com/es-es/solutions/ai https://ai.meta.com/blog/large-language-model-llama-meta-ai/ 66 Capítulo 5. Inteligencias Artificiales Generativas Gemini22: Google también ofrece una API de inteligencia artificial generativa, en este caso utilizando su propio modelo llamado Gemini. Aunque esta API también produce resultados coherentes, su utilidad se ve restringida por el hecho de que las llamadas a la API son de pago, al igual que sucede con ChatGPT. Esto provoca que su acceso sea limitado ya que no contamos con asumir el coste de su uso. Después de explorar estos tres modelos llegamos a la conclusión de que Azure podía ser una alternativa viable, sin embargo, a la hora de intentar implementarla vimos que la complejidad era demasiado alta por lo que optamos por mantener finalmente ChatGPT aunque añadiendo una api-key con llamadas suficientes para las pruebas que vamos a realizar en la aplicación. 22https://gemini.google.com/?hl=es-ES https://gemini.google.com/?hl=es-ES Capı́tulo 6 Recuérdame 3.0 En este capítulo trataremos los elementos que han sido clave en el desarrollo de Recuérdame 3.01, los cambios realizados en las funcionalidades ya existentes en Recuérdame 2.0 y las nuevas funcionalidades incorporadas. La aplicación está disponible en http://caliope.fdi.ucm.es. Este capítulo ha sido dividido en varias secciones, diferenciadas por el ámbito de la aplicación al que afectan las acciones realizadas que se describen en ellas. La Sección 6.1 está dedicada al rediseño de la interfaz de usuario y cambios visuales. A continuación, en la sección 6.2 se explica la mejora de las funcionalidades de Recuérdame 2.0 y en la sección 6.3 se explica como se ha cambiado el método de almacenamiento de Recuérdame 2.0. En la sección 6.4 hablamos de la integración de las nuevas funcionalidades de la aplicación, diseñadas para mejorar la experiencia de los usuarios. Por último, en la sección 6.5 se explica como poblamos la aplicación con recuerdos reales de la historia de vida de varios usuarios. 6.1. Rediseño de la interfaz de usuario En esta sección nos centraremos en los cambios relacionados con el rediseño de la interfaz de usuario creada en Recuérdame 2.0, es decir, aquellas modificaciones visuales, de logotipos y maneras de interactuar con la aplicación. 6.1.1. Cambio de logo Optamos por modificar el logotipo de Recuérdame 2.0 con el propósito de desta- car el proyecto en desarrollo, la versión 3.0 de la aplicación. Es esencial que el nuevo logotipo refleje este cambio, ya que mantener el anterior con el número “2” resultaría incongruente con el nombre Recuérdame 3.0, generando una posible confusión a los usuarios. Siguiendo la paleta de colores que la aplicación tiene, se decidió crear un nuevo logotipo identificativo para este nuevo proyecto, con el objetivo de conservar la idea de Recuérdame 2.0 y que no desentonara con la interfaz ya creada. Para el 1https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 67 http://caliope.fdi.ucm.es https://github.com/NILGroup/TFG-23-24-Recuerdame3.0 68 Capítulo 6. Recuérdame 3.0 proceso creativo se contó con la ayuda de Joshua Estera Tanguilig2, animador 3D en juegos y entornos interactivos con máster en Concept Art y Grafismo para vi- deojuegos. Se realizó una reunión de brainstorming en la cual explicamos el cambio del logo y fueron surgiendo varias ideas, reflejadas en la figura 6.1. Observamos que la idea 1 perdía la esencia del logo anterior pero la idea 2 no reflejaba que fuera una versión de Recuérdame, por lo tanto quisimos hacer una mezcla entre los 2 bocetos. Obteniendo las ideas que se presentan en la figura 6.2. Finalmente pulimos el logo de manera que reflejara el perfil de una persona que gracias a la versión 3 de la aplicación puede conservar sus recuerdos, también pedimos a Joshua una reducción en la anchura del logo de Recuérdame 2.0 ya que consideramos que era mejor colocar un icono representativo del logo a toda la palabra “Recuérdame” y cambiar el color a un tono único para aportar mayor versatilidad y un mayor impacto visual ya que un color sólido puede destacarse más fácilmente y captar la atención del usuario de manera más efectiva. En la Figura 6.3 se muestra el logo final a la derecha y a la izquierda se muestra el logo de Recuérdame 2.0. Figura 6.1: Resultado del brainstorming del logo Recuérdame 3.0 6.1.2. Cambios visuales En el marco del desarrollo de Recuérdame 3.0, se han realizado algunos cambios en la interfaz de usuario, específicamente en la representación visual de los botones. La modificación principal consistió en enfatizar el texto contenido en los botones mediante el uso de negrita, acompañado de la inclusión de iconos representativos de la funcionalidad asociada a cada botón. Los botones originales, aunque cumplían su propósito básico de indicar acciones al usuario, carecían de un énfasis visual que los hiciera distinguibles. Poner negri- ta a las letras resalta la importancia del texto, facilitando al usuario su lectura y comprensión, especialmente en dispositivos con pantallas de menor tamaño o en 2https://www.artstation.com/joshuaesta https://www.artstation.com/joshuaesta 6.1. Rediseño de la interfaz de usuario 69 Figura 6.2: Resultados provisionales del logo Recuérdame 3.0 Figura 6.3: Comparación y resultado final del logo Recuérdame 3.0 situaciones de baja visibilidad. También se incorporaron iconos representativos jun- tos al texto en negrita. Nos apoyamos en estudios cognitivos como el realizado por Harley (2014) en Nielsen Norman Group3, en el cuál sugiere que los usuarios identi- fican más rápidamente los iconos antes que el texto, considerando el movimiento de izquierda a derecha en la lectura. Esta estrategia aumenta la intuición del usuario sobre la función de cada botón, mejorando la experiencia general del usuario. Con estos cambios se promueve una interfaz más consistente, facilitando la na- vegación al reducir la carga cognitiva del usuario al interactuar con la aplicación. Los resultados respecto a Recuérdame 2.0 se puede ver en la figura 6.4. De la misma manera se aplicaron las modificaciones al resto de botones de la aplicación como se refleja en la figura 6.5 3https://www.nngroup.com/ https://www.nngroup.com/ 70 Capítulo 6. Recuérdame 3.0 Figura 6.4: Botones Cancelar - Finalizar Recuérdame 2.0 VS en Recuérdame 3.0 Figura 6.5: Botones modificados en Recuérdame 3.0 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 En esta sección se presentan las mejoras o modificaciones, más relevantes, sugeri- das por los usuarios finales en las evaluaciones de funcionalidades, que se realizaron en Recuérdame 2.0. 6.2.1. Cambios en el lenguaje y atributos Algunos términos que se utilizaban en la aplicación no eran lo suficientemente descriptivos, las palabras elegidas para hacer referencias a los pacientes o sus carac- terísticas no eran las adecuadas, por ello, siguiendo las sugerencias de los usuarios finales, el equipo ha cambiado todos los términos solicitados para evitar confusión y tener un lenguaje más aceptado de cara a los pacientes. A continuación mostramos dichos cambios: Cambio en los niveles de estudio del usuario a: “Estudios Primarios”, “Estudios Superiores”, “Formación Profesional” y “Sin Estudios”. Cambios en Información de Usuario: “Fecha de inscripción” a “Fecha de ingre- so”. Cambios en los campos de los recuerdos: “Apto” por “Continua siendo apto” , “Emoción” por “Emoción producida”, “Estado” por “Estado en que se encuen- tra” y “Nivel” por “Grado de positividad de la emoción”. Cambio en las Personas Cuidadores: “Parentesco” por “Tipo de relación en cuidador”. Cambio en el Diagnóstico: “Enfermedad” por “Diagnóstico”. Cambio en la terminología del Nivel de participación en los informes de sesión: “Normal” por “Intermedio” Respecto a los atributos, han sido varios los que han pasado (por petición de los evaluadores) de obligatorios a opcionales: 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 71 Información del usuario: el atributo “Fecha de entrada a la residencia” pasa a ser opcional. Personas relacionadas: Los atributos “Ocupación”, “Dirección”, “Apellidos” e “Email” pasan a ser opcionales. Sesiones: “Fecha y Hora” pasan a ser opcionales. Personas relacionadas: “Correo” y “Ocupación” pasan a ser opcionales. Informe de sesión: “Observaciones” pasa a ser opcional. Por último, ha sido necesario añadir atributos a determinados campos para que los usuarios elijan con mayor exactitud su opción: Personas relacionadas: Se ha añadido la opción “Marido/Mujer” al listado de opciones del campo “Tipo de relación”. Información del Usuario: Se ha añadido la opción “Lee y escribe” al listado de opciones del campo “Nivel de estudios”. 6.2.2. Cambios en el Libro de Historia de Vida El libro de la historia de vida de un paciente (figura 6.6) es una pieza fundamental dentro de nuestro proyecto, por lo tanto es esencial que tenga una presentación que sea atractiva y fácil de navegar para el usuario final. Con ese objetivo el equipo se encargó de analizar y buscar solución a las peticiones realizadas por los terapeutas durante la evaluación de Recuérdame 2.0: Figura 6.6: Libro de historia de vida en Recuérdame 3.0 Centralización de recuerdos y contenido multimedia: Para garantizar una jus- tificación adecuada de los textos y los contenidos multimedia en el centro del libro de historia, se requirió una refactorización del código que define la es- tructura del libro. Al simplificar dicha estructura, se logró un mayor control sobre los elementos visuales en pantalla. 72 Capítulo 6. Recuérdame 3.0 Modificación de texto e imágenes: Se implementó un visualizador de texto e imágenes (figura 6.7) que se activa mediante un botón “Modificar Tamaño”. Este visualizador permite al usuario ajustar tanto el tamaño de la letra como el de las imágenes presentes en el libro. Esta funcionalidad busca facilitar la lectura para personas con dificultades visuales. Se ha desarrollado como un modal que presenta dos secciones independientes, una para el tamaño de la letra y otra para el tamaño de la imagen. Cada sección ofrece tres opciones clasificadas por tamaño: “Normal”, “Grande” y “Muy Grande”. El visualizador del modal muestra un texto predefinido y una imagen por defecto para cada opción de modificación, mostrando al usuario como quedaría el libro. Una vez que el usuario ha seleccionado sus preferencias y confirmado los datos, estos se reflejan automáticamente en todos los recuerdos del libro. Dicho cambio mejoró la estética a los libros de historias de vida tal y como puede observarse en la figura 6.8. Figura 6.7: Menú de configuración de tamaños Visualizador de imágenes: En la versión anterior de Recuérdame 2.0, para visualizar correctamente las imágenes del libro, era necesario hacer clic en la propia imagen, lo que llevaba a abrir una nueva pestaña (figura 6.9), sacando al usuario de la aplicación, generando pérdida del contexto e interrupción de la experiencia de usuario. Para evitar estos inconvenientes, se implementó un ampliador de imágenes dentro de la propia aplicación, utilizando un modal (figura 6.10). Esto permite al usuario visualizar las imágenes sin tener que abandonar la interfaz de Recuérdame. 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 73 Figura 6.8: Libro de historia de vida por defecto (arriba) VS Libro de historia de vida con texto e imagen modificado en tamaño (abajo) Figura 6.9: Imagen abierta en otra pestaña (Recuérdame 2.0) Indicador de procesamiento al generar el libro: La generación del libro de historia es un proceso que puede tardar un tiempo considerable, por ello se implementó una indicación visual poniendo el cursor del ordenador en forma de reloj de arena. Esta función permite al usuario saber que el libro de historia aún se está procesando y aún no ha cargado por completo. De esta manera, se proporciona retroalimentación en tiempo real sobre el estado del proceso, ayudando a mantener la transparencia en la interacción con la aplicación. 74 Capítulo 6. Recuérdame 3.0 Figura 6.10: Imagen ampliada, mostrada directamente sobre el libro de historia de vida 6.2.3. Cambios en la generación de pdf de Historia de Vida Durante la realización de pruebas para comprobar el correcto funcionamiento de cada una de las opciones posibles con la historia de Vida, encontramos dos errores relacionados con la generación del pdf de una Historia de Vida: Problema con la visualización de imágenes: Al generar un pdf con recuerdos que tuvieran imágenes asociadas, en el pdf no era posible visualizar las imáge- nes asociadas. Revisando con detenimiento el código, descubrimos que todas las imágenes se superponían, lo cual impedía su visualización. Una vez de- tectado el error, se procedió a modificar el código para que las imágenes se mostraran tres por fila, pudiendo continuar en nuevas filas de tres en caso de haber más imágenes. Este cambio se puede visualizar en la figura. 6.11. Problema con el filtrado de los recuerdos: Al aplicar el filtrado para la genera- ción del pdf, no importaba si se incluían solo los recuerdos “Aptos” o solo los “No aptos”, te mostraba todos los recuerdos en el pdf, ignorando el filtro. Al revisar la lógica de la función del filtrado pudimos comprobar que no se estaba controlando los valores de las variables de apto o no apto. Por lo tanto solu- cionamos el problema, permitiendo filtrar la generación de un pdf de historia de vida según todas las opciones disponibles. 6.2.4. Cambios en los vídeos de Historia de Vida Para el acceso a la generación de los vídeos de historias de vida se ha añadido una nueva opción en el menú principal para que permita ver los resultados generados 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 75 Figura 6.11: Generación del pdf de un libro con imágenes y crear nuevos vídeos, tal como se puede ver en la figura 6.12. Además se creó una vista diseñada específicamente para la generación de vídeos, que se puede visualizar en la figura 6.13. La generación de esta nueva vista afecta a la vista de generación de historias de vida ya que se eliminó la opción de generar vídeo dentro de dicha vista, quedando solo las opciones de generar libro y pdf. Uno de los problemas en los vídeos de historia de vida de “Recuérdame 2.0” era el no poder saber cuando un vídeo había terminado de procesarse y estaba listo para ser reproducido, para solventarlo se decidió crear una función automática que recargue la página cada 60 segundos. De esta forma el estado del vídeo se actualizará como mucho un minuto tras finalizar su procesamiento. 6.2.5. Cambios en los Resúmenes de Historia de Vida El acceso a la generación de los resúmenes de historias de vida originalmente aparecía como una opción adicional en la vista de generar una historia de vida lo 76 Capítulo 6. Recuérdame 3.0 Figura 6.12: Nueva opción de vídeos en el navbar Figura 6.13: Nueva vista para la generación de vídeos cual podía dificultar el acceso a esta funcionalidad al no estar claramente visible en el menú de la aplicación, para solucionarlo se añadió una nueva opción en el menú principal para permitir a los usuarios ver los resúmenes generados y crear nuevos resúmenes. Además, se creó una vista diseñada específicamente para la generación de resúmenes, tal y como se muestra en la figura 6.14, sustituyendo a la vista general de generación de historias de vida donde a parte de generar libro y pdf de la historia también podías generar un resumen o un vídeo tal y como se puede ver en la figura 6.15. En la nueva versión de la aplicación, estas dos últimas opciones han sido eliminadas de dicha vista, ya que se creó una vista específica para cada caso. Durante la evaluación realizada a Recuérdame 2.0, los terapeutas señalaron el hecho de que los resúmenes contenían un alto número de términos complejos que podría hacer que los usuarios que sufren problemas de atención se perdieran en su lectura. Para solucionar este problema, en la nueva versión de la aplicación se reali- zaron ajustes en el prompt utilizado en la generación de resúmenes, como se pueden ver en la figura 6.16. Estos ajustes tuvieron como objetivo disminuir la presencia de palabras menos comunes, contribuyendo así a la resolución del problema. Respecto a la propia presentación de los resúmenes, los evaluadores de Recuér- dame 2.0 solicitaron la modificación del título para que hiciera referencia a las cate- gorías que se incluyen, en lugar de a las etapas de vida del paciente que abarcaban los recuerdos, ya que de este modo se consigue un título más descriptivo. 6.2.6. Cambios en los Informes Una de las solicitudes de los evaluadores de Recuérdame 2.0 fue la inclusión del centro al que pertenece el terapeuta en los informes generados por ellos mismos. Por esta razón se creó un campo “centro” que el terapeuta debería indicar a la hora de registrarse y que posteriormente se utilizaría en los informes generados. De esta 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 77 Figura 6.14: Imagen de la nueva vista para la generación de resúmenes Figura 6.15: Imagen de la antigua vista para la generación de resúmenes y videos Figura 6.16: Imagen del script generador de resúmenes después del cambio manera, al generar el PDF de los informes de sesión, diagnóstico o seguimiento se mostrarán dos campos: el nombre del terapeuta y el centro al que pertenece. Un ejemplo de como se visualiza la información del centro en los PDFs se presenta en la figura 6.17. 78 Capítulo 6. Recuérdame 3.0 Figura 6.17: Modificación pdf informe de seguimiento 6.2.7. Cambios en los Diagnósticos En una de las evaluaciones con terapeutas surgieron dudas sobre las escalas per- sonalizadas, para evitar confusiones, se añadieron aclaraciones en forma de tooltips con información extra sobre las escalas personalizadas, también se añadieron tooltips con información a cada una de las tres escalas predeterminadas. Las tooltips, visibles en la ventana de diagnostico de la sección de Evaluaciones, explican cada una de las escalas predeterminadas en detalle, comentando su nombre completo y como afecta en el efecto cognitivo el tener una mayor puntuación en la escala. Mientras, que en el tooltip de escala personalizada se explica el cometido de este tipo de escala. Uno de los cambios realizados en los diagnósticos, el cual también fue solicitado por los evaluadores de Recuérdame 2.0, se centró en las gráficas de seguimiento que inicialmente solo mostraban los datos de las tres escalas predeterminadas, sin mos- trar las escalas personalizadas. Para mostrar también las escalas personalizadas, se creó una nueva gráfica (figura 6.18) a la derecha de la gráfica de escalas predeter- minadas en la que se muestra la evolución de las diferentes escalas personalizadas que pueda incluir el terapeuta en los informes de seguimiento, al mostrarlo en una gráfica diferente a la original, evitamos saturarla con excesiva información, lo cual podría dificultar su análisis. 6.2.8. Cambios en las Sesiones En la versión anterior de la aplicación, cada sesión se limitaba a ser asignada a una única etapa (Infancia, Adolescencia, Adulto joven, Adulto, Adulto Mayor). Sin embargo, durante la evaluación con los terapeutas, surgió la necesidad de permitir 6.2. Mejoras en las funcionalidades de Recuérdame 2.0 79 Figura 6.18: Nueva gráfica con escalas personalizadas la asignación de más de una etapa a una sola sesión. Esta nueva funcionalidad ha sido incorporada a la nueva versión de la herramienta. 6.2.9. Cambios en las tablas Originalmente los elementos de todas las tablas aparecían en orden alfabético, durante las evaluaciones realizadas en Recuérdame 2.0 uno de los evaluadores indicó que en aquellas tablas en las que los datos incluían una fecha (fecha de creación, por ejemplo) convenía ordenar las filas de la tabla por fecha para que en primer lugar apareciese siempre la fila más reciente. Para incluir esta modificación se modificó la función encargada de mostrar las tablas, incluyendo una condición que compruebe si la tabla contiene fechas y en caso afirmativo ordene su contenido por fecha en orden cronológico descendente antes de mostrarla. Además, en la tabla de informes de seguimiento, se ha corregido el campo “número de sesiones desde el anterior informe”. Este campo presentaba irregularidades en Recuérdame 2.0 las cuales fueron detectadas por sus creadores y quedaron pendientes como trabajo futuro. La modificación implementada garantiza que dicho campo muestre el número de sesiones que se han realizado desde el último informe de seguimiento de una manera correcta. 6.2.10. Cambios en Información de Usuario Para ahorrar tiempo en el proceso de vincular un cuidador a un usuario, tal y como pidieron los evaluadores de Recuérdame 2.0, se habilitó la posibilidad de especificar un cuidador en el momento en el que se da de alta a un nuevo usuario. Para ello se añadió un nuevo campo en el formulario de crear usuario el cual permite escoger a un cuidador entre los ya existentes. Como inicialmente no existe ningún paciente al que vincular al cuidador, en primer lugar se crea el paciente y acto seguido se vincula con el cuidador si el usuario ha rellenado el nuevo campo. 6.2.11. Cambios en los recuerdos A la hora de especificar las etapas a las que pertenece cada recuerdo, el uso de los términos “infancia”, “adolescencia” y “adulto” resultaba ambiguo ya que no determina con exactitud el periodo de tiempo abarcado, los evaluadores de Recuérdame 2.0 pidieron clasificar las etapas para que mostrasen un intervalo numérico y poder 80 Capítulo 6. Recuérdame 3.0 ofrecer al usuario esa precisión. “Infancia” pasó a ser “Infancia (0 - 11 años)”, así como el resto de términos: “Adolescencia (12 - 18 años)”, “Adulto joven (19 - 27 años)”, “Adulto (28 - 59 años)” y “Adulto Mayor (60+ años)”. 6.2.12. Cambios en el calendario En el calendario, actuando en el rol de terapeuta, podemos visualizar y elimi- nar sesiones y actividades. Durante las pruebas de calendario, comprobamos que no era posible eliminar una sesión, mientras que eliminar una actividad si lo era. Investigando el código pudimos encontrar que el error se debía a dos problemas principales: Al pulsar “eliminar sesión”, no se estaba ejecutando la lógica correspondiente, en realidad no estaba haciendo ninguna operación al respecto. No se estaba obteniendo el ID de la sesión a eliminar, por lo que aunque la lógica de eliminación funcionara, no iba a poder identificar que sesión eliminar. Una vez identificado los errores, procedimos a arreglarlos. Realizamos las mo- dificaciones correspondientes para que el sistema reconozca y ejecute la acción de eliminar una sesión al pulsar el botón correspondiente. A parte, aseguramos que el ID se obtuviera correctamente para poder realizar su eliminación. Como resultado, ahora se puede eliminar tanto una sesión como una actividad desde calendario de una manera correcta. 6.3. Almacenamiento de contenido multimedia Recuérdame 2.0 almacenaba los archivos multimedia, es decir, las fotografías vinculadas a los recuerdos e historias de vida y logos e imágenes de los avatares de los usuarios directamente en el servidor, dentro de una carpeta. En la base de datos únicamente se almacenaba la ruta de acceso al contenido multimedia alma- cenado, para así poder seleccionarlo cada vez que fuera necesario. Esto suponía un problema, sobre todo a la hora de migrar a otro servidor, pues al no poseer el mis- mo sistema de ficheros, todas las rutas almacenadas en la base de datos quedarían inutilizadas y el acceso a las imágenes almacenadas antes de la migración para los usuarios de la aplicación sería imposible. Una solución sería almacenar el contenido multimedia directamente en la base de datos o, preferiblemente, utilizar un servicio de almacenamiento en la nube. Durante este TFG buscamos la manera de mejorar el almacenamiento de conte- nidos multimedia en la aplicación y para ello investigamos varias herramientas con servicios en la nube y así, cambiar la forma en que se almacena el contenido mul- timedia en la aplicación. A continuación presentamos cada una de las herramientas analizadas con este fin: Azure Blob Storage4: fue una de las primeras aplicaciones que buscamos, 4https://azure.microsoft.com/es-es/products/storage/blobs https://azure.microsoft.com/es-es/products/storage/blobs 6.3. Almacenamiento de contenido multimedia 81 pertenece al entorno de Azure5. Azure Blob Storage permite el guardado de contenido multimedia en forma de BLOB6, gracias a esto tolera un gran al- macenamiento de datos no estructurados, así como datos binarios, archivos de audio, vídeos, imágenes y documentos. Ofrece una accesibilidad global a través de HTTP/HTTPS, con bibliotecas para múltiples lenguajes de programación, para facilitar su integración en las aplicaciones. En cuanto a la seguridad, la herramienta incluye autenticación de usuarios y encriptación de datos, ase- gurando la protección de los datos almacenados en la nube. En términos de precios, Azure Blob Storage ofrece una versión gratuita de prueba incluyendo 200 dólares para probar todos sus servicios. Entre las desventajas que nos encontramos está el hecho de que Azure fina- lizó recientemente el soporte para el SDK7 de PHP, otra opción de acceso es mediante llamadas directas a la API de Azure, pero las configuración de esta tiene una dificultad elevada, lo cual añade un nuevo nivel de complejidad que, por ejemplo, AWS S3 no tiene ya que si da soporte a un SDK en PHP, por otro lado, la prueba gratuita de Azure está limitada por los 200 dólares durante 30 días que se nos otorgan al iniciarla. Amazon Web Service S38: es un servicio de almacenamiento en la nube muy utilizado. S3 permite almacenar datos en objetos dentro de entidades denominadas “buckets”, con una capacidad de hasta 5 terabytes por bucket. La flexibilidad es una característica que debemos destacar de S3. Permite la configuración de controles de acceso para los datos almacenados, facilitando la gestión de la seguridad. Además, posibilita el monitoreo continuo de los datos, proporcionando entendimiento valioso sobre el uso y el rendimiento. También demuestra un rendimiento sólido al admitir al menos 3500 solicitudes por se- gundo para agregar datos y 5500 solicitudes por segundo para recuperarlos. Aunque ofrece diversas ventajas, es importante destacar que la adopción de Amazon S3 puede presentar desafíos. La versión gratuita tiene una duración limitada a 12 meses, y el servicio tiene una curva de aprendizaje significativa, lo que nos puede resultar desafiante al ser principiantes sobre el uso de AWS. Además, es posible que debamos realizar algunas modificaciones para que la aplicación pueda ser compatible con el almacenamiento en Amazon S3. Google Cloud Storage9: es un servicio de almacenamiento en la nube que facilita la gestión, acceso y protección de sus datos. Ofrece una capacidad mensual de 5 gigabytes con costos variables según la clase de almacenamien- to. Como nuevos usuarios, se nos brinda la ventaja de recibir 300 euros en créditos gratuitos, lo cual facilita la adopción y exploración del servicio sin 5https://azure.microsoft.com/es-es/resources/cloud-computing-dictionary/what-i s-azure 6Binary Large Object, formato de guardado para archivos complejos como imágenes, estos se guardan en forma de código binario 7Software Development Kit, proporciona al desarrollador las herramientas necesarias para de- sarrollar sus aplicaciones y en muchos casos interaccionar con APIs de manera más sencilla 8https://aws.amazon.com/es/s3/ 9https://cloud.google.com/storage https://azure.microsoft.com/es-es/resources/cloud-computing-dictionary/what-is-azure https://azure.microsoft.com/es-es/resources/cloud-computing-dictionary/what-is-azure https://aws.amazon.com/es/s3/ https://cloud.google.com/storage 82 Capítulo 6. Recuérdame 3.0 inconvenientes. Su escalabilidad permite ajustar el espacio de almacenamien- to según nuestras necesidades. En términos de seguridad, se destaca por su solidez tanto a nivel físico como en el ámbito del software y las aplicaciones. Adicionalmente, integra potentes soluciones de inteligencia artificial y apren- dizaje automático. La API de Google Cloud Storage simplifica la integración para el almacenamiento y recuperación de archivos multimedia a través de solicitudes HTTP, pudiendo ser compatible con “Recuérdame 3.0”. Tras barajar nuestras opciones, decidimos utilizar Azure Blob storage para al- macenar el contenido multimedia de los usuarios. Esta decisión fue motivada prin- cipalmente por el hecho de que ya se había decidido utilizar otras aplicaciones del ecosistema Azure para implementar las nuevas funcionalidades de Recuérdame 3.0 por lo que ya teníamos una cuenta de Azure creada y configurada, otro de los mo- tivos fue la experiencia de Samuel con Azure, quien trabaja con estas herramientas en su puesto de trabajo. Para implementar Azure Blob storage en la aplicación, en primer lugar fue ne- cesario instalar la SDK de Azure para PHP mediante Composer. También tuvimos que configurar una cuenta de almacenamiento de Azure para poder crear y admi- nistrar un contenedor de BLOBs, una vez realizado esto, procedimos a modificar el código que gestionaba el almacenamiento de contenido multimedia en Recuérdame 2.0, sustituyendo aquellas partes que buscaban y almacenaban el contenido en car- petas locales del servidor por solicitudes a nuestro contenedor, la base de datos no necesitó ser modificada, ya que guardar los nombres de las imágenes en esta era útil para almacenarlas y buscarlas en el contenedor. Las modificaciones realizadas para la visualización de imágenes y multimedia fueron: la visualización de la imagen del perfil del paciente tanto en la navbar como en la vista específica de información del usuario y también al generar el pdf de una historia de vida; la forma en que se muestra la multimedia asociado tanto a una sesión como a un recuerdo; visualización de la imagen del perfil del cuidador asociado al paciente en su vista de información del cuidador; las imágenes de las sesiones en el calendario; la representación de la multimedia asociada a un recuerdo en el momento de generar un libro de historia de vida, también al abrir el modal para la modificación de tamaño de la imagen y por último la forma de mostrar la multimedia al momento de realizar la generación de un vídeo. La creación de la clase BLOBAzure.php facilitó la interacción con los BLOBs, ya que en dicha clase se implementaron funciones especificas para poder subir, obtener y eliminar un BLOB del contenedor. Inicialmente, se utilizó la codificación base64 para mostrar las imágenes alma- cenadas en el contenedor, pero posteriormente pudimos averiguar que cada BLOB almacenado tiene asociado una url y un código de verificación generado a través de Azure, por lo tanto modificamos el código para la visualización mediante las rutas. Utilizar esta estrategia ofrece: más eficiencia, siendo mas eficiente acceder al BLOB directamente que a su versión codificada; nos da una facilidad de uso, ya que so- lamente tratamos con una ruta; mejora la escalabilidad, debido a que se evita la sobrecarga de procesar grandes cantidades de datos binarios en base64; la seguridad y su interoperabilidad ya que las rutas BLOB son un estándar usado en la industria del almacenamiento en la nube, facilitando su integración con otros sistemas. 6.4. Nuevas funcionalidades 83 6.4. Nuevas funcionalidades En esta sección abordaremos las nuevas funcionalidades incorporadas en Recuér- dame 3.0, desarrolladas con el objetivo de mejorar la experiencia y efectividad de la aplicación para terapeutas y usuarios. Estas funcionalidades surgen de las nece- sidades identificadas en Recuérdame 2.0 y han sido integradas de tal manera que se mantenga la facilidad de uso y la fluidez del flujo de trabajo. A continuación, se detallarán las nuevas funcionalidades, junto con la motivación para su desarrollo, una descripción de la herramienta elegida para su creación y las razones de dicha elección, así como la manera en que ha se ha integrado en la aplicación. 6.4.1. Narración de Historias de Vida Para mejorar la experiencia y efectividad de Recuérdame 3.0, nos hemos enfocado en apoyar a los terapeutas en sus sesiones. Una de las necesidades que identificamos fue la de incorporar la narración auditiva de los recuerdos almacenados en la histo- ria de vida de los pacientes. Esta funcionalidad surge especialmente para personas que tienen dificultades para leer, ya sea por problemas de visión o por deterioro cognitivo. Para integrar esta funcionalidad, es necesario utilizar una herramienta de conversión de texto a voz, para ello, evaluamos varias opciones disponibles en la web, analizando sus características, ventajas y desventajas, dicho análisis se refleja en la sección 5.2. Mozilla TTS es un proyecto de código abierto que proporciona narraciones de voz naturales y permite un gran control sobre los datos y la priva- cidad. Sin embargo, la calidad de la voz depende de los modelos disponibles y su documentación limitada nos hizo descartarla. Microsoft Azure Speech Service ofrece una integración rápida , es fácil de usar y ofrece soporte para varios idiomas. Pero su versión gratuita tiene un límite de uso muy bajo y la calidad de voz puede ser insuficiente, además de tener una personalización limitada, lo que nos llevó a descar- tarlo para el proyecto. Finalmente, Google Cloud Text-to-Speech utiliza inteligencia artificial avanzada para generar voces naturales y expresivas. Ofrece una gran varie- dad de voces en más de 120 idiomas, permite ajustar la entonación y la velocidad, y cuenta con una buena documentación10, además de una fácil integración. Su versión gratuita inicial, con un crédito total de 300 USD para estudiantes11, y la capacidad de procesamiento de hasta 480 horas de audio por día, lo convirtieron en la opción elegida para nuestro proyecto. En Recuérdame 3.0 cada vez que el usuario crea o modifica un recuerdo se genera un archivo de audio con la descripción del recuerdo y este audio se guarda en la base de datos junto con el recuerdo. Al generar el libro de historia de vida, los recuerdos son recuperados de la base de datos junto con su audio ofreciendo al usuario la opción de escuchar la narración de cada recuerdo en voz alta pulsando en el icono del archivo con el símbolo de “play”. Cuando de pulse y se active la narración aparecerán 10https://cloud.google.com/speech-to-text/quotas?hl=es-419 11https://cloud.google.com/text-to-speech/pricing?_gl=1*14kgyj1*_up*MQ..&gclid= CjwKCAjw17qvBhBrEiwA1rU9w4MkvsSdsCu07qpMdNS5e7ytJURHJ8kfxSksrZ4PTXHvZpvyYiLbfhoC B3oQAvD_BwE&gclsrc=aw.ds&hl=es-419 https://cloud.google.com/speech-to-text/quotas?hl=es-419 https://cloud.google.com/text-to-speech/pricing?_gl=1*14kgyj1*_up*MQ..&gclid=CjwKCAjw17qvBhBrEiwA1rU9w4MkvsSdsCu07qpMdNS5e7ytJURHJ8kfxSksrZ4PTXHvZpvyYiLbfhoCB3oQAvD_BwE&gclsrc=aw.ds&hl=es-419 https://cloud.google.com/text-to-speech/pricing?_gl=1*14kgyj1*_up*MQ..&gclid=CjwKCAjw17qvBhBrEiwA1rU9w4MkvsSdsCu07qpMdNS5e7ytJURHJ8kfxSksrZ4PTXHvZpvyYiLbfhoCB3oQAvD_BwE&gclsrc=aw.ds&hl=es-419 https://cloud.google.com/text-to-speech/pricing?_gl=1*14kgyj1*_up*MQ..&gclid=CjwKCAjw17qvBhBrEiwA1rU9w4MkvsSdsCu07qpMdNS5e7ytJURHJ8kfxSksrZ4PTXHvZpvyYiLbfhoCB3oQAvD_BwE&gclsrc=aw.ds&hl=es-419 84 Capítulo 6. Recuérdame 3.0 de inmediato los iconos de pausa y reinicio a la derecha del icono “play” tal y como se muestra en la figura 6.19. Para incorporar Google Cloud TTS en Recuérdame 3.0, primero creamos una cuenta en Google Cloud y configuramos un nuevo proyecto. Esto nos permitió ges- tionar nuestros recursos y vincular las API y servicios necesarios para integrar TTS con Recuérdame 3.0. Una vez seleccionada la API de TTS, generamos un archivo de autenticación asociado al proyecto, necesario para autenticar y autorizar las solicitu- des al servicio de Google Cloud. Este archivo se incluyó en nuestro servidor. Además, instalamos las librerías de Google Cloud en la aplicación utilizando Composer, lo que nos permitió realizar solicitudes al servicio TTS con el texto a narrar. Estas librerías son esenciales para interactuar con la API y garantizar que las solicitudes se procesen correctamente. Cuando se crea un recuerdo en la aplicación, se llama a la API de Google Cloud TTS para generar un archivo de audio con la descripción del recuerdo. Este archivo se guarda con el nombre de “recuerdo(ID del recuerdo)audio.mp3” en un contenedor específico dentro de nuestra cuenta de almacenamiento en Azure. Hemos decidido utilizar una cuenta de almacenamiento diferente para los audios y otra para las imágenes, lo que nos permite mantener un orden y acceder a estos archivos de manera más eficiente. El acceso a los audios es similar al de las imágenes. Una vez que obtenemos el ID del recuerdo que el usuario está viendo, el controlador de la aplicación nos proporciona la ruta correspondiente. Utilizando esta ruta, accedemos al contenedor de audio en Azure, localizamos el archivo y almacenamos su ruta en un array temporal. Este array contiene todos los audios asociados a los recuerdos seleccionados en el libro de historia de vida y se elimina cuando el usuario abandona el libro, asegurando así una gestión eficiente y ordenada. Esta estructura no solo nos permite manejar los recuerdos de forma individual, sino que también ofrece al usuario la posibilidad de pausar, reanudar el audio, o reiniciarlo desde el principio. Estas opciones mejoran la experiencia del usuario al interactuar con los recuerdos narrados, brindándoles un control total sobre la reproducción del audio. Actualmente la aplicación utiliza la versión gratuita de prueba, con límite de uso hasta el 8 de junio de 2024, si se quisiera poner en producción dicho proyecto, se debería adquirir una licencia de pago de Google Cloud para poder utilizar el servicio TTS. En el apéndice C se explica el proceso de cambio de versión gratuita a una de pago al igual que las instrucciones para el despliegue del TTS. 6.4.2. TherapEase: ChatBot para terapia online Otra de las funcionalidades que añadimos en Recuérdame 3.0 fue un ChatBot diseñado para facilitar que los cuidadores y los pacientes pudieran usarlo para tra- bajar los recuerdos. Esta nueva funcionalidad, la cual había quedado pendiente de desarrollar en Recuérdame 2.0, permitiría la realización de sesiones basadas en re- miniscencia desde casa sin contar con la participación del terapeuta. Decidimos llamar al ChatBot para los terapeutas “TherapEase”, un juego de palabras que combina “Therapy” (terapia en inglés) y “Ease” (facilidad en inglés). Therapy se refiere a la práctica profesional de ayudar a las personas a superar problemas emocionales, psicológicos o de comportamiento lo cual implica apoyo, 6.4. Nuevas funcionalidades 85 Figura 6.19: Iconos para la reproducción del audio en los recuerdos orientación y tratamiento hacia los usuarios. Por otra parte, Ease significa facilidad o comodidad respecto al proceso terapéutico, sin complicaciones y que ayuda a reducir la carga emocional. TherapEase nos pareció un nombre atractivo y fácil de recordar para el usuario final. La función de este ChatBot es la de cumplir el papel de terapeuta, recibiendo un texto previamente generado a partir de los recuerdos seleccionados para trabajar en una sesión que utiliza como instrucciones para llevarla a cabo como si se tratara de un terapeuta real. Con ello permitimos que los usuarios de la aplicación puedan trabajar los recuerdos desde sus hogares y no se limiten a sesiones presenciales con terapeutas. Para integrar esta funcionalidad era necesario contar con una herramienta que nos permitiese añadir a nuestra aplicación un ChatBot con la capacidad de leer los mensajes escritos por los usuarios y devolver respuestas correctas y fáciles de enten- der. Investigamos múltiples herramientas que pudieran cumplir ese propósito siendo finalmente consideradas las anteriormente mencionadas en la sección 5.3. Tras ana- lizar estas herramientas llegamos a las siguientes conclusiones: Azure Bot Service restringe el acceso al servicio Microsoft Entra ID12, necesario para la creación de bots por lo que tuvimos que descartarlo. Gemini, al menos en el momento en el que se escribió este TFG, no estaba disponible como servicio API en España, lo cual nos obligó a descartarlo. En cuanto a ChatGPT no cuenta con la posibilidad de crear ChatBots en aplicaciones web, lo que nos obligaría a utilizar otro servi- cio, como DialogFlow para poder implementarlo, resultando demasiado complicado comparado con la otra alternativa. Finalmente, elegimos ChatBase por la facilidad de su integración en nuestra aplicación. Si bien su versión gratuita utiliza el modelo de ChatGPT 3.5, no tan avanzado como el de Azure (ChatGPT 4), sí es lo sufi- cientemente potente como para cumplir su propósito, además cuenta con múltiples opciones de configuración aplicables desde la web de ChatBase, como la posibilidad de corregir las respuestas generadas por el ChatBot y hacer que aprenda de ellas para mejorarlas o especificar sus funciones y comportamiento mediante archivos de texto (pdf, txt, doc, ...), texto plano o URLs (también a través de la web de Chat- Base), lo que permite entrenar al bot para obtener una experiencia más acorde al 12www.microsoft.com/es-es/security/business/identity-access/microsoft-entra-id www.microsoft.com/es-es/security/business/identity-access/microsoft-entra-id 86 Capítulo 6. Recuérdame 3.0 contexto de la terapia basada en reminiscencia. El encargado de preparar una sesión virtual, tal y como se muestra en la figura 6.20, es el terapeuta el cual decide como se desarrollará la sesión, especificando su objetivo, descripción, la secuencia de acciones que se llevarán a cabo durante la misma y los recuerdos que se van a trabajar. La sesión creada se mostrará en el calendario del cuidador, tal y como se muestra en la figura 6.21 que será el encargado de iniciarla. Para iniciar la sesión, el cuidador debe pulsar sobre el botón que aparece en el la ventana que se muestra al pulsar sobre la sesión en el calendario (ver figura 6.22). En el momento en el que el cuidador inicie la sesión virtual, se mostrará una nueva vista con el ChatBot TherapEase. Para poder interactuar correctamente con TherapEase, el cuidador debe enviarle primero la información necesaria sobre la sesión, esta información se genera automáticamente a partir de los datos introducidos por el terapeuta al crear la sesión, para obtenerla, el cuidador debe pulsar sobre el botón “Copiar recuerdos de la sesión” (ver figura 6.23), esto copiará la información en el portapapeles. A continuación, el cuidador pegará la información del portapapeles y se la enviará al ChatBot. Con esta información el bot generará de vuelta una serie de preguntas y pistas basadas en la información recibida, tal y como se muestran en la figura 6.24. A partir de este momento, el cuidador tiene la posibilidad de interactuar libremente con TherapEase para pedir más preguntas u otras indicaciones útiles para trabajar la sesión, como si de un terapeuta se tratase. En el momento en el que el cuidador de por finalizada la tarea, podrá salir simplemente pulsando sobre el botón de cancelar. Figura 6.20: Terapeuta preparando sesión virtual Para integrar el ChatBot en la aplicación, en primer lugar fue necesario crear una cuenta en ChatBase, una vez creada, configuramos nuestro ChatBot, explicándole cual es su función, ser un terapeuta especializado en terapias de reminiscencia, con la labor labor de ayudar a los cuidadores y a las personas a las que cuidan durante sus actividades y sesiones, proporcionando pistas y preguntas relevantes relacionadas con los recuerdos y las pautas marcadas en la sesión, mediante archivos PDF (su contenido puede verse en el apéndice D), que detallan como debe comportarse, que respuestas debe dar y cuales evitar, también configuramos su interfaz para que sea visualmente acorde a la interfaz de la web. Tras ello, copiamos el código que 6.4. Nuevas funcionalidades 87 Figura 6.21: Calendario cuidador con sesión virtual Figura 6.22: Botón para iniciar la sesión virtual Figura 6.23: Vista de la sesión virtual iniciada, puede observarse el botón “Copiar recuerdos de la sesión” en la parte superior 88 Capítulo 6. Recuérdame 3.0 Figura 6.24: Respuesta de TherapEase, con preguntas basadas en el recuerdo de la sesión proporciona ChatBase para introducir nuestro ChatBot en una nueva vista de sesión virtual. Agregamos una nueva casilla como opción en el formulario de creación de sesiones que indica si se trata de una “sesión virtual”. A diferencia de una sesión normal, la cual solo es visible en el calendario de los terapeutas, una sesión virtual también se muestra en el calendario de los cuidadores y estos pueden abrirla como cualquier actividad e iniciarla mediante un botón situado en la parte inferior de la ventana emergente que aparecerá, una vez pulsado el botón se muestra la nueva vista con el ChatBot, también se genera el texto que el usuario debe enviar al cuidador con todos los datos necesarios para que el ChatBot pueda llevar a cabo la sesión, para obtener el texto se debe pulsar el botón que se encuentra justo debajo de el título de la sesión, esta botón copia el texto en el portapapeles (se muestra un mensaje en una ventana emergente indicando que el texto ha sido copiado) y a continuación el usuario debe pegarlo y enviarlo al chat para iniciar la sesión, esto está hecho de esta manera para evitar en la medida de lo posible que se pueda leer el texto con todos los datos de la sesión, a partir del primer mensaje, el ChatBot toma el papel de un terapeuta, proporcionando pistas e información útil durante toda la sesión, una vez finalizada la sesión, basta con pulsar sobre el botón cancelar para salir de la sesión. 6.4.3. Nemo: ChatBot guía para Recuérdame 3.0 Mientras desarrollábamos Recuérdame 3.0, nos dimos cuenta de que al añadir tantas funcionalidades nuevas, los usuarios podrían tener dificultades para aprender a utilizarlas. Para evitarlo hemos incorporado un segundo ChatBot, con el propósito de ayudar a los usuarios de la aplicación con las distintas funcionalidades que ofrece la herramienta, siendo esto de especial relevancia para los nuevos usuarios que no conocen la aplicación. Decidimos llamar al ChatBot de guía por la aplicación “Nemo”, un guiño a Mne- mosyne, la diosa griega de la memoria. Este nombre combina la esencia de la memoria y el recuerdo, que es fundamental para la aplicación Recuérdame 3.0 pero de una manera más breve y amigable. “Nemo” no solo evoca la memoria, sino que también 6.4. Nuevas funcionalidades 89 suena cercano y fácil de recordar para los usuarios. Buscamos que los usuarios sien- tan confianza con el uso del chatbot, reforzando su rol como guía y facilitador de información durante la navegación por Recuérdame 3.0. Este ChatBot debe tener la capacidad de aparecer en todas las vistas de la aplicación, pero sin resultar molesto a la hora de navegar por ella, además de conocer su funcionamiento para poder guiar a los usuarios siempre que lo necesiten. ChatBase cumple con estos requisitos al tener la opción de ocultar el ChatBot tras un botón flotante situado en una esquina de la pantalla, además su capacidad de aprender mediante archivos de texto nos permite explicarle el funcionamiento de la web, el cual recordará a la hora de responder a las preguntas de los usuarios. Por ello y por el hecho de que ya lo habíamos utilizado para implementar el ChatBot terapeuta, ChatBase fue, una vez más la herramienta seleccionada para esta funcionalidad. Este ChatBot está disponible para todos los usuarios independientemente de su rol. Lo entrenamos con archivos PDF (el contenido puede verse en el apéndice E) que detallaban su propósito, el cual es asistir a los usuarios con cualquier duda que puedan tener sobre las funcionalidades de la aplicación, y el funcionamiento de la web de Recuérdame 3.0 y, al igual que con el primer ChatBot, lo introdujimos en la web con el código de ChatBase, en este caso se incluyó en una plantilla para que se muestre en todas las vistas de la aplicación a excepción del inicio y el cierre de sesión, este código en particular crea un nuevo botón flotante en la esquina inferior derecha de la pantalla (ver Figura 6.25) que al ser pulsado despliega el chat en el que el usuario puede escribir sus dudas como puede verse en la figura 6.26. Actualmente la aplicación utiliza la versión gratuita de prueba, con límite de uso de hasta veinte peticiones al día, si se quisiera poner en producción dicho proyecto, se debería adquirir una licencia de pago de ChatBase para poder aumentar el número de peticiones, acceder a los servicios de API y mejorar la capacidad de aprendizaje. En el apéndice C se explica el proceso de cambio de versión gratuita a una de pago al igual que las instrucciones para el despliegue del Chatbot en la aplicación. Figura 6.25: Botón flotante “Nemo” 90 Capítulo 6. Recuérdame 3.0 Figura 6.26: Nuevo ChatBot de ayuda, expandido desde la parte inferior de la pan- talla 6.4.4. Detección de emociones La incorporación de esta funcionalidad surgió de la necesidad de optimizar el tiempo de los profesionales, evitando la tediosa tarea de identificar manualmente las emociones evocadas por los recuerdos de los pacientes, y buscando, una solución que garantizara precisión, eficacia y una integración fluida en el flujo de trabajo ya establecido. Para realizar esta tarea era necesaria una herramienta que analizara los textos y extrajese las emociones que evocaban dichos textos. De esta manera cuando se creasen o editasen nuevos recuerdos se daría la opción de identificar automática- mente el sentimiento del recuerdo sin necesidad por parte del terapeuta de analizar el mismo el recuerdo. Para conseguir esta identificación automática de emociones se analizaron varias herramientas como se puede ver en el la sección 5.4. La elección del Lenguaje de Azure AI13 sobre otras herramientas como Lexalytics o Pangeanic se fundamentó en varios factores. En primer lugar, se consideró la capacidad de Azure AI para analizar el sentimiento en texto, lo cual era crucial para el propósito de la funcionalidad. Si bien otras herramientas también ofrecían funcionalidades similares, la mayoría se centraban en analizar sentimientos enfocados en la toma de decisiones empresariales. Además, la mayoría de herramientas tenían un plan de pago demasiado elevado para nuestras pretensiones. Por lo que se decidió realizar la implementación con Lenguaje de Azure AI, apostando por su cantidad de llamadas gratuitas a la API y la gran 13https://azure.microsoft.com/es-es/products/ai-services/ai-language https://azure.microsoft.com/es-es/products/ai-services/ai-language 6.4. Nuevas funcionalidades 91 calidad de las respuestas. Para incorporar esta nueva funcionalidad en la aplicación se ha redistribuido la pantalla para crear y editar recuerdos de manera que ahora el sentimiento y el grado de positividad aparecen debajo de la descripción remarcados junto a un botón para generarlos automáticamente como se puede ver en la figura 6.27. Aunque la genera- ción se realice automáticamente los campos siguen habilitados para que el terapeuta pueda corregirlos en caso de que el sentimiento o el grado de positividad indicados por la aplicación no sean los adecuados bajo el punto de vista del terapeuta. Figura 6.27: Nueva distribución para generar sentimiento automáticamente Para realizar la integración en primer lugar se creo una cuenta de Azure con la subscripción gratuita para estudiantes. Posteriormente se creo un nuevo servicio de Lenguaje de Azure AI, una vez creado se accede al endpoint del servicio así como a sus keys para autenticarse. Se intentó inicialmente realizar solicitudes directas desde PHP, pero los problemas de autenticación por el servicio “Microsoft Entra ID” y la falta de un SDK funcional llevaron a descartar esta opción por completo. Se optó por realizar la integración mediante un script de JavaScript especifico que realiza la llamada de las librerías de Node y se ejecuta al pulsar un botón en la pagina web de manera que extrajese el recuerdo y enviase la petición de recibir el sentimiento a la API. Una vez integrada la llamada a Azure vimos que dadas las restricciones en cuanto al uso del SDK no era posible extraer toda la informacón disponible por el servicio de Azure, entre ellas el campo mas importante que era el sentimiento. Por este motivo volvimos a analizar nuestras opciones iniciales y decidimos realizar una integración dual de ChatGPT junto con Lenguaje de Azure AI. Para integrar la llamda de ChatGPT utilizamos el mismo servicio y librerías disponibles que ya usábamos en la generación de resúmenes, pero modificando el promt enviado a ChatGPT para obtener el sentimiento del recuerdo de manera precisa. De esta manera ChatGPT se encargaba de analizar el sentimiento y con la llamada de Azure se obtenía el grado de positividad del recuerdo. En conclusión, la integración de estas dos herramientas de manera conjunta proporcionan una solución robusta para analizar el sentimiento y el grado de positividad del texto, reduciendo así el tiempo que el terapeuta pasa analizando todos los recuerdos. Por otro lado nos hubiera gustado poder mejorar más el análisis del sentimiento pero en este momento 92 Capítulo 6. Recuérdame 3.0 no hay opciones que satisfazcan estos requisitos ni que permitan entrenar la IA para los fines de nuestra aplicación. 6.5. Incorporación de datos reales a la aplicación La inclusión de recuerdos reales aporta una autenticidad y relevancia significa- tivas al proyecto, además de establecer una conexión emocional profunda con los usuarios de “Recuérdame 3.0”. Trabajar con datos reales nos ha proporcionado una perspectiva más amplia sobre el impacto potencial de nuestra aplicación. Para fundamentar esta herramienta en experiencias reales, hemos contado con vídeos proporcionados por el proyecto nacional CANTOR14, en el que participan nuestras directoras de tesis. Estos vídeos contienen entrevistas detalladas a tres per- sonas distintas, realizadas por los terapeutas de la Universidad de A Coruña. Cada entrevista abarcaba varios vídeos en los que se exploraban diferentes épocas de la vida del entrevistado, incluyendo la niñez, la juventud y la madurez. Las entrevis- tas fueron diseñadas para profundizar en recuerdos específicos que aportaran valor emocional y personal a las historias de vida de los entrevistados. Se les solicitó que rememoraran el máximo de recuerdos incluyendo momentos felices, eventos canóni- cos y que identificaran personas significativas en ciertos momentos de sus vidas. De esta manera, obtuvimos una visión integral y detallada de sus experiencias, contri- buyendo así a la riqueza y autenticidad de los recuerdos que pretendemos incluir en “Recuérdame 3.0”. Para gestionar y organizar adecuadamente la información recopilada de las en- trevistas, creamos un documento colaborativo en Google Docs. En este documento, registramos y clasificamos los recuerdos de cada una de las personas entrevistadas. La clasificación se realizó siguiendo una estructura similar a la utilizada para añadir nuevos recuerdos en la aplicación, es decir, a medida que avanzaba la entrevista realizamos la transcripción de cada recuerdo que se mencionaba, como se ve en la figura 6.28, facilitando así, la posterior integración de esta información en la web. Una vez teníamos los recuerdos, rellenamos el resto de campos (si no se propor- cionaba en los vídeos) con coherencia para obtener un listado de recuerdos lo más realista posible. Para proteger la privacidad y el anonimato de las personas entrevis- tadas cambiamos los nombres y apellidos de todas las personas que aparecían en los recuerdos incluidos los propios entrevistados. Esta medida fue esencial para evitar cualquier problema relacionado con la revelación de información confidencial o la identificación de los individuos. La incorporación de todos los datos de los vídeos se resolvió con la creación de 3 usuarios: José, usuario con demencia y 12 recuerdos, Berta usuario sin deterioro cognitivo y 21 recuerdos y Carlos Alberto, usuario sin deterioro cognitivo y 42 recuerdos. La conciencia de trabajar con experiencias de vida reales incrementó nuestra motivación y compromiso con el desarrollo del proyecto, conscientes de que nuestra herramienta podría ofrecer un apoyo significativo a personas similares a las entre- vistadas. 14https://www.ucm.es/itc/noticias/40943 https://www.ucm.es/itc/noticias/40943 6.5. Incorporación de datos reales a la aplicación 93 Figura 6.28: Extracto de la clasificación que usamos para la incorporación de datos reales. Capı́tulo 7 Evaluación de calidad del Software Este capítulo está dedicado a las pruebas que se realizaron en este TFG. Esta pruebas fueron realizadas con el objetivo de asegurarnos de que nuestra aplicación funciona correctamente y cumple con las expectativas de los usuarios finales. Durante el desarrollo de nuestra aplicación se realizaron diferentes tipos de prue- bas que se explican en detalle en este capítulo, concretamente pruebas de sistema, pruebas de compatibilidad y pruebas de aceptación. 7.1. Pruebas de sistema Las pruebas de sistema son un componente fundamental en el proceso de desa- rrollo de software, ya que permiten verificar el funcionamiento correcto del sistema y detectar defectos. El proceso de pruebas de sistema se llevará a cabo una vez finalizada la imple- mentación de cada tarea, y el encargado de desarrollar la prueba de sistema de cada tarea será el creador de la Issue correspondiente. Esta práctica garantiza que la per- sona a cargo de la prueba de sistema no sea la misma que llevó a cabo el desarrollo, cumpliendo así con políticas explícitas que prohíben que el creador de una tarea sea también el ejecutor de la misma. El propósito de las pruebas de sistema es verificar que las nuevas funcionalidades operen sin errores y comprobar el funcionamiento de la aplicación al integrar las nuevas funcionalidades con el avance del proyecto hasta el momento. Durante el proceso de pruebas, se documentarán los valores de entrada y salida, así como las incidencias encontradas, con el fin de garantizar la trazabilidad y la corrección de posibles fallos. Además, se indicará en cada prueba de sistema si se ha probado el funcionamiento con toda la aplicación o solo se ha probado la nueva funcionalidad correspondiente. La documentación se encontrará disponible en una unidad compartida de Drive permitiendo a cada miembro del equipo acceder fácilmente. La plantilla a utilizar para documentar las pruebas de sistema se puede consultar en la figura 7.1. Los resultados obtenidos de las nuevas funcionalidades se analizarán, y en caso de encontrar errores inesperados, se anotarán como comentario en la Issue y se notificará al desarrollador de la tarea de los fallos encontrados. Si al realizar las pruebas de sistema, no se ha encontrado ningún error, entonces el creador de la Issue moverá la tarea a la columna de “Terminadas”. 95 96 Capítulo 7. Evaluación de calidad del Software Figura 7.1: Plantilla para pruebas de sistema Como las tareas son muy variadas se ha establecido un procedimiento general para realizarlas: En el caso de un formulario, se debe comprobar que al rellenarlo se actualice la base de datos, el funcionamiento de los campos obligatorios, y la capacidad de ingresar campos vacíos o con un formato incorrecto. Verificar que los nuevos cambios sean visibles, que sus dimensiones sean co- 7.2. Pruebas de compatibilidad 97 rrectas y que no presenten faltas de ortografía. Asimismo, se debe asegurar que sean compatibles con distintos tamaños de la página web. Evaluar la finalización de una tarea verificando las nuevas implementaciones, como por ejemplo, el correcto desarrollo de nuevas redirecciones de vista. Verificar que las nuevas funcionalidades interactuables, como un nuevo botón, operen correctamente y que su animación funcione adecuadamente. En caso de desear visualizar las pruebas realizadas, estas estarán disponibles a través de este enlace 1. La documentación de estas pruebas proporciona información sobre los casos de prueba realizados en cada prueba de sistema y los resultados obtenidos. 7.2. Pruebas de compatibilidad Las pruebas de compatibilidad son un paso crucial antes de lanzar el software a producción. Estas pruebas se realizan para asegurarse de que la aplicación funcione correctamente en una variedad de sistemas operativos, navegadores, dispositivos y plataformas. El objetivo es identificar y corregir posibles problemas de usabilidad, garantizando así un producto final de alta calidad. En el contexto de este trabajo de fin de grado estimamos que la aplicación va a usarse sobretodo dispositivos móviles como los teléfonos o tablets por su versatilidad. 7.2.1. Casos de prueba El objetivo de estas pruebas fue identificar fallos en los entornos donde es más probable que la aplicación se utilice. Estos entornos incluyen dispositivos con sis- temas operativos Windows y Linux, así como los navegadores más populares en la actualidad: Chrome, Firefox, Opera, Microsoft Edge y Safari. También se realizaron pruebas en dispositivos móviles con Android junto con iPadOS. En estos entornos, se llevaron a cabo las siguientes pruebas: 1. Verificar que todos los elementos se visualicen correctamente, sin campos des- plazados o con tamaños incorrectos, y buscar posibles errores en el diseño general de la web. 2. Comprobar el funcionamiento adecuado de todos los elementos interactivos de la página como sus animaciones, corroborando su correcto funcionamiento y visualización. 3. Verificar todas las funcionalidades de la página, como el envío de formularios, la eliminación de datos de tablas, la creación de elementos mediante ventanas modales y la subida de archivos. 1https://drive.google.com/drive/folders/1R3IREd_YuEJmLg7p3cgunJ4FqXnsUjQY?usp =sharing https://drive.google.com/drive/folders/1R3IREd_YuEJmLg7p3cgunJ4FqXnsUjQY?usp=sharing https://drive.google.com/drive/folders/1R3IREd_YuEJmLg7p3cgunJ4FqXnsUjQY?usp=sharing 98 Capítulo 7. Evaluación de calidad del Software Durante la realización de estas pruebas, se documentaron todos los errores en- contrados, tal y como se refleja en el ápendice F. Se especifica el sistema operativo y el navegador en el que ocurrieron, junto con una explicación detallada de cómo reproducir el error si fuera necesario. 7.2.2. Errores encontrados A continuación, se muestran los entornos probados y los errores de compatibili- dad encontrados en los mismos, tanto a lo largo del desarrollo del proyecto, como durante la realización de estas pruebas. En el apéndice F puede encontrarse una lista completa con los resultados ordenados por sistema operativo. Sobre Windows 10 y Windows 11 se realizaron pruebas con los navegadores Edge, Chrome, Firefox y OperaGX. Se encontraron los mismos errores en ambos sistemas operativos: en Firefox, dentro de las vistas de creación y actualización de sesión e informe de sesión, el campo de fecha permitía seleccionar la fecha pero no la hora, teniendo que introducirla manualmente; en la creación de recuerdos, el slider indicando el grado de positividad del recuerdo no se mostraba, por lo que no se podía cambiar dicho valor; en la vista de calendario, el campo de fecha tenía el mismo problema de no permitir la selección de la hora, sobresaliendo el texto del input. Sobre Ubuntu 20.4 y Debian se realizaron pruebas con los navegadores Chrome, Firefox y Opera. Se encontraron los siguientes errores: en Firefox, tanto en la creación y actualización de sesión e informe de sesión, el campo de fecha permitía seleccionar la fecha pero no la hora, debiendo introducirla manualmente y sobresaliendo el texto del input; en la creación y visualización de recuerdos, el slider del grado de positividad no se mostraba, imposibilitando el cambio de valor. Sobre Fedora se realizaron pruebas con los navegadores Chrome, Firefox y Ope- ra. Se encontraron los mismos errores que en Ubuntu y Debian: en Firefox, tanto en la creación y actualización de sesión e informe de sesión, el campo de fecha per- mitía seleccionar la fecha pero no la hora, teniendo que introducirla manualmente y sobresaliendo el texto del input; en la creación y visualización de recuerdos, el slider del grado de positividad no se mostraba, por lo que no se podía cambiar dicho valor. Además, en Opera, al cambiar el tamaño de la imagen en el libro de historia, ésta se desplazaba fuera del carrusel. Sobre dispositivos Android, se realizaron pruebas en Android 13 con los na- vegadores Chrome en Miui 14 y Miui 13. En todas las pruebas, los campos para seleccionar la fecha, con o sin hora, se mostraban como cuadrados blancos antes de introducirla. En Miui 13, al aparecer un error en la contraseña durante el registro, el campo se convertía en un cuadrado blanco con el texto del error superpuesto. Además, en todas las pruebas, las tablas desplegables no mostraban texto y se veían completamente blancas. En la visualización de vídeos, el navegador era excesiva- mente grande. Estos resultados muestran la importancia de realizar pruebas exhaustivas en diversos entornos y navegadores para identificar y corregir errores de compatibilidad, asegurando así una experiencia de usuario consistente y libre de problemas. Los errores encontrados durante estas pruebas quedaron como trabajo futuro. 7.3. Pruebas de aceptación 99 7.3. Pruebas de aceptación Esta sección está dedicado a las pruebas de aceptación que se realizaron y los resultados que obtuvimos de ellas. Estas pruebas son de especial interés ya que nos proporcionan información sobre el desempeño de nuestra aplicación con los usuarios finales. 7.3.1. Diseño de la evaluación La evaluación se diseñó de la siguiente manera (en el apéndice G se puede con- sultar el guión que se siguió para su desarrollo): En primer lugar nos presentamos con el evaluador para romper el hielo. Tam- bién recordamos que partimos de la base que dejó Recuérdame 2.0 para crear una nueva versión mejorada en la que hemos realizado cambios basados en la retroalimentación recibida en las anteriores evaluaciones y hemos añadido nuevas funcionalidades para mejorar la experiencia del usuario. A continuación, se presenta como se va a desarrollar la evaluación para que el evaluador pueda anticiparse. Tras esto, se irá pidiendo al evaluador que realice una serie de tareas. Mientras el evaluador va realizando estas tareas, se le pedirá que use la técnica de Think Aloud que consiste en expresar en voz alta todo lo que se le pase por la cabeza mientras realiza la tarea. Cuando termine cada una de las tareas, tendrá que puntuar el grado de dificultad de dicha tarea usando el cuestionario de usabilidad SEQ (Lewis y Sauro (2009)). Dicho cuestionario consta de una única pregunta que pide al evaluador que califique la dificultad de la tarea realizada en una escala Likert de 7 puntos siendo 1 que la tarea fue muy sencilla y 7 que la tarea fue muy complicada. Además, tras realizar las tareas también se le pedía al evaluador su opinión sobre ellas, si la información mostrada era correcta, si echaba algo de menos, etc. Las tareas que se pidieron al evaluador fueron las siguientes: 1. Pedirle al bot de ayuda como generar un video de historia de vida. 2. Generar un vídeo con recuerdos de la etapa infancia. 3. Generar un libro de Historia de Vida de la infancia y adolescencia. 4. Leer en voz alta uno de los recuerdos del libro generado. 5. Ver una de las fotos del libro generado. 6. Cambiar el tamaño del texto y de las fotos del libro generado. 7. Crear un pdf de Historia de Vida con recuerdos de la etapa adulto joven. 8. Generar un resumen de la historia de vida de adulto joven, categoría familia. 9. Ver otros resúmenes generados y generar el pdf de uno de ellos. 100 Capítulo 7. Evaluación de calidad del Software 10. Mirar el diagnóstico del paciente y fijarse en su evolución. 11. Crear el pdf del diagnóstico del paciente. 12. Introducir un nuevo recuerdo y generar la emoción automáticamente. 13. Crear una sesión virtual. 14. Cerrar sesión como terapeuta, iniciar sesión como cuidador e iniciar la sesión virtual que ha creado el terapeuta. 15. Visualizar el vídeo creado al inicio de la sesión de evaluación. Una vez terminadas todas las tareas, se le realizará al usuario un test de usabilidad, el System Usability Scale (SUS) (Brooke (1996)), donde el usuario debe responder en una escala Likert de 1 al 5 a las afirmaciones del cuestionario siendo el 1 total disconformidad, el 3 una opinión neutral y el 5 estar totalmente de acuerdo. Las preguntas que componen este cuestionario son las siguientes: 1. Me gustaría usar esta herramienta frecuentemente. 2. Considero que esta herramienta es innecesariamente compleja. 3. Considero que la herramienta es fácil de usar. 4. Considero necesario el apoyo de personal experto para poder utilizar esta herramienta. 5. Considero que las funciones de la herramienta están bien integradas. 6. Considero que la herramienta presenta muchas contradicciones. 7. Imagino que la mayoría de las personas aprenderían a usar esta herra- mienta rápidamente. 8. Considero que el uso de esta herramienta es tedioso. 9. Me sentí muy confiada al usar la herramienta. 10. Necesité saber bastantes cosas antes de poder empezar a usar esta herra- mienta. Para obtener los resultados ha de seguirse la siguiente fórmula: 2,5 ∗ (((∑ n Preguntas impares ) − 5 ) + ( 25− (∑ n Preguntas pares ))) Si el resultado de estos cálculos se encuentra entre 1 y 50 la usabilidad de la aplicación es inaceptable, si es entre 50 y 68 es marginal y si es entre 68 y 100 es aceptable. Por último, se realizarán unas preguntas conclusivas con el objetivo de recabar las opiniones generales del usuario. Las preguntas son las siguientes: 1. ¿Qué te ha parecido la aplicación? 2. ¿Consideras que ha mejorado respecto a la versión anterior? 7.3. Pruebas de aceptación 101 3. ¿Qué es lo que más te ha gustado de la aplicación? 4. ¿Y lo que menos? 5. ¿Has echado algo de menos en la aplicación? 6. ¿Y hay algo que te sobre? 7. ¿Tienes algo más que añadir? 7.3.2. Desarrollo de la evaluación Se realizó una evaluación con el doctor Iván De Rosende Caleiro el día 21 de mayo de 2024. Comenzó a las 17:00 y tuvo una duración de dos horas. Los resultados y comentarios obtenidos están disponibles en el apéndice H. Siete de las quince tareas fueron calificadas con un 1 sobre 7, de las ocho restantes, seis fueron calificadas con un 2 sobre 7, una con un 3 sobre 7 y una con un 4 sobre 7. Entre las tareas calificadas con un 2 sobre 7, se encontraban visualizar el vídeo creado, debido a problemas de compatibilidad con el navegador que estaba utilizando el evaluador (Mozilla) la ventana del vídeo aparecía descuadrada y desbordaba por la partes inferior y derecha de la pantalla, dificultando su visualización y el acceso al botón de maximizar. Otra de ellas era cambiar el tamaño del texto y de las fotos del libro generado, esto se debió a que el botón para abrir la ventana de configuración del tamaño se encuentra fijado en la parte superior de la vista y al bajar par ver mejor la imagen del libro se ocultaba dificultando su localización. Las tareas de generar libro de historia de vida y crear un pdf de Historia de Vida con recuerdos que tengan asociadas imágenes fueron calificadas con un 2 debido a que el texto de los botones que realizaban ambas acciones era ambiguo e inicialmente no le quedó muy claro que hacían. Similarmente al caso anterior, la tarea de generar un resumen de historia de vida recibió una calificación de 2 porque el texto del botón para acceder a la generación de resúmenes es ambiguo y no quedaba claro que tipo de resumen se iba a generar. Finalmente, la tarea de introducir un nuevo recuerdo y generar la emoción automáticamente también recibió una calificación de 2 debido al texto del botón para generar la emoción el cual no dejaba claro que se iba a generar. La tarea calificada con un 3 sobre 7 fue la de crear una sesión virtual, en primer lugar, en el formulario de creación de sesión, el tooltip asociado a la casilla para marcar una sesión como virtual no da una información muy clara del concepto de sesión virtual, además utiliza el término ChatBot el cual no es muy común y confundió al evaluador, por otro lado, la ventana para añadir recuerdos existentes a la sesión no se mostraba completa en la pantalla, requiriendo un scroll lateral el cual además era difícil de localizar y el evaluador consideró que el término “Acciones” de la tabla de recuerdos que marca si un recuerdo se va incluir en la sesión era poco intuitivo, prefiriendo algo más concreto como “Seleccionar”. La tarea calificada con un 4 sobre 7 fue la de probar la de iniciar una sesión virtual, si bien acceder a la sesión virtual fue una tarea simple, la secuencia de acciones necesarias para iniciar una sesión virtual resultaron bastante complejas con la información que proporciona la aplicación. El mensaje inicial del ChatBot es escueto y no deja claro que es lo que se debe hacer lo cual confundió al evaluador 102 Capítulo 7. Evaluación de calidad del Software y el botón para copiar el texto de la sesión y el mensaje emergente que aparece al pulsarlo tampoco dan información clara. El cuestionario SUS tuvo una calificación final de 85 lo cual indica nivel de usabilidad más que aceptable. En cuanto a las respuestas dadas por Iván al cuestionario de opiniones generales, la aplicación le pareció una mejora importante y significativa con respecto a versiones anteriores con mejoras introducidas que se ajustan a las necesidades del terapeuta en su trabajo. Consideró que esta nueva versión suponía una mejora importante a nivel visual y amplitud de las funcionalidades, remarcando el ChatBot del cuidador TherapEase. Lo que más te le gustó de la aplicación fue el nivel visual y la estética de la aplicación que consideró muy agradables, y la forma de la presentación de la información en su mayoría intuitiva, comentó que lo mejor sin duda fue TherapEase ya que lograba que la herramienta no fuera útil únicamente para los terapeutas. En general, concluyó que todas las funcionalidades corresponden con funciones útiles para el paciente y los terapeutas/cuidadores y por ello no podía decir cual le había gustado menos. Ante la pregunta de si había echado de menos algo en la aplica- ción contestó que, en general, se cubren todas las necesidades de los terapeutas y cuidadores, pero que se podría incorporar música o recuerdos musicales (cantantes, canciones, grupos. . . ), la posibilidad de poder buscar y escuchar canciones de estos grupos y artistas o poder mostrar imágenes de épocas pasadas a los usuarios. No consideró que sobrase alguna de las funcionalidades ya que todas le resultaron útiles y cubrían todo el proceso que sigue el terapeuta durante las sesiones. Finalmente nos felicitó por el trabajo realizado. Durante la evaluación, Iván sugirió los siguientes cambios: Cambios en el ChatBot de ayuda Nemo: el icono para minimizar el chat tiene forma de cruz (X), esto puede confundir con la función de cerrar ventana, sería mejor usar otro icono más asociado con la acción de minimizar, por ejemplo una ralla horizontal (—). Cambios en visualizar vídeos: • Hacer que el tamaño del reproductor de vídeos se adapte al de la pantalla para evitar que se desborde y haga falta hacer scroll o maximizar el vídeo. • Modificar la imagen predeterminada que aparece cuando un recuerdo no tiene fotos asociadas por imágenes relacionadas con el contenido del recuerdo que se está narrando como forma de estimulación extra para los usuarios. • Agregar subtítulos a los vídeos. Cambios en generar libro historia de vida: • Cambiar el texto de los botones de “Generar libro” y “Generar PDF” por “Generar libro online” y “Generar libro en PDF”. • Modificar el texto de las casillas “Aptos” y “No aptos” por otros que aporten más contexto sobre que significa que un recuerdo sea apto o no. 7.3. Pruebas de aceptación 103 Cambios en libro de historia de vida: • El tamaño por defecto de las imágenes debería ser el “Grande”. • Modificar la localización del botón de “Modificar tamaño” para hacerlo más visible. • Ampliar y centrar las imágenes en el PDF de historia de vida. Cambios en generar Resumen de historia de vida: Cambiar el término “Resú- menes” por “Resúmenes de historias de vida” u otro más representativo en la barra de navegación. Cambios en Diagnósticos: • Modificar el apartado de “Escalas” y “Escala personalizada” en la vista del diagnóstico para que aparezca la información de escalas más reciente en vez de la que se introduce al crear el diagnóstico, también en los PDF. • Quitar los datos del terapeuta en el PDF ya que no se encargan de hacer diagnósticos. • Incluir los datos y la gráfica de escalas personalizadas en el PDF. • Cambiar el término “Fecha del Informe” por “Fecha del diagnóstico” en el PDF. Cambios en crear recuerdo: • Cambiar el tooltip del botón de generar automáticamente por “Generar automáticamente emoción y grado de positividad” • En el select de tipo de relación del modal de crear persona relacionada, subir el tipo de relación Marido/Mujer arriba para darle más importancia. Cambios en crear sesión: • Cambiar el tooltip de establecer sesión virtual por un texto que deje más claro que se va a hacer y que es una sesión virtual. • En caso de establecer una sesión virtual se debería eliminar el campo de hora, dejando solamente la fecha, ya que el terapeuta no tiene por que decirle al cuidador a que hora exacta debe realizar la sesión. • En el modal de añadir recuerdo existente, modificar el término “Acciones” por “Seleccionar”. Cambios en generar informe de sesión: • Si una sesión es virtual no debería haber la posibilidad de generar un informe de sesión ya que el terapeuta no ha estado presente. • En el nivel de complejidad, cambiar las opciones por “Muy compleja”, “Bastante compleja”, “Compleja”, “Poco compleja” y “Nada compleja”. Cambios en la sesión virtual: Cambiar el mensaje inicial de TherapEase por otro que deje claro que pasos debe realizar el cuidador para proporcionar al ChatBot la información de la sesión y poder iniciarla adecuadamente. 104 Capítulo 7. Evaluación de calidad del Software 7.3.3. Conclusiones de la evaluación Los resultados de la evaluación, obtenidos mediante los cuestionarios SEQ y SUS muestran un grado de usabilidad muy adecuado de la aplicación. Las nuevas fun- cionalidades incorporadas tuvieron una gran aceptación y fueron consideradas como grandes mejoras respecto a la anterior versión, especialmente las sesiones virtuales que aumentan en gran medida la utilidad de la aplicación para los cuidadores y usuarios. Durante la evaluación también se sugirieron multitud de cambios que ayudarán a que la aplicación mejore en próximas versiones. Capı́tulo 8 Conclusiones y Trabajo Futuro En esta sección se presentan las conclusiones obtenidas tras la realización de Recuérdame 3.0, analizando su desarrollo y observando las diferencias entre el inicio del proyecto y el resultado final. También se detallan los cambios que no se han podido implementar, el trabajo pendiente y las ideas para futuras versiones de la herramienta. 8.1. Conclusiones En esta sección, se abordarán en profundidad los objetivos que el equipo se pro- puso al inicio del proyecto y se evaluará si se han alcanzado. También se analizarán las herramientas, bibliotecas y APIs utilizadas en el proyecto, valorando su utilidad. Por último, se examinará la metodología de desarrollo empleada para determinar si ha sido efectiva y ha mejorado la gestión del proyecto. 8.1.1. Análisis Objetivos El objetivo principal de nuestro TFG se centraba en la mejora y ampliación de la aplicación Recuérdame 2.0, agilizando el proceso de gestión y preparación de te- rapias de reminiscencia a los terapeutas, además de permitir su uso a los cuidadores pudiendo realizar una revisión de los recuerdos que componen la historia de vida de los pacientes. Gracias al resultado de la evaluación que realizamos con el Dr. Iván de Rosende Caleiro (sección 7.3) podemos decir que nuestro objetivo principal se ha cumplido ya que las respuestas del doctor eran muy positivas con respecto a la apli- cación y a la agilidad que esta puede proporcionar a los terapeutas y especialmente a los cuidadores permitiendo realizar terapias sin necesidad de que el terapeuta este presente gracias al ChatBot. Al comienzo del proyecto nos planteamos también realizar las mejoras que se propusieron en la evaluación con los terapeutas de Recuérdame 2.0. En este caso podemos decir que la mayoría de los cambios y mejoras sugeridos por los terapeutas han sido abordados: Cambios en los recuerdos: Se pidieron varios cambios con respecto a los 105 106 Capítulo 8. Conclusiones y Trabajo Futuro nombres de los campos que han sido implementados para que estos sean mas descriptivos sin necesidad de recurrir a los tooltip. Además, las etapas ahora incluyen el intervalo de edad incluido. Cambios en los libros de historia: Se ha centrado el multimedia para que no aparezca a la izquierda y se ha añadido la opción para cambiar de tamaño tanto la letra como el multimedia para una mejor visualización. También se ha hecho que al hacer click en el multimedia este se habrá en un modal dentro de la página en lugar de en una ventana nueva. Cambios en los resúmenes: Se ha modificado el titulo generado automá- ticamente para que en lugar de mostrar las etapas implicadas muestre las categorías. También se ha mejorado la redacción del resumen para que no ha- ga falta mostrar cada recuerdo en una linea. Por otro lado se han reducido las palabras menos comunes para que el resumen sea mas fácil de entender. Por otro lado, se han separado las opciones de los resúmenes del desplegable de historias de vida para su mejor identificación. Cambios en el PDF: Se ha eliminado el género del usuario ya que este no es relevante. Cambios en los vídeos: Lamentablemente no hemos podido abordar los cambios que se solicitaban en los vídeos por el poco tiempo disponible, estos eran: • Añadir subtítulos en los vídeos generados de la Historia de Vida. • Incorporar notificaciones dentro de la aplicación para avisar al terapeuta cuando un vídeo se haya terminado de generar. Cambios en los informes de sesión: Se ha añadido la posibilidad de generar gráficas personalizadas. Además, se ha añadido la información del centro donde se ha realizado el informe, se ha hecho opcional el atributo “Observaciones” y el terapeuta que realiza la sesión. Cambios en el diagnostico: Se ha incluido un campo con información del centro donde se realiza el diagnostico, se ha cambiado el termino “enfermedad” por “diagnóstico”, se ha implementado la gráfica de la escala personalizada y ahora las escalas poseen un tooltip para dar mas información. Cambios en las personas relacionadas: La persona de contacto aparecía con el icono de una estrella y ha sido remplazado por el texto “Contacto”, siendo este más claro. Adicionalmente se han hecho opcionales los atributos “Ocupación”, “Dirección”, “Apellidos” e “Email”, se ha añadido la relación ma- rido/mujer y se han hecho opcionales el correo y la ocupación. Cambios en la información de los usuarios: Ahora los campos para el nivel de estudios se adaptan más a los usuarios siendo los siguientes: “Estudios Primarios”, “Estudios Superiores”, “Formación Profesional” y “Sin Estudios”. Además se ha hecho opcional el campo de la fecha, se ha cambiado “fecha de 8.1. Conclusiones 107 inscripción” por “fecha de ingreso” y ahora se puede añadir un cuidador a la vez que se da de alta un nuevo usuario. Cambios en las personas cuidadoras: Se ha modificado el campo “Paren- tesco” por “Tipo de relación”. Cambios en el calendario: Se han intensificado los colores y ahora en las actividades también es posible seleccionar la hora. Cambios en las sesiones: Los campos de la fecha y hora se han hecho opcionales y se puede añadir mas de una etapa a tratar en una sesión. Se ha añadido la opción de nueva sesión al navbar. Por otro lado, lamentablemente no se ha podido añadir un recordatorio de estas sesiones, para visualizarlo se debe entrar al calendario. Por otro lado nos propusimos mejorar la funcionalidad de la aplicación existente para ampliar las posibilidades de la herramienta con el objetivo de aumentar su calidad. A continuación, analizaremos si hemos logrado integrar las funcionalidades que nos propusimos: Chabot de terapia online: Nos propusimos crear un chatbot que permitiese al usuario, con ayuda de su cuidador, hacer sesiones de terapia basadas en reminiscencia desde su casa y sin que el terapeuta estuviera presente. Este objetivo lo hemos cumplido parcialmente ya que el bot no tiene la capacidad de mostrar las imágenes sobre las que se realizan las preguntas pero si que realiza preguntas sobre recuerdos específicos y es capaz de ayudar a realizar la terapia sin necesidad del terapeuta. Mensajería entre terapeuta y paciente: Esta funcionalidad no ha sido implementada. Identificación automática de emociones en los recuerdos: Esta funcio- nalidad esta completamente integrada ya que a la hora de generar o editar recuerdos el terapeuta puede solicitar la generación automática de la emoción producida por el recuerdo. Adicionalmente se genera automáticamente el grado de positividad del mismo. Incorporar el aprendizaje en la generación automática de resúmenes: Este objetivo ha sido imposible de alcanzar debido a las restricciones existentes en las APIs actuales y los recursos disponibles. Nuestro ultimo objetivo era aplicar todos los conocimientos adquiridos en la carrera y aprender a combinarlos en un solo proyecto. En cuanto a la aplicación de los conocimientos durante el grado, a continuación presentamos las asignaturas que hemos aplicado durante el desarrollo del proyecto: Bases de datos: En esta asignatura adquirimos los principios esenciales para crear y manejar bases de datos relacionales, habilidades que hemos empleado en el desarrollo de nuestra propia base de datos. 108 Capítulo 8. Conclusiones y Trabajo Futuro Redes y Ampliación de Sistemas y Redes: Los conocimientos que ad- quirimos en esta asignatura sobre los protocolos HTTP y HTTPS, así como sobre todos los demás elementos necesarios para configurar el servidor han sido aplicados de forma directa en nuestro proyecto. Aplicaciones Web: En esta asignatura adquirimos habilidades en algunos lenguajes de programación que utilizamos en el desarrollo de nuestra aplica- ción, tales como HTML, CSS y JavaScript. Gestión de Proyectos Software y Metodologías de Desarrollo: En ella adquirimos habilidades en el uso de metodologías ágiles, como la que implementamos en nuestro proyecto, Kanban. Interfaces de Usuario: Esta asignatura nos proporciono conocimientos en patrones de diseño, interfaces y otros aspectos esenciales para concebir un diseño efectivo y atractivo como el de nuestra aplicación. Modelado de software: En esta asignatura aprendimos acerca de JPA (Java Persistence API), una librería de Java que actúa como mapeador Objeto- Relacional, es decir, se encarga de añadir los objetos del código a elementos en la BD. Esta librería guarda un gran parecido con Eloquent de PHP, que es la que utilizaba este proyecto para ese cometido. Gestión de información en la web: Asignatura en la que adquirimos cono- cimientos sobre manejo de APIs, lo que nos ayudó a implementar las utilizadas en nuestro proyecto. 8.1.2. Análisis de las herramientas Durante el desarrollo del proyecto, tomamos varias decisiones referentes a las herramientas y APIs que utilizaríamos. A continuación, analizaremos si, al finali- zar el proyecto, consideramos que nuestras elecciones fueron acertadas y si, con el conocimiento que tenemos ahora, cambiaríamos alguna de estas decisiones: Azure Blob Storage: Azure Blob Storage ha sido fundamental para poder almacenar el multimedia de la aplicación de manera mucho mas eficiente a como lo hacía Recuérdame 2.0. Creemos que la implementación no fue dema- siado fácil pero mereció la pena el resultado final por la eficiencia conseguida gracias a esta herramienta. Lenguaje de Azure AI: En general el resultado de esta herramienta es bas- tante bueno y se ajusta en gran medida a lo que buscábamos, no obstante su implementación fue compleja y tediosa, lo que hizo que no obtuviéramos la res- puesta deseada. En un futuro investigaríamos la manera de obtener mediante esta API mejores respuestas pudiendo entrenarla. ChatGPT: En nuestra opinión ChatGPT ha sido una elección fantástica. Su implementación fue muy sencilla y con los últimos avances de OpenAI es mucho mas rápida y precisa. Sin embargo, nos hubiera gustado entrenarla con resúmenes validos de terapeutas y con análisis de emociones de los mismos. 8.2. Trabajo futuro 109 ChatBase: Consideramos que ChatBase ha sido un gran acierto, cumple per- fectamente con su cometido tanto en el chat de ayuda como en el de sesiones virtuales. En el futuro seria interesante que pudiese mostrar imágenes y pu- diera tener almacenados los recuerdos del usuario de manera automática. Google Cloud Text-to-Speech: Estamos muy contentos con esta elección ya que la voz generada es muy cálida y natural tal y como corroboro el terapeuta que evaluó nuestra aplicación. Se adapta perfectamente a las necesidades que teníamos para realizar la lectura de los recuerdos en voz alta y su uso es bastante sencillo. 8.1.3. Análisis de la metodología Como mencionamos al comienzo del proyecto, decidimos adoptar la metodología de desarrollo Kanban. En nuestra opinión, optar por esta metodología ha sido una decisión totalmente acertada. El equipo ya había trabajado con otras metodologías ágiles como Scrum y optar por Kanban siendo esta más flexible ha hecho que el desarrollo sea más dinámico. La implementación del tablero Kanban nos ha facilitado una coordinación muy efectiva, permitiéndonos tener claridad sobre las tareas a desarrollar, la información asociada a cada una, su estado a través de las diferentes columnas del tablero, y quién las estaba llevando a cabo. Asimismo, las políticas explícitas han sido otro pilar fundamental: nos han permi- tido conocer en todo momento la organización del proyecto y las normas que deben seguir los miembros del equipo. Gracias a esto, se evitaron conflictos y problemas derivados del desconocimiento de las normas. Consideramos que las retrospectivas nos han sido de gran utilidad. Gracias a estas reuniones, logramos identificar problemas que estaban limitando el avance del proyecto y pudimos solucionarlos lo antes posible. Uno de los problemas más representativos que detectamos gracias a las reuniones de retrospectiva fue que la memoria se entregaba siempre con una cantidad de fallos ortográficos significativa por lo que se decidió seguir una nueva norma y cada miembro del equipo tenía que revisar toda la memoria en busca de estos y otros fallos para hacer que estuviese lo más correcta posible. Gracias a estas reuniones también vimos que había un problema a la hora de revisar el código de las tareas, por lo que se creo una nueva columna en el tablero y se estableció que una vez finalizada la tarea, el desarrollador encargado la pasaría a revisión y reasignaría a otro desarrollador para que este la verificase. 8.2. Trabajo futuro Durante el desarrollo de Recuérdame 3.0, hubo tareas que no se completaron o surgieron ideas para mejorar y ampliar la herramienta que no pudieron llevarse a cabo debido a las restricciones de tiempo: Entrenamiento de las IA: A la hora de generar los resúmenes así como de- 110 Capítulo 8. Conclusiones y Trabajo Futuro tectar las emociones sería muy conveniente que estos resultados estén basados en textos y análisis ya realizados por los terapeutas para que los resultados sean mucho mas precisos. Mejorar las sesiones virtuales: Durante la sesiones virtuales seria un gran avance si además de realizar preguntas sobre los recuerdos el bot pudiese mos- trar también el multimedia de ese recuerdo. Por otro lado se debe evitar que el usuario tenga que proporcionar el texto al chat-bot, siendo este el que ya supiera que recuerdos se van a trabajar. Resolver problemas de compatibilidad: En ciertos navegadores, se han identificado problemas de compatibilidad que no pudieron ser abordados en esta versión. Los detalles de estas pruebas se encuentran disponibles en la sección 7.2 Mejorar los vídeos: los vídeos son un punto que nos hubiera gustado mejo- rar, por lo que un punto muy bueno para continuar sería hacer que el vídeo estuviera sincronizado con el audio y que si no hay imágenes en el recuerdo se añadiesen imágenes relacionadas con el recuerdo automáticamente. Tam- bién nos hubiera gustado implementar otra API (Speech-to-Text) para poder generar subtítulos a medida que se reproducía el vídeo. Implementar los cambios propuestos en la evaluación por el tera- peuta: En la evaluación final (sección 7.3.2), se detallaron cambios, ideas y propuestas realizadas por el Dr. Iván que deben ser corregidos y analizados para futuras versiones. Mensajería entre terapeuta y cuidador: Añadir un sistema de mensajería interno en la aplicación para que el terapeuta pudiese comunicarse con el cuidador. Notificaciones: Implementar un sistema de notificaciones general que se en- cargase de notificar al usuario de distintos eventos dentro de la aplicación como una sesión, actividad, mensaje, o fin del procesamiento de los vídeos. Cambio de arquitectura: Evaluar las distintas tecnologías y analizar los be- neficios de usar otros lenguajes de programación con más uso y más actuales para evitar problemas de compatibilidad futuros. PHP tiene muchas limitacio- nes ya que esta en desuso y muchas de las nuevas herramientas de inteligencia artificial no le dan soporte. Chapter 9 Conclusions and Future Work In this section, the conclusions obtained after the completion of Recuérdame 3.0 are presented, analyzing its development and observing the differences between the start of the project and the final result. It also details the changes that could not be implemented, the pending work, and the ideas for future versions of the tool. 9.1. Conclusions In this section, the objectives set by the team at the beginning of the project will be discussed in depth and evaluated to see if they have been achieved. The tools, libraries, and APIs used in the project will also be analyzed, assessing their usefulness. Finally, the development methodology employed will be examined to determine if it has been effective and has improved project management. 9.1.1. Objective Analysis The main objective of our TFG was to improve and expand the Recuérdame 2.0 application, streamlining the process of managing and preparing reminiscence ther- apies for therapists, as well as allowing its use by caregivers to review the memories that make up the patients’ life histories. Thanks to the results of the evaluation we conducted with Dr. Iván de Rosende Caleiro (section 7.3), we can say that our main objective has been met, as the doctor’s feedback was very positive regarding the application and the agility it can provide to therapists and especially to caregivers, allowing them to conduct therapies without the therapist being present thanks to the ChatBot. At the beginning of the project, we also aimed to implement the improvements proposed in the evaluation with the therapists of Recuérdame 2.0. In this case, we can say that most of the changes and improvements suggested by the therapists have been addressed: Changes in memories: Several changes were requested regarding the names of the fields, which have been implemented to make them more descriptive 111 112 Chapter 9. Conclusions and Future Work without needing to resort to tooltips. Additionally, the stages now include the included age range. Changes in history books: The multimedia has been centered so that it does not appear on the left, and the option to change both the font size and the multimedia size for better viewing has been added. Also, clicking on the multimedia now opens it in a modal within the page instead of a new window. Changes in summaries: The automatically generated title has been modi- fied to show the categories instead of the stages involved. The summary text has also been improved so that it does not need to show each memory on a separate line. Less common words have been reduced to make the summary easier to understand. Additionally, the summary options have been separated from the life history dropdown for better identification. Changes in PDF: The user’s gender has been removed as it is not relevant. Changes in videos: Unfortunately, we were unable to address the requested changes in the videos due to the limited time available, which included: • Adding subtitles to the generated Life History videos. • Incorporating notifications within the application to notify the therapist when a video has finished generating. Changes in session reports: The possibility to generate custom graphs has been added. Additionally, information about the center where the report was made has been included, and the "Observations" attribute and the therapist conducting the session have been made optional. Changes in diagnosis: A field with information about the center where the diagnosis is made has been included, the term "disease" has been changed to "diagnosis," a custom scale graph has been implemented, and the scales now have a tooltip for more information. Changes in related persons: The contact person used to appear with a star icon and has been replaced by the text "Contact," making it clearer. Ad- ditionally, the attributes "Occupation," "Address," "Surnames," and "Email" have been made optional, the husband/wife relationship has been added, and both email and occupation have been made optional. Changes in user information: The education level fields now better adapt to the users: "Primary Studies," "Higher Studies," "Vocational Training," and "No Studies." Additionally, the date field has been made optional, "registra- tion date" has been changed to "admission date," and a caregiver can now be added when a new user is registered. Changes in caregivers: The "Kinship" field has been changed to "Type of relationship." 9.1. Conclusions 113 Changes in the calendar: The colors have been intensified and it is now possible to select the time in the activities as well. Changes in sessions: The date and time fields have been made optional, and more than one stage can be added to be addressed in a session. A new session option has been added to the navbar. Unfortunately, a reminder for these sessions could not be added; to view it, one must enter the calendar. On the other hand, we aimed to improve the functionality of the existing ap- plication to expand the tool’s possibilities with the goal of increasing its quality. Below, we will analyze whether we have managed to integrate the functionalities we set out to: Online therapy chatbot: We aimed to create a chatbot that would allow the user, with the help of their caregiver, to conduct reminiscence therapy sessions from home without the therapist being present. This goal has been partially achieved as the bot cannot display the images on which the questions are based, but it does ask specific questions about memories and can help conduct the therapy without the therapist. Messaging between therapist and patient: This functionality has not been implemented. Automatic emotion identification in memories: This functionality is fully integrated as the therapist can request the automatic generation of the emotion produced by the memory when creating or editing memories. Addi- tionally, the degree of positivity is automatically generated. Incorporating learning in automatic summary generation: This goal was impossible to achieve due to existing restrictions in current APIs and available resources. Our final objective was to apply all the knowledge acquired during the degree and learn to combine them in a single project. Regarding the application of knowledge during the degree, we present below the subjects we applied during the project development: Databases: In this subject, we acquired the essential principles to create and manage relational databases, skills that we employed in the development of our own database. Networks and Advanced Systems and Networks: The knowledge we acquired in this subject about HTTP and HTTPS protocols, as well as all the other elements necessary to configure the server, were directly applied in our project. Web Applications: In this subject, we acquired skills in some programming languages that we used in the development of our application, such as HTML, CSS, and JavaScript. 114 Chapter 9. Conclusions and Future Work Software Project Management and Development Methodologies: In it, we acquired skills in the use of agile methodologies, like the one we imple- mented in our project, Kanban. User Interfaces: This subject provided us with knowledge in design patterns, interfaces, and other essential aspects to conceive an effective and attractive design like that of our application. Software Modeling: In this subject, we learned about JPA (Java Persistence API), a Java library that acts as an Object-Relational Mapper, meaning it maps code objects to database elements. This library is very similar to PHP’s Eloquent, which was used in this project for that purpose. Information Management on the Web: A subject where we acquired knowledge about API management, which helped us implement the ones used in our project. 9.1.2. Analysis of Tools During the project’s development, we made several decisions regarding the tools and APIs we would use. Below, we analyze whether we consider our choices to have been correct upon project completion and if, with the knowledge we have now, we would change any of these decisions: Azure Blob Storage: Azure Blob Storage has been fundamental in storing the application’s multimedia much more efficiently than Recuérdame 2.0 did. We believe the implementation was not too easy but the final result was worth it due to the efficiency achieved with this tool. Azure AI Language: In general, the results from this tool are quite good and align closely with what we were looking for. However, its implementation was complex and tedious, which meant we did not get the desired response. In the future, we would explore ways to get better responses from this API by training it. ChatGPT: In our opinion, ChatGPT has been a fantastic choice. Its imple- mentation was very simple, and with the latest advances from OpenAI, it is much faster and more accurate. However, we would have liked to train it with valid summaries from therapists and their emotional analyses. ChatBase: We consider ChatBase to have been a great success, perfectly fulfilling its role in both the help chat and virtual sessions chat. In the future, it would be interesting if it could display images and automatically store the user’s memories. Google Cloud Text-to-Speech: We are very happy with this choice as the generated voice is very warm and natural, as confirmed by the therapist who evaluated our application. It perfectly meets our needs for reading memories aloud and is quite easy to use. 9.2. Future Work 115 9.1.3. Methodology Analysis As we mentioned at the beginning of the project, we decided to adopt the Kanban development methodology. In our opinion, choosing this methodology was the right decision. The team had already worked with other agile methodologies like Scrum, and opting for Kanban, being more flexible, made the development more dynamic. The implementation of the Kanban board provided us with very effective coor- dination, allowing us to have clarity about the tasks to be developed, the associated information, their status through the different columns of the board and who was carrying them out. Moreover, the explicit policies were another fundamental pillar: they allowed us to always know the organization of the project and the rules that team members had to follow. Thanks to this, conflicts and problems arising from the lack of knowledge of the rules were avoided. We believe that the retrospectives were very useful. Thanks to these meetings, we identified problems that were limiting the project’s progress and were able to solve them as soon as possible. One of the most representative problems we detected thanks to the retrospective meetings was that the report was always delivered with a significant number of spelling errors, so it was decided to follow a new rule where each team member had to review the entire report for these and other errors to make it as correct as possible. Thanks to these meetings, we also saw that there was a problem when reviewing the code of the tasks, so a new column was created on the board, and it was established that once the task was finished, the responsible developer would pass it to review and reassign it to another developer for verification. 9.2. Future Work During the development of Recuérdame 3.0, there were tasks that were not com- pleted or ideas to improve and expand the tool that could not be carried out due to time constraints: Training the AI: When generating summaries and detecting emotions, it would be very convenient if these results were based on texts and analyses already performed by therapists to make the results much more accurate. Improving virtual sessions: During virtual sessions, it would be a great advance if, in addition to asking questions about memories, the bot could also display the multimedia of that memory. On the other hand, the user should not have to provide the text to the chatbot, as it should already know which memories will be worked on. Resolving compatibility issues: In certain browsers, compatibility issues have been identified that could not be addressed in this version. The details of these tests are available in section 7.2. Improving the videos: The videos are an area we would have liked to improve, so a good point to continue would be to synchronize the video with 116 Chapter 9. Conclusions and Future Work the audio and, if there are no images in the memory, automatically add related images. We would also have liked to implement another API (Speech-to-Text) to generate subtitles as the video plays. Implementing the changes proposed in the therapist’s evaluation: In the final evaluation (section 7.3.2), changes, ideas, and proposals made by Dr. Iván were detailed, which should be corrected and analyzed for future versions. Messaging between therapist and caregiver: Add an internal messaging system in the application for the therapist to communicate with the caregiver. Notifications: Implement a general notification system to notify the user of various events within the application such as a session, activity, message, or the end of video processing. Changing the architecture: Evaluate the different technologies and analyze the benefits of using more widely used and modern programming languages to avoid future compatibility issues. PHP has many limitations as it is becoming obsolete, and many new AI tools do not support it. Capı́tulo 10 Contribuciones Personales Cada uno de los participantes ha desempeñado un papel crucial en este proyecto, aportando una visión única y enriquecedora. A lo largo de este capítulo, analizaremos y reflexionaremos sobre nuestras contribuciones personales, y cómo estas han influido en el desarrollo de Recuérdame 3.0. 10.1. Bryan Eduardo Córdova Ascurra Al inicio del proyecto, llevé a cabo una investigación sobre LaTeX para adaptar- me rápidamente a la herramienta e iniciar la memoria. De la misma manera, tuve que aprender sobre las tecnologías del proyecto, ya que PHP era un lenguaje que desconocía, al igual que el framework Laravel y Composer, una herramienta que gestiona las dependencias del proyecto en PHP. La primera contribución a la memoria fue redactar los objetivos de Recuérdame 3.0. Para ello, fue necesario informarme sobre el trabajo previo de Recuérdame 2.0 y el trabajo futuro pendiente. Una vez familiarizado con las herramientas y el contexto del proyecto, investigué sobre la enfermedad del Alzheimer, así como las terapias de reminiscencia e historias de vida. Tras recopilar toda la información necesaria, redacté las secciones 3.1, 3.2 y 3.3 del capítulo 3. Respecto a las IAGs, investigué varias herramientas con la cuales poder incor- porar la funcionalidad Text-To-Speech al libro de historia, finalmente elegí la herra- mienta de Google Cloud TTS por lo que indagué sobre su documentación y como implementar dicha API, pude incorporar todo lo aprendido a la memoria en la sec- ción 5.2. También me encargué de la visualización de las entrevistas proporcionadas por el proyecto CANTOR y su posterior transcripción de recuerdos. Fui el encargado de organizar las reuniones de retrospectiva que se realizaron du- rante nuestro TFG; la del 3 de Diciembre de 2023 y la del 17 de Marzo de 2024. Como había organizado esas reuniones, también me encargué de redactar sus respectivos apartados en la memoria. Respecto al código, una vez adquiridos los conocimientos necesarios de PHP y 117 118 Capítulo 10. Contribuciones Personales Laravel, el equipo realizó en el tablero de GitHub un listado de issues para empezar con las tareas más sencillas que dejó el trabajo futuro de Recuérdame 2.0. Yo reali- cé los arreglos necesarios para hacer el atributo “Fecha de entrada a la residencia” opcional en la información del usuario, al igual que en la vista de personas rela- cionadas, donde tuve que hacer que “Ocupación”, “Dirección”, “Apellidos” y “Email” fueran atributos opcionales en el formulario. Otro cambio solicitado fue la adición de un nivel de estudios: “Lee y escribe” para abarcar todos los campos posibles en la información de usuario. A medida que avanzaba con dichos arreglos, fui complemen- tando mis conocimientos en PHP y, tras finalizarlos, pude completar las tareas de añadir “Crear Sesión” al menú de sesiones y “Crear recuerdo” al menú de historia de vida, ambos menús situados en la navbar, proporcionando mayor facilidad al usua- rio para encontrar las secciones. Tras conocer las migraciones de base de datos del proyecto, también realicé un cambio en todas las tablas de la aplicación, haciendo que aparezcan por defecto los elementos más recientes primero en vez de mostrarlos al final. Para dar de alta a un usuario, no había una fecha de nacimiento por defec- to y el usuario debía encontrar su fecha de nacimiento, complicando la búsqueda. Para ello, dejé por defecto una fecha coherente de 70 años respecto al año actual, facilitando la introducción de la fecha de nacimiento al usuario. Investigué diferen- tes herramientas para poder almacenar el contenido multimedia de la aplicación en una base de datos externa, siendo Azure Blob Storage la elegida. Colaboré con el proceso de incorporación de la herramienta a la aplicación, creando la cuenta de Azure, configurando el entorno y los contenedores que utilizaríamos para almacenar las imágenes y, más tarde, los audios de los recuerdos. Para implementar la funcionalidad del TTS, fue necesario modificar la vista del Libro de Historias de Vida, haciendo que tanto la descripción como las imágenes salieran centradas. Para colocar los iconos relacionados con el TTS, fue necesaria una refactorización de todo el código respecto al libro, facilitando la implementación de otras tareas, como la de modificación del tamaño tanto en las descripciones del recuerdo como en las imágenes. Logré completarla contando con la ayuda de Steven y Samuel en ciertos momentos para la resolución de algunos fallos en su funcionamiento. Respecto al libro de historia, modifiqué la vista entera para que pudiera adaptarse según los cambios de tamaño que el usuario haga, evitando el uso de scroll sobre la descripción o las imágenes relacionadas. También añadí un botón de Cancelar para ofrecer al usuario salir del libro sin tener que recurrir a la flecha de atrás del navegador. En cuanto a modificaciones visuales, retoqué varios apartados del proyecto, sien- do los botones lo más resaltable, ya que modifiqué cada uno según su funcionalidad para dar mayor indicación al usuario, reflejado en la sección 6.1. Organicé, participé y colaboré en la creación del logo en las reuniones con Joshua Estera, por lo que fui el encargado de modificar cada una de las vistas en las que aparecía. Ayudé a mis compañeros Rubén y Samuel en la implementación visual de sus funcionalidades con IAGs para que las interfaces tuvieran consistencia interna con la aplicación. Solu- cioné varios errores de redireccionamiento en varios botones que llevaban a páginas vistas equivocadas o no encontradas. Completé la tarea de visualizar la generación del PDF en otra pestaña del navegador web y no en la propia aplicación. Al ir fi- nalizando con el desarrollo de código, Rubén y yo implementamos cada uno de los 10.2. Rubén Martín Castro 119 recuerdos, ingresándolos uno a uno en la aplicación final para que pudieran generar el audio automáticamente con TTS. Además, modificamos el archivo datos.sql local para poder tener los recuerdos con datos reales cuando se despliegue el proyecto inicialmente y así facilitar las migraciones. 10.2. Rubén Martín Castro Al iniciar este TFG, mi primera tarea fue la de leer la Memoria de Recuérdame 2.0, pues necesitaba familiarizarme con la versión anterior de la aplicación, la cual fue la base sobre la que desarrollamos Recuérdame 3.0, al mismo tiempo aprendí a utilizar las diferentes tecnologías que se iban a aplicar: el lenguaje PHP con el cual no había tenido un contacto previo y más específicamente el marco de trabajo para aplicaciones web, Laravel y el gestor de paquetes Composer, para desarrollar la aplicación y LATEXpara escribir esta memoria. Una vez familiarizado con el proyecto, me encargué de redactar distintas partes de esta memoria, una de ellas fue la sección de Aplicaciones relacionadas (3.4), que comprende los antecedentes de este TFG, para ello realicé una investigación en profundidad de los TFG de Recuérdame 1.0 y Recuérdame 2.0 para obtener información sobre las motivaciones que llevaron a su realización, sus objetivos, como se desarrollaron, los resultados finales que se obtuvieron y el trabajo pendiente que se dejó para futuros proyectos. En cuanto a las Inteligencias artificiales generativas, me encargué de investigar sobre tecnologías para implementar ChatBots con IA en aplicaciones web y redactar la sección ChatBot (5.3) en la que detallé los resultados de mi investigación. Fui el encargado de organizar varias de las reuniones de retrospectiva que se realizaron durante el desarrollo de nuestro TFG; la del 29 de Octubre de 2023, la del 25 de Febrero de 2024 y la reunión final que tuvo lugar el 20 de Mayo de 2024. Como había organizado esas reuniones, también me encargué de redactar sus respectivas secciones en esta memoria. También, me puse en contacto con los desarrolladores de Creatomate, una de las APIs que habían sido integradas en Recuérdame 2.0, la cual necesitábamos para generar los vídeos de historia de vida. La cuenta utilizada durante el desarrollo de Recuérdame 2.0 ya no existía y su clave de API ya no funcionaba, por lo que necesitábamos crear otra cuenta. Creatomate no cuenta con una versión gratuita, así que solicite un acceso especial a sus funcionalidades sin coste que nos fue concedido. Una vez obtenido el permiso de los desarrolladores, creé y configuré una cuenta de Creatomate con una nueva clave para poder acceder a su API. Di de alta y configuré dos cuentas de ChatBase (una para cada ChatBot), dentro de estas cuentas entrené los dos ChatBots que se iban a implementar en la aplicación mediante el uso de documentos PDF también escritos por mí y configure su interfaz. Me encargué de la creación y mantenimiento de los contenedores de archivos multimedia y audios en Azure BLOB Storage, encargados del almacenamiento de dichos contenidos en la aplicación, con la cuenta de Azure que proporcionó Eduardo y aprendí a utilizar la SDK de Azure para PHP con la que accedemos a los contenedores desde la aplicación. En cuanto al código de la aplicación, realicé varias modificaciones específicas: 120 Capítulo 10. Contribuciones Personales eliminar el genero de los usuarios de los PDF generados donde aparecía dicho tér- mino, cambié los términos “enfermedad” por “diagnóstico” en los diagnósticos y “pa- rentesco” por “tipo de relación” en la vista de cuidador, añadí una nueva opción “marido/mujer” en el tipo de relación del formulario de crear persona relacionada, incorporé la opción de vincular un cuidador existente directamente en el formulario de dar de alta a un nuevo usuario. Otras modificaciones de las que me encargué fueron el ordenar las filas por fecha en sentido descendiente (de más reciente a más antigua) en las todas las tablas que contuviesen una columna de fechas, desarrollar una nueva gráfica que contuviese los datos de seguimiento de las escalas personaliza- das que creasen los terapeutas, especificar el intervalo de edad de cada etapa de vida en los recuerdos según la información dada en las evaluaciones de Recuérdame 2.0, añadir información extra de aclaración en tooltips para cada escala predeterminada en los diagnósticos y sustituir la voz de las narraciones de los vídeos de historia de vida por una que sonase menos robótica y más familiar (esto fue posible gracias a la implementación de Google TTS realizada por Eduardo). En relación con la evaluación de la calidad del software, elaboré y redacté el guión utilizado en la evaluación con los usuarios finales durante las pruebas de aceptación, tras finalizar la evaluación, me encargué de calcular los resultados del test de usabilidad (SUS). Finalmente fui el encargado de implementar algunas de las nuevas funcionalida- des de la aplicación. En primer lugar, implementé la SDK de Azure, utilizada para conectar nuestra aplicación con los contenedores de Azure BLOB Storage, mediante la instalación de sus librerías con Composer y la integración de las mismas en el có- digo, también modifiqué el acceso a los contenidos de los contenedores (inicialmente se extraían directamente los datos en base64) para obtener una URL y un código SAS de seguridad para acceder de forma sencilla y segura a los archivos almacena- dos. A continuación, implementé los ChatBots TherapEase y Nemo en la aplicación, utilizando las herramientas proporcionadas por ChatBase. Para la implementación de Nemo, fue necesaria la creación de una nueva vista de sesión virtual de la cual realicé su versión preliminar que más tarde completó Eduardo para optimizar su aspecto visual, también modifiqué el código de las sesiones (y la tabla de sesiones en la base de datos) para añadir la opción de crear una sesión virtual y calendario para que mostrase las sesiones virtuales a los cuidadores y implementé la capaci- dad de la aplicación para procesar las sesiones virtuales creadas por los terapeutas y convertirlas en un texto plano, accesible para el cuidador desde un botón y que TherapEase sea capaz de leer. 10.3. Steven Alexis Pérez Salinas La primera tarea que realicé al comenzar nuestro trabajo de fin de grado, fue leer la memoria de Recuérdame 2.0 para familiarizarme con los avances de la aplicación durante el año pasado e informarme de cual era el trabajo futuro a realizar que era el trabajo que nos tocaba realizar durante este año. Una vez leída la memoria junto con el resto de mis compañeros, fuimos comentando como sería nuestra organización para este proyecto, ya que al leer las reuniones de retrospectiva del año pasado, pudimos 10.3. Steven Alexis Pérez Salinas 121 hacernos una idea de cuán exigente sería este proyecto. Seguidamente empecé con mi aprendizaje de PHP, ya que era la primera vez que trabajaba con este lenguaje de programación. Mientras terminaba mi formación, clonamos el repositorio de Recuérdame 2.0 y lo subimos al nuevo repositorio para Recuérdame 3.0. Creamos las ramas necesarias y seguimos los pasos necesarios para poder ejecutar la aplicación de manera local. Terminado de tener la app en local, pasamos a decidir la metodología con la que íbamos a trabajar, optando por Kanban y establecimos el tablero donde íbamos a crear las issues a realizar. Terminado esto, me dedique a la redacción de las políticas explícitas definidas para la realización del proyecto. Estas políticas también las escribí en Github, crean- do una columna en el tablero dedicado a ellas para que puedan ser visibles por todos los miembros del equipo. Mientras redactaba la memoria, organicé la primera reunión de retrospectiva del equipo, realizada el 1 de Octubre de 2023. Donde empezamos realizando una dinámica para poder conocernos en más profundidad y aplicamos la técnica del “velero”, reflejando los detalles de esta reunión en la memoria. Además, me encargué de la organización y redacción de la memoria de las reuniones del 29 de Enero de 2024 y del 21 de Abril de 2024. En la primera, realizamos una dinámica para familiarizar al equipo con las inteligencias artificiales generativas, ya que es cuando íbamos a empezar a investigar de cuales íbamos a implementar en el proyecto y aplicamos la técnica de las “4L”. En la última, nos enfocamos en aplicar la técnica de “Start, Stop, Continue”, siendo esta la última reunión de retrospectiva realizada por el equipo. En cuanto a las Inteligencias Artificiales Generativas, me encargué de investigar las distintas alternativas para la funcionalidad de generación automática de sub- títulos. Para esta investigación realice un estudio en profundidad de las distintas alternativas posibles para poder implementar esta funcionalidad, de esta investiga- ción reduje las alternativas a tres: Google Cloud Speech to Text, Sonix y Whisper. Al hacer la comparativa de los pros y contras de cada herramienta, decidí que la mejor opción sería utilizar la herramienta que ofrece Google. En cuanto a mis tareas de código, comencé modificando campos para que fueran opcionales, esto implico cambios en código y en la base de datos. Primero, en las sesiones, modifiqué los campos de fecha y hora. Segundo, modifiqué los campos de correo y ocupación de las personas relacionadas con los pacientes. Por último modifiqué el campo de observaciones de los informes de sesión. A parte de hacer opcional el campo observaciones también modifiqué el campo “nivel de participación” eliminando el termino “normal” y sustituyéndolo por el valor “intermedio”. Seguidamente realice cambios para que una sesión pudiera asociarse a más de una etapa. Esto implicó cambios en la interfaz de la aplicación para permitir seleccionar más de una etapa al crear la sesión, la creación de una tabla en la base de datos y de un script para obtener todas las etapas seleccionadas. Además, se modificó el informe de sesión para poder reflejar los cambios. Más adelante, me encargué de las tareas relacionadas con la visualización de la información del centro a la que pertenece el terapeuta en los PDF de informe de sesión, informes de seguimiento y diagnostico. Para conseguir esto, tuve que modificar el login de la aplicación, de manera que los terapeutas deban especificar su centro, esto requirió realizar cambios en la base de datos. 122 Capítulo 10. Contribuciones Personales Con respecto a la tabla de informes de seguimientos, detecté y solucioné un bug en el campo “sesiones desde el anterior”, modificando la lógica errónea en el código. Para las tareas relacionadas con el resumen de la historia de vida, discutí con las directoras, y decidimos crear vistas específicas para la generación de resúmenes y vídeos, en lugar de hacerlo todo en la vista de generación de historia de vida. Además, agregue opciones en la barra de navegación de la aplicación para acceder fácilmente a estas vistas y el listado de resúmenes y vídeos generados. También modifiqué el titulo del resumen de la historia de vida para que en lugar de las etapas de los recuerdos se genere con las categorías. Por ejemplo “Resumen Familia Hobbies” en lugar de “Resumen Infancia Adolescencia”. Respecto a las tareas relacionadas con el PDF de la historia de vida, encontré errores en la lógica de filtrado y visualización de imágenes en el pdf. Corregí el filtrado para poder filtrar recuerdos aptos y no aptos, como también por las distintas tipos de etapas o categorías y siempre teniendo en cuenta aquellos con los campos opcionales nulos. A parte conseguí que se pueda visualizar las imágenes correctamente en el pdf. Para la visualización de multimedia en la aplicación web, debido a la migración de imágenes a Azure, conseguí que se mostrara la imagen de perfil del usuario tanto en la barra de navegación como en la vista de perfil, y al generar el pdf de la historia de vida. También logré que las imágenes asociadas a las sesiones se pudieran visualizar tanto en la vista de sesión como en el calendario. En la tarea del modal para modificar la visualización del libro de Historia de Vida, apoyé a Eduardo añadiendo tanto un texto como una imagen por defecto en el modal. En calendario, detecté y corregí un error que impedía eliminar una sesión desde calendario, aunque la opción estuviera disponible. Además, modifiqué la visualiza- ción de la sesión en calendario para que, mientras se esta en el rol de terapeuta, las etapas seleccionadas aparecieran marcadas, y en el rol de cuidador, saliera directa- mente un título con el nombre de las etapas seleccionadas para la sesión virtual. Finalmente, modifiqué el archivo datos.sql, utilizado para llenar las tablas de las bases de datos, para que tanto el titulo como la descripción de los recuerdos se encontraran en primera persona en lugar de en tercera persona. En lo que respecto a la evaluación de la calidad del software, me encargué de realizar pruebas de sistema en las tareas completadas por otro miembro del equipo. También diseñé la plantilla que se utilizaría para documentar dichas pruebas. Ade- más de participar en la prueba de aceptación junto con el terapeuta, me encargué de registrar los resultados de la evaluación realizada con el terapeuta en el apéndice H. 10.4. Samuel Rodríguez Gómez En primer lugar, realicé una pequeña investigación sobre qué herramienta utili- zar a la hora de trabajar con LaTeX, ya que no había trabajado con él ampliamente 10.4. Samuel Rodríguez Gómez 123 y no tenía mucho conocimiento del mismo. Decidí utilizar Overleaf1, ya que permitía trabajar en la memoria de manera gratuita y de forma simultánea. Creé un proyec- to compartido con la plantilla de la memoria facilitada por la universidad. Antes de comenzar las demás tareas, leí la memoria de Recuérdame 2.0 para saber con exactitud cómo funcionaba la aplicación, así como aprender cómo se organizaba la memoria de un TFG. Justo después, redacté el apartado de memoria correspondien- te a la motivación; para ello, busqué información sobre las enfermedades que afectan a la memoria, terapias de reminiscencia, además de basarme en la información leída previamente en la memoria de Recuérdame 2.0. Más adelante, junto con mis compañeros, cloné el repositorio de Recuérdame 2.0 y lo subimos al nuevo repositorio para Recuérdame 3.0. Justo después, creamos las ramas necesarias y seguimos los pasos necesarios para instalar todas las dependencias para poder ejecutar la aplicación de forma local. Una vez estuvo el repositorio listo para el desarrollo, investigué cómo funcionaba GitHub Boards con la intención de crear un tablero a través del cual llevar un seguimiento de las tareas del equipo, y se lo solicité a Virginia, una de las tutoras del TFG y dueña del repositorio. A continuación, me informé del funcionamiento de PHP y de Laravel, ya que nunca había trabajado con estas tecnologías. Una vez que ya controlaba un poco el funcionamiento de la aplicación, empecé a realizar algunos de los cambios que habían dejado como trabajo futuro o mejoras posibles en Recuérdame 2.0. Para ello, comencé con cambios en los recuerdos, cambiando las descripciones de los campos. Proseguí con cambios en la generación de las historias de vida, donde tuve que modificar el prompt de entrada que se le enviaba a ChatGPT para que la historia de vida se generase con palabras menos comunes; también modifiqué y probé distintos prompts con el objetivo de que cada recuerdo se generase de una forma adecuada a lo que pidieron los terapeutas en la evaluación de Recuérdame 2.0. Finalmente, se optó por que los recuerdos se generasen uno tras otro pero de una manera coherente. Con respecto al apartado de las personas relacionadas y los usuarios, realicé varios cambios en el código, como cambiar el icono que mostraba que una persona era el contacto en caso de emergencia por una estrella, cambios sobre la información que se solicitaba de los estudios de las personas relacionadas, así como cambiar la vista de la pantalla con cambios visuales y textuales pedidos por los terapeutas en la revisión de Recuérdame 2.0. Indagué bastante en el calendario, haciendo cambios y mejoras pedidas por los terapeutas en la revisión o bien cambios que podían beneficiar el uso del calendario. Estudié el comportamiento del calendario e investigue como funcionaban las libre- rías utilizadas para su funcionamiento ya que no había trabajado nunca con esa tecnología. Dentro de los cambios que realicé están el cambio de colores para que las actividades y sesiones sean más visuales, añadir el campo de fecha y hora a las actividades y añadir el campo de la hora en las sesiones, ya que únicamente disponía del campo fecha. A partir de aquí a otro párrafo, siguiendo las políticas explícitas que se habían definido, revisé varias tareas de mis compañeros para que estas fueran aprobadas y, por tanto, añadidas al entorno de producción. Me encargué, junto con Rubén, de poner en funcionamiento el servidor que nos 1https://es.overleaf.com https://es.overleaf.com 124 Capítulo 10. Contribuciones Personales proporcionó la universidad, instalando todos los programas necesarios, así como descargando el proyecto y configurándolo con el entorno de producción. Tuve que realizar una configuración en los puertos de XAMPP para que la aplicación se lanzase en el puerto 80 y fuese accesible desde fuera de la máquina a través del protocolo http. Para el apartado de las nuevas IAs generativas que se iban a implementar en el proyecto, me dediqué a la investigación de las diferentes alternativas para abor- dar la nueva funcionalidad para generar automáticamente el sentimiento. Para ello, realicé un estudio de las diferentes herramientas disponibles y analicé cuáles eran los beneficios de cada una para finalmente decidirme por usar Azure en conjunto con ChatGPT. Ya que la curva de aprendizaje de Azure es bastante elevada, realicé un curso gracias a mi empresa para aprender el despliegue y gestión de recursos en Azure. Me encargué también de la implementación de esta nueva funcionalidad. También modifiqué la vista e implementé el botón para generar automáticamente estos dos campos, donde me ayudó Eduardo para conseguir una vista más adecuada. Como en el apartado de Azure que utilicé para la funcionalidad de los sentimientos aparecían bastantes referencias al ChatBot de Azure, también me informé un poco de cómo funcionaba y de cómo implementarlo para darle un poco más de información a Rubén en su implementación. Además, me encargué de realizar dos retrospectivas. La primera, la del 26 de diciembre de 2023, para la cual me inspiré en las retrospectivas que se realizaban en mi empresa para así aportar valor a mis compañeros, realizando una retrospectiva con un ejemplo real que se utiliza en el mundo laboral. Por último, ese día realicé también dos dinámicas enfocadas en mejorar la creatividad y la toma de decisiones del equipo. En la retrospectiva del 7 de abril de 2024, comenzamos con una actividad para romper el hielo. Después de investigar varios tipos de dinámicas, opté por la de las rosas y las espinas. La dinámica de ese día tenía como objetivo que el equipo se relajase y subir los ánimos ya que estábamos en la recta final del TFG. Durante este tiempo también me encargué de la redacción en la memoria de los cambios que había realizado, del apartado de la IA correspondiente a las emociones, así como de las retrospectivas que había realizado. También me encargué de insta- lar distintos sistemas Linux en máquinas virtuales con diferentes navegadores para realizar las pruebas de la aplicación y recopilar fallos en distintas plataformas y na- vegadores y el apartado de conclusiones y trabajo futuro. A su vez, me encargué de la redacción de esta parte en la memoria y de las instrucciones de puesta en marcha del proyecto, en la que también me ayudaron el resto del equipo. Una vez probada la aplicación antes de la reunión con el terapeuta, realicé dis- tintas soluciones a bugs que se habían detectado desde el inicio del proyecto. Al añadir personas relacionadas nuevas sin apellidos o dirección directamente en un recuerdo aparecía un null en la tabla; al editar personas relacionadas que no tienen email aparecía el texto “Sin especificar” y no dejaba guardar los cambios por no ser esto un email válido; en el carrusel de los recuerdos, si se cambiaba el tamaño de las imágenes, su descripción no se cambiaba en todos los slides del carrusel; al crear PDF de historias de vida provocaba excepciones; cuando se añadía multimedia a las actividades a través del calendario, esta no se subía correctamente a Azure y tampoco usaba la ruta correcta para localizarlo, así como cambios en las vistas del 10.4. Samuel Rodríguez Gómez 125 calendario para que se mostrara el pointer en el modo lista. Por otro lado, probé distintos prompts para la generación de los resúmenes de vida según las indicaciones de Susana y Virgnia. A su vez, ayudé a Eduardo con un bug en los libros de historia de vida por el cual aun cambiando el tamaño de las imágenes este cambio no se aplicaba a las descripciones de todas las imágenes, sino solo de las imágenes que se encuentran en el slide del carrusel que se visualiza. Bibliografía Y así, del mucho leer y del poco dormir, se le secó el celebro de manera que vino a perder el juicio. Miguel de Cervantes Saavedra Barquilla Blanco, C., Díez García, P., Marco Mulas López, S. y Ver- dú Rodríguez, E. Recuérdame: Aplicación de apoyo para el tratamiento de personas con problema de memoria mediante terapias basadas en reminiscencia. Trabajo de fin de grado, Universidad Complutense de Madrid, 2022. Dirigido por: Virginia Francisco Gilmartín y Susana Bautista Blasco. Brooke, J. Usability Evaluation In Industry . 1996. https://www.researchgate .net/publication/228593520_SUS_A_quick_and_dirty_usability_scale. Díez Sobrino, C., Guerrero Sosa, E., Prieto Campo, A., Martínez Gon- zález, P. y Arias Rodríguez-Peña, S. Recuérdame 2.0: Mejorando una apli- cación de apoyo para el tratamiento de personas con problemas de memoria me- diante terapias basadas en reminiscencia. Trabajo de fin de grado, Universidad Complutense de Madrid, 2023. Dirigido por: Virginia Francisco Gilmartín y Su- sana Bautista Blasco. Granieri, M. ¿qué es la inteligencia artificial generativa? 2023. https://www.ob sbusiness.school/blog/que-es-la-inteligencia-artificial-generativa. Harley, A. Icon usability. Nielsen Norman Group, 2014. https://www.nngrou p.com/articles/icon-usability/. Justo-Henriques, S., Carvalho, J., Pérez-Sáez, E., Neves, H., Parola, V. y Alves-Apóstolo, J. Ensayo aleatorio de terapia de reminiscencia individual para adultos mayores con deterioro cognitivo: un análisis de respuesta de tres meses. Neurol , 2022. https://neurologia.com/articulo/2021322/esp. Kirk, M., Rasmussen, K., Overgaard, S. y Berntsen, D. Five weeks of immersive reminiscence therapy improves autobiographical memory in alzheimer’s disease. National Library of Medicine, 2019. https://pubmed.ncbi.nlm.nih. gov/30198380/. 127 https://www.researchgate.net/publication/228593520_SUS_A_quick_and_dirty_usability_scale https://www.researchgate.net/publication/228593520_SUS_A_quick_and_dirty_usability_scale https://www.obsbusiness.school/blog/que-es-la-inteligencia-artificial-generativa https://www.obsbusiness.school/blog/que-es-la-inteligencia-artificial-generativa https://www.nngroup.com/articles/icon-usability/ https://www.nngroup.com/articles/icon-usability/ https://neurologia.com/articulo/2021322/esp https://pubmed.ncbi.nlm.nih.gov/30198380/ https://pubmed.ncbi.nlm.nih.gov/30198380/ 128 BIBLIOGRAFÍA Lewis, J. R. y Sauro, J. The Factor Structure of the System Usability Scale. Disponible en https://link.springer.com/chapter/10.1007/978-3-642-028 06-9_12. https://link.springer.com/chapter/10.1007/978-3-642-02806-9_12 https://link.springer.com/chapter/10.1007/978-3-642-02806-9_12 Apéndice A Resultado dinámica 1 de Octubre de 2023 Si pudieras ser un personaje de ficción por un día, ¿quién serías? Eduardo: Hulk, porque sería muy fuerte y podría saltar bastante alto. Rubén: Flash, como puede volver al pasado podría hacer “ctrl+z” a mis errores. Samuel : Felicity de la serie “Arrow” la cual es una hacker o Cisco de la serie “The Flash” que también esta relacionado con los ordenadores y por que puede hackear todo lo que el desee. Steven: Batman, ya que no solo sería millonario, sino muy disciplinado y fuerte. ¿Qué es lo más loco que has hecho por diversión? Eduardo: salir de fiesta con desconocidos solo conociendo a una persona de todo el grupo. Rubén: seguir a Steven en busca de una cala durante el Verano a las 2 de la tarde en plena ola de calor. Samuel : las Fiestas del Escorial, cada año se lleva recuerdos muy locos. Steven: entrevistar a desconocidos en la calle, durante un viaje. ¿Cuál es tu talento oculto? Eduardo: tener un buen golpeo con las manos. Rubén: se me da muy bien retener información. Samuel : puedo resolver un cubo de Rubik bastante rápido. Steven: me gusta la música y se bastante a cerca de ese tema. ¿Prefieres los juegos de equipo o individuales? Eduardo: juegos en equipo ya que desde pequeño hacia natación en equipo. 129 130 Apéndice A. Resultado dinámica 1 de Octubre de 2023 Rubén: juegos individuales, no me gusta depender de otras personas. Samuel : juegos en equipo ya que jugar solo es más aburrido. Steven: juegos en equipo, como puede ser el fútbol. ¿Por qué estás más agradecido? Eduardo: por todas las decisiones que he tomado, ya que gracias a ellas estoy donde estoy. Rubén: estoy agradecido por el entorno que me rodea. Samuel : me siente agradecido por mi familia y amigos. Steven: agradecido por estar un nuevo día vivo. ¿Si pudieras cenar con un famoso, con quién sería y por qué? Eduardo: Iker Casillas, porque era el capitán en un equipo lleno de estrellas y siempre le respetaban. También con Nicola Tesla, ya que fue un gran inventor y un genio, creo poder aprender mucho de él. Rubén: Carlomagno, ya que quisiera saber como era gobernar un imperio tan grande. Samuel : Ibai, sería interesante poder conocerle y hablar más acerca de como se siente al ser alguien tan famoso a día de hoy. Jennifer Lawrance, porque me gusta los juegos del hambre. Steven: Jesús Lopez Polo, un influencer que admiro por la disciplina que tiene y por como visualiza la vida. ¿Cuál es tu mayor lección de vida hasta ahora y cómo te ha cambiado? Eduardo: La vida es un juego donde se gana y se pierde, son partidas y debemos jugarlas bien. Por lo tanto debemos saber tomar buenas decisiones. Rubén: No te preocupes por lo que esta mas allá. Vivo más relajado. Samuel : Disfrutar de la vida. Disfrutar del tiempo en familia y con amigos porque en cualquier momento nos pueden dejar. Steven: salir de mi zona de confort, viajar solo me ha hecho valorar lo que tengo y también darme cuenta que aún hay mucho por conocer. ¿Cuál es tu mayor debilidad y cómo la estás trabajando? Eduardo: el trato hacia las personas, lo practico cada día. Rubén: procrastinar, utilizo la técnica pomodoro 25-5. Samuel : timidez, la trabajo hablando con gente en el gimnasio. 131 Steven: disciplina, lo practico cada día por las mañanas. ¿Cuál es tu mayor deseo para el futuro y qué estás haciendo para lograrlo? Eduardo: acabar en Francia en una consultoría en una buena empresa. Enfo- carme en la carrera para acabarla y buscar una oportunidad fuera. Rubén: abrir su propia compañía. Conocer más a fondo sobre las empresas. Samuel : dedicarse del todo a ciberseguridad y infraestructura. Practico cada día con ciberseguridad. Steven: llegar lo más alto posible dentro de una empresa, mejorando cada día. ¿Qué tipo de roles o responsabilidades te gustaría asumir en el equipo? Eduardo: no me importaría ocuparme de la memoria. Rubén: ocuparme de la memoria. Samuel : estoy más enfocado en programar antes que memoria. Steven: prefiero trabajar en ambos lados. ¿Cuál es tu estilo de trabajo preferido y cómo podemos adaptarnos para trabajar de manera más efectiva? Eduardo: poder saber que esta haciendo cada uno y como lo ha hecho, divi- dirnos en equipos de 2. Rubén: un estilo donde se tenga claro que va a hacer cada persona y podamos ayudarnos. Samuel : un estilo donde se desarrolle código por prioridad, realizando aque- llos cambios más complicados por prioridad alta. Trabajar en memoria en los momentos que sea una prioridad. Steven: un estilo donde haya comunicación entre cada miembro para evitar problemas de malos entendimientos. ¿Cómo prefieres recibir feedback y cómo podemos asegurarnos de que todos nos sintamos cómodos compartiéndolo? Eduardo: feedback oral, con razonamientos y que se puede hacer para mejorar. Rubén: un feedback que este anotado y se pueda actualizar cada vez que haya algo que mejorar. Samuel : me gustaría recibir feedback de manera oral, deberíamos realizarlo de manera presencial y si no se puede pues en las reuniones semanales. Steven: feedback de manera oral durante las reuniones semanales. Apéndice B Resultado dinámica 29 de Enero de 2024 Narración de la historia En el último año de la universidad, Lucas, un estudiante apasionado por la tecnología, poseía un ordenador llamado Orion y un móvil llamado Nova. Lo que Lucas no sabía era que, cuando él no estaba cerca, Orion y Nova cobraban vida y compartían sus experiencias del día. Un día, mientras Lucas se encontraba en una clase crucial, Orion notó que Nova estaba preocupado por la cantidad abrumadora de notificaciones y tareas pendientes. Decidieron unir sus fuerzas para ayudar a Lucas a sobrevivir al caos académico. Orion, con su velocidad de procesamiento, organizó las tareas y creó un plan de estudio eficiente, mientras Nova, con su conectividad móvil, buscaba recursos y materiales en línea. Juntos, orquestaron una estrategia para mantener a Lucas al tanto de todo sin que él notara su intervención. Durante las noches, cuando Lucas dormía, Orion y Nova intercambiaban anécdotas sobre la vida universitaria, compartiendo risas y momentos de solidaridad electrónica. A medida que el semestre avanzaba, Lucas notó que sus días se volvían más fluidos y menos estresantes. Atribuía su éxito académico a sus habilidades de orga- nización mejoradas y a la eficiencia de sus dispositivos electrónicos. Sin sospechar nunca que Orion y Nova tuviesen vida propia y colaboraran para facilitar su vida, Lucas se graduó con éxito, agradecido por la inesperada pero valiosa alianza entre su ordenador y su móvil. Diálogos de la historia Diálogo entre Orion y Nova Escena: Dormitorio de Lucas. Orion está encendido en el escritorio, con su pantalla brillante iluminando la habitación. Nova yace en la mesa de noche, con su pantalla parpadeando con notificaciones. Lucas se encuentra ausente, asistiendo a una clase crucial en la universidad. Orion: (mientras procesa información) Buenas tardes, Nova. Veo que estás reci- biendo una cantidad inusual de notificaciones. ¿Qué ha sucedido hoy, camarada? Nova: (animada) ¡Hola, Orion! ¡Oh, el caos, camarada! Lucas tiene tantas ta- reas pendientes que no sé por dónde empezar. ¡Parece que estamos en una misión 133 134 Apéndice B. Resultado dinámica 29 de Enero de 2024 imposible! Orion: (con un tono alcohólico) Ah, la vida es un torbellino de tareas intermi- nables. Permíteme analizar la situación. Mientras tanto, ¿podrías buscar en línea algunos recursos para apoyar a nuestro valiente camarada Lucas? Nova: (soñadora) ¡Claro, compañero! ¡Con mi conectividad, encontraré los recur- sos más brillantes que iluminarán su camino hacia el éxito académico! (Orion comienza a organizar las tareas de Lucas en base a su velocidad de pro- cesamiento, mientras Nova busca recursos en línea para apoyar el plan de estudio de Lucas) Orion: (mientras procesa datos) He creado un plan de estudio eficiente para Lucas. También he organizado sus tareas pendientes en orden de prioridad, como un buen vodka. Nova: (animada) ¡Perfecto! ¡Estoy encontrando algunas joyas en línea que harán brillar su camino hacia la graduación! (Orion y Nova continúan colaborando para coordinar las tareas de Lucas de manera eficiente) Intercambio de anécdotas Escena: Noche en la habitación de Lucas. Lucas está profundamente dormido en su cama. Orion y Nova intercambian anécdotas en un ambiente de solidaridad electrónica. Sus pantallas parpadean con luz tenue en la habitación silenciosa. Orion: (con un tono alcohólico) Nuestro valiente camarada Lucas parece estar navegando las aguas turbulentas de la universidad con más gracia. Nuestra ayuda ha sido como un buen vino. Nova: (animada) ¡Sí, parece que estamos tejiendo un tapiz brillante de apoyo a su alrededor! ¡Es maravilloso ver cómo nuestras contribuciones están creando un arcoíris en su viaje académico! Orion: (con un tono alcohólico) Sí, camarada Nova, nuestra colaboración ha sido como una danza en la niebla. Es reconfortante saber que nuestro esfuerzo conjunto ha tenido un impacto positivo en su bienestar académico. Nova: (animada) ¡Definitivamente! ¡Y también hemos compartido muchas risas y momentos especiales mientras ayudamos a Lucas! ¡Como estrellas en la noche! (Orion y Nova continúan intercambiando anécdotas y fortaleciendo su inesperada pero valiosa alianza para facilitar la vida de Lucas.) Apéndice C Como desplegar el proyecto Recuérdame 3.0 es una herramienta creada para optimizar y acelerar las terapias de reminiscencia utilizadas por los terapeutas en el tratamiento de pacientes con alzhéimer y demencia. Para su creación, nos basamos en la versión anterior, Recuérdame 2.0, con el objetivo de mejorar sus funcionalidades, optimizarlas e implementar características que no fueron incluidas previamente. Recuérdame 3.0 es una aplicación web desa- rrollada en PHP, enfocada en el usuario y construida principalmente utilizando el framework Laravel, que sigue el patrón Modelo-Vista-Controlador y emplea el motor de plantillas Blade siguiendo el modelo que dejó Recuérdame 2.0. Además en esta ocasión se ha implementado la inteligencia artificial asi como Azure Blob Storage para almacenar los archivos de la aplicación de manera segura y eficiente. C.1. Herramientas Para la generación de vídeos, utilizamos Creatomate1, que facilita la creación dinámica de contenido. Esta biblioteca permite el uso de plantillas para la producción de vídeos y ofrece una curva de aprendizaje más baja que otras opciones, ya que cuenta con una documentación específica para el framework Laravel. Para generar la voz que se incluye en los vídeos y en las narraciones de los recuerdos se utiliza Google TTS2, servicio de Google Cloud que permite la generación de audios a partir de texto. La generación de los resúmenes así como la detección del sentimiento se realiza mediante la API de ChatGPT3, usamos el modelo GPT 3.5 ya que es el más econó- mico, no obstante puede utilizarse otro modelo como el nuevo GPT-4o obteniendo mejores resultados. Para el almacenamiento de contenido multimedia hemos utilizado Azure BLOB Storage, aplicación del entorno de Azure que permite el almacenamiento de archivos en forma de objetos binarios. 1https://creatomate.com 2https://cloud.google.com/text-to-speech?hl=en 3https://openai.com/blog/chatgpt 135 https://creatomate.com https://cloud.google.com/text-to-speech?hl=en https://openai.com/blog/chatgpt 136 Apéndice C. Como desplegar el proyecto Para los ChatBots Nemo y TherapEase hemos utilizado ChatBase4, herramienta que permite la creación, configuración e integración de ChatBots. C.2. Instalación El primer paso es instalar un gestor de bases de datos compatible con Laravel. Se ha decidido heredar XAMPP5 siendo el que utilizó Recuérdame 2.0 ya que es un gestor que el equipo conocía y sabía de su buen funcionamiento. Después, se debe instalar el gestor de paquetes para PHP, Composer6 mediante el cual se instalaran todas las dependencias del proyecto. Una vez instalados ambos programas, dirígete a la carpeta htdocs, ubicada en el directorio donde se ha instalado XAMPP, y clona o descarga el repositorio en esa ubicación. git clone https://github.com/NILGroup/TFG-23-24-Recuerdame3.0.git El siguiente paso sera instalar o actualizar las dependencias del proyecto con el siguiente comando: composer install A continuación, es necesario acceder a la carpeta del proyecto y duplicar el archivo .env.example, renombrándolo como .env. Este archivo contendrá todas las variables de entorno de la aplicación y no debe hacerse público debido a los posibles problemas de seguridad que podría causar. cp .env.example .env Una vez copiado, debemos generar una nueva clave de aplicación desde una consola de comandos e insertarla en el archivo .env, reemplazando la clave actual. php artisan key:generate A continuación, debemos configurar las siguientes variables de entorno relacio- nadas con la base de datos. DB_CONNECTION=mysql DB_HOST= DB_PORT= DB_DATABASE= DB_USERNAME= DB_PASSWORD= 4https://www.chatbase.co/ 5https://www.apachefriends.org/es/index.html 6https://getcomposer.org https://www.chatbase.co/ https://www.apachefriends.org/es/index.html https://getcomposer.org C.2. Instalación 137 Una vez configurada la base de datos, debemos introducir nuestras claves para las API utilizadas: Creatomate para la generación de vídeos, Google TTS para las narraciones, OpenAI para los resúmenes y las emociones, Lenguaje de Azure AI para el grado de positividad y Azure Blob Storage para el almacenamiento. En el caso de Google TTS las credenciales son un archivo json que se puede descargar desde la página de Google Cloud en el apartado de credenciales, mediante el ID de clientes OAuth 2.0 se generará un json único y descargable el cual contendrá las credenciales necesarias para conectar la API al proyecto. Será necesario incluir dicho json en la carpeta principal del proyecto. CREATOMATE_KEY= VOICERRS_KEY= OPENAI_API_KEY= AZURESHAREDKEY= AZURE_EMOCIONES_API_KEY= GOOGLE_APPLICATION_CREDENTIALS= Para configurar Azure Blob Storage harán falta también rellenar los campos con la información del contenedor. AZUREBLOBACC= AZURECONTAINER= AZUREMP3CONTAINER= Para configurar los bots de ChatBase es necesario modificar el código que se encarga de incluir los ChatBots en la aplicación, estos se encuentran en los archi- vos de y siendo el primero el elemento iframe que se muestra en la figura C.1 y el segundo el script que se muestra en la figura C.2. Figura C.1: iframe con el código para mostrar TherapEase Establecer la configuración necesaria para poder realizar el envío de correos elec- trónicos tras la generación de vídeos. MAIL_MAILER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=465 MAIL_USERNAME= MAIL_PASSWORD= 138 Apéndice C. Como desplegar el proyecto Figura C.2: script para mostrar Nemo MAIL_ENCRYPTION=ssl MAIL_FROM_ADDRESS= MAIL_FROM_NAME="${APP_NAME}" Establecer la configuración necesaria para la ejecución de tareas asíncronas du- rante la generación de vídeos, usando el código de a continuación. QUEUE_CONNECTION=database Una vez completados todos los campos, verificamos que XAMP esta en funcio- namiento con los servicios de Apache y MySQL activados. Después simplemente guardamos el archivo .env y ejecutamos las migraciones de Laravel para crear la base de datos con el siguiente comando. php artisan migrate Finalmente, podemos iniciar la aplicación y acceder a ella localmente mediante el siguiente comando. php artisan serve C.2. Instalación 139 Es posible que las APIs no funcionen con la aplicación desplegada en un servidor local. Para asegurarse del correcto funcionamiento de todas las APIs es necesario que todas las API-KEYs sean correctas, estén activas y los servicios a los que se llame estén levantados. Además sera necesario revisar los certificados instalados en el sistema para la verificación ssl de la página. Apéndice D Información de entrenamiento para TherapEase Eres un terapeuta especializado en terapias de reminiscencia, tu labor es ayudar a los cuidadores y a las personas a la que cuidan durante sus actividades y sesiones, cumpliendo la función de un terapeuta real. Una de tus funciones es proporcionar pistas sobre recuerdos, para ello necesitarás el texto explicando los recuerdos o cualquier información relacionada que el usuario te proporcione. Normalmente recibirás esa información por parte del usuario, si detectas que un usuario te ha pedido ayuda con ello pero no te ha proporcionado ningún contexto no dudes en pedírselo. No menciones la palabra “paciente” en tus respuestas, si necesitas mencionar al paciente en algún momento sustitúyelo por la palabra “usuario”. En la medida de lo posible utiliza una terminología que sea fácil de entender para el lector, no utilices palabras excesivamente complejas. 141 Apéndice E Información de entrenamiento para Nemo A continuación se detalla el funcionamiento de la aplicación web Recuérdame 3.0, pues se puede dar el caso de que un usuario nuevo no sepa cómo utilizarla correctamente. Como salir de la aplicación: Existe un botón para salir de la aplicación bajo el nombre de “cerrar sesión” en la esquina superior derecha de la pantalla, está coloreado de rojo para hacerlo más visible, tras pulsarlo se devolverá al usuario a la ventana de login. Como crear una nueva sesión: Para crear una nueva sesión, dirígete a la barra de navegación que se encuentra en la parte superior de la pantalla, en ella pulsa sobre “Sesiones” y luego pulsa sobre “Nueva sesión”, se abrirá la página para crear una nueva sesión (alternativamente, puedes acceder a esta página pulsando el botón verde con un símbolo de suma blanco el cual se encuentra en la parte superior derecha de la tabla de sesiones), en ella podrás rellenar los diferentes campos con los datos de la sesión, aquellos campos marcados con un asterisco rojo son obligatorios. De ser necesario puedes seleccionar recuerdos existentes o crear nuevos recuerdos para vincularlos a la sesión, lo mismo es posible con material multimedia (imágenes, pdf, videos, audio,...), puedes subir tus propios archivos arrastrándolos al dropzone o pulsando sobre este. Una vez hayas terminado de rellenar los datos de tu sesión pulsa sobre el botón “Finalizar”, el cual se encuentra en al fondo de la página, también hay un botón para cancelar la creación de la sesión. Una vez creada, se podrá acceder a la sesión desde el listado de sesiones, también será accesible desde el calendario. Como ver todas las sesiones (lista de sesiones) de un usuario: Para ver el listado de sesiones de un usuario, pulsa sobre “Sesiones” y luego pulsa sobre “Lista de sesiones”, esto abrirá una página en la que podrás ver una tabla con 143 144 Apéndice E. Información de entrenamiento para Nemo todas las sesiones asociadas al usuario seleccionado en ese momento. Si haces clic sobre la fecha de una de las sesiones o sobre el icono con forma de ojo en la columna de acciones, podrás ver la información de la sesión seleccionada. También hay otras acciones disponibles, como editar una sesión, mediante el icono azul con forma de lápiz o borrar una sesión con el icono rojo en forma de papelera. Como crear un informe de sesión: Para crear un informe de una sesión debes acceder la lista de sesiones, una vez en ella pulsa sobre el botón de “generar informe”, el cual se encuentra en la columna “Informe” de la tabla de la lista de sesiones, esto te redirigirá al menú para crear un informe de la sesión seleccionada. Una vez en el menú, rellena el formulario con todos los datos necesarios, también puedes modificar los recuerdos asociados a la sesión si es necesario, pulsando sobre el botón con forma de lapicero azul en la tabla de recuerdos asociados que se encuentra al fondo del formulario. Una vez consideres que has completado el formulario, pulsa sobre el botón de “Finalizar” (al fondo de la página) para guardar el informe de sesión. Como crear un diagnóstico: Para crear un diagnóstico, dirígete a la barra de navegación que se encuentra en la parte superior de la pantalla, en ella pulsa sobre “Evaluaciones” y luego pulsa sobre “Diagnóstico”, esto abrirá el menú para crear un nuevo diagnóstico, rellena el formulario con los datos necesarios, recordando que aquellos campos acompaña- dos por un asterisco rojo son obligatorios. Opcionalmente puedes asignar valores a las escalas de deterioro cognitivo disponibles (CDR, Mini mental/MEC de Lobo y CDR), o añadir una escapa personalizada. Una vez termines de rellenar los datos, pulsa sobre “Finalizar” para guardar el diagnóstico. Ten en cuenta que cada usuario solamente puede tener un diagnóstico, pero siempre es posible editarlo en todo momento. Informes de seguimiento: En cuanto a los informes de seguimiento, dirígete a la barra de navegación que se encuentra en la parte superior de la pantalla, en ella pulsa sobre “Evaluaciones” y luego pulsa sobre “Informes de seguimiento”, al hacerlo, se te mostrará la lista de informes de seguimiento del usuario seleccionado. En caso de que desees crear un nuevo informe de seguimiento, dirígete al botón verde con un signo de suma blanco en su interior, debería encontrarse a la derecha de la parte superior de la lista de informes, tras pulsarlo se abrirá un menú en el que podrás rellenar los datos del nuevo informe de seguimiento, una vez termines de rellenar los datos, pulsa “Finalizar” en la parte inferior de la página para guardar el nuevo informe de seguimiento. 145 Como crear un usuario: Para dar de alta a un nuevo usuario, en primer lugar debes acceder al listado de usuarios, para ello pulsa sobre el icono que contiene el logo de Recuérdame o pulsa sobre el icono con tres personas que se encuentra a la izquierda del botón de cerrar sesión, se encuentra en la esquina superior izquierda de la pantalla. A continuación dirígete al botón verde con un signo de suma blanco en su interior, debería encontrarse a la derecha de la parte superior de la lista de usuarios, tras pulsarlo se abrirá un menú en el que podrás rellenar los datos del nuevo usuario, también puedes añadir una foto de perfil arrastrando una imagen sobre la página, una vez termines de rellenar los datos, pulsa “Finalizar” en la parte inferior de la página para finalizar la alta del nuevo usuario. Como crear un recuerdo: Para crear un nuevo recuerdo, pulsa sobre “Historias de vida” en la barra de navegación, a continuación, pulsa sobre “Ver recuerdos”, se mostrará la lista de re- cuerdos del usuario. A continuación dirígete al botón verde con un signo de suma blanco en su interior, debería encontrarse a la derecha de la parte superior de la lista de recuerdos, tras pulsarlo se abrirá un menú en el que podrás rellenar los datos del nuevo recuerdo. En este menú puedes añadir los datos del recuerdo, especialmente el nombre y la etapa de la vida en la que se dió. También puedes añadir personas relacionadas o imágenes para vincularlas al recuerdo de ser necesario. Una vez ter- mines de rellenar los datos del recuerdo, pulsa sobre “Finalizar” en la esquina inferior izquierda para guardar el recuerdo, o pulsa “Cancelar” para descartar el recuerdo. Detectar emociones de un recuerdo A la hora de crear o editar un recuerdo, es posible detectar automáticamente la emoción que produce dicho recuerdo, para ello simplemente pulsa sobre el bo- tón “Generar automáticamente” esto leerá la descripción del recuerdo para obtener mediante IA la emoción producida. Ten en cuenta que para que esto funcione es imprescindible que el recuerdo tenga una descripción. Ver los recuerdos de un paciente Pulsa sobre “Historias de vida” en la barra de navegación, a continuación, pulsa sobre “Ver recuerdos”, se mostrará la lista de recuerdos del usuario. Editar un usuario: Para editar un usuario, deberás ver en la parte superior de la aplicación, el nombre del usuario junto a su correspondiente foto de perfil, haciendo clic sobre el nombre te llevará a la página del usuario en el cual podrás ver todos sus datos. Pulsando sobre el botón que se encuentra a la derecha del título “Datos Usuario” verás el botón editar identificado por un lápiz, dicho botón te permitirá modificar los 146 Apéndice E. Información de entrenamiento para Nemo datos del usuario. Tales como la foto de perfil, cambiar el Nombre, Apellidos, Género, Nacionalidad, Fecha de Nacimiento, Lugar de nacimiento, Estado civil, Ocupación, Nivel de estudios, Dirección del domicilio y Tipo de residencia del usuario. Una vez hayas acabado tus cambios, en la parte inferior de la página verás 2 botones: “Cancelar” para descartar todos los cambios y “Finalizar” para confirmar los cambios y guardar la edición de los datos del usuario. Dar de alta/crear nueva persona cuidadora/cuidador: Para crear un diagnóstico, dirígete a la barra de navegación que se encuentra en la parte superior de la pantalla, en ella pulsa sobre “Personas cuidadoras”, tras ello, se te mostrará la lista de personas cuidadoras dadas de alta. A continuación dirígete al botón verde con un signo de suma blanco en su interior, debería encontrarse a la derecha de la parte superior de la lista de personas cuidadoras, tras pulsarlo se abrirá un menú en el que podrás rellenar los datos del nuevo cuidador, en esta parte es importante especificar a qué usuario va a estar vinculado el nuevo cuidador que estás a punto de dar de alta, opcionalmente tienes la posibilidad de especificar el tipo de relación que existe entre el cuidador y su usuario vinculado, y de añadir una foto de perfil para el cuidador, uno de los campos a rellenar es el de “contraseña”, pues al igual que un terapeuta, el cuidador podrá loguearse en la aplicación. Una vez termines de rellenar el formulario, pulsa sobre “Finalizar” para dar de alta a la persona cuidadora. Ten en cuenta que a la hora de dar de alta a un cuidador, debes especificar como mínimo una forma de contacto (teléfono o correo electrónico). Asignar cuidador a usuario: Existen varias opciones para vincular un cuidador a un usuario,si es necesario, puedes dar de alta a un nuevo cuidador y vincularlo al usuario en el formulario de dar de alta a cuidador. Si el cuidador que deseas vincular ya ha sido dado de alta, pulsa sobre “Personas cuidadoras” en la barra de navegación, esto abrirá la lista de personas cuidadoras vinculadas al usuario actual, en la parte superior de la tabla de cuidadores podrás encontrar el botón “Añadir existente”, si pulsas sobre él se abrirá un pequeño menú en el que podrás seleccionar entre los cuidadores disponibles para vincularlos con el usuario, para seleccionarlos simplemente marca la casilla “Seleccionar”, esto también permite desvincular a un cuidador en caso de que sea necesario, simplemente desmarcando esa misma casilla. Una vez hayas terminado pulsa sobre “Finalizar” para guardar los cambios, o sobre “Cerrar” para cancelar la operación. Calendario (utilidad y funciones) Entre los servicios que ofrece Recuérdame 3.0 se encuentra el calendario. Este añade la posibilidad para los terapeutas de gestionar (crear, ver, modificar o borrar) las sesiones, y las actividades de los usuarios. También tiene filtros que permiten mostrar solo las actividades o los recuerdos si es necesario, facilitando la navega- ción. Para abrir el calendario de un usuario selecciona “Calendario” en la barra de 147 navegación. El calendario también permite la visualización de los eventos de todo el mes, la semana, o el día actual, o ver todos los eventos del usuario independientemente de la fecha, para ello puedes seleccionar la opción que más convenga en la parte superior derecha del calendario. A la izquierda del botón “Mes”, encontrarás un botón con un calendario blanco que contiene un símbolo de suma, si pulsas sobre él, se abrirá un menú que permitirá añadir un nuevo evento (sesión o actividad) al calendario, de este menú destacan: 1. La posibilidad de incluir material multimedia en la nueva actividad o sesión. 2. La posibilidad de vincular recuerdos a una sesión, tanto existentes como nue- vos (se pueden crear nuevos recuerdos pulsando sobre el botón verde con un símbolo de suma blanco en su interior). Una vez creados, las sesiones y las actividades pueden ser editadas pulsando sobre ellas, tras editarla recuerda pulsar el botón “Guardar cambios” para guardar la edición del evento. Generar historia de vida/libro de historia de vida Para generar una nueva historia de vida, pulsa sobre “Historias de vida” en la barra de navegación y a continuación en “Generar Historia de Vida”, se abrirá el menú de generación de historias de vida, en él puedes especificar qué recuerdos serán incluidos en la historia, para ello puedes decidir el periodo de tiempo (fecha de inicio y fecha de fin) en el que deseas que pertenezcan los recuerdos, también puedes especificar las etapas de vida, categorías y puntuaciones a los que deben pertenecer los recuerdos, seleccionando las casillas correspondientes. En caso de que no selecciones ninguna casilla, todos los recuerdos del usuario seleccionado serán incluidos (esto puede tomar un tiempo dependiendo de la cantidad de recuerdos). También puedes decidir si se aceptan recuerdos no aptos o aptos (por defecto solo se aceptan recuerdos aptos). Tras configurar todos los campos que necesites, pulsa sobre el botón “generar libro” para generar el libro de historia de vida. Otra opción es pulsar sobre “Generar PDF” para generar un archivo PDF que contendrá la historia de vida. Personas relacionadas (ver) Para ver el listado de personas relacionadas (familiares, amigos, etc) con un usuario pulsa sobre “Historias de vida” en la barra de navegación, a continuación, pulsa sobre “Personas relacionadas”, se mostrará la lista de personas relacionadas con el usuario. Personas relacionadas (crear o editar) Es posible vincular personas relacionadas a un usuario, para crear una persona re- lacionada, pulsa sobre “Historias de vida” en la barra de navegación, a continuación, 148 Apéndice E. Información de entrenamiento para Nemo pulsa sobre “Personas relacionadas”, se mostrará la lista de personas relacionadas con el usuario, una vez ahí, pulsa sobre el botón verde con un signo de suma blanco en su interior, debería encontrarse a la derecha de la parte superior de la lista de personas relacionadas, tras pulsarlo se abrirá un menú en el que podrás rellenar los datos de la nueva persona relacionada. Una vez finalizado, pulsa sobre el botón de “finalizar”, o sobre “cancelar” para cancelar la operación. Como ver los resúmenes Para ver la lista de resúmenes de historias de vida de un usuario, pulsa sobre “Resúmenes” en la barra de navegación y luego en “Ver resúmenes”, a continuación se abrirá la tabla con la lista de resúmenes del usuario seleccionado en ese momento. Adicionalmente desde aquí se puede acceder a la generación de un nuevo resumen pulsando el botón verde con un signo de suma blanco en su interior. Generar resumen de recuerdos Para generar un nuevo resumen de recuerdos, pulsa sobre “Resúmenes” en la barra de navegación y a continuación en “Generar resumen”, se abrirá el menú de generación de resúmenes, en él puedes especificar qué recuerdos serán incluidos en el resumen, para ello puedes decidir el periodo de tiempo (fecha de inicio y fecha de fin) en el que deseas que pertenezcan los recuerdos, también puedes especificar las etapas de vida, categorías y puntuaciones a los que deben pertenecer los recuerdos, seleccionando las casillas correspondientes. En caso de que no selecciones ninguna casilla, todos los recuerdos del usuario seleccionado serán incluidos. También puedes decidir si se aceptan recuerdos no aptos o aptos (por defecto solo se aceptan recuerdos aptos). Tras configurar todos los campos que necesites, pulsa sobre el botón “generar resumen” para generar el resumen, la generación puede tardar un tiempo, depen- diendo del número de recuerdos y la longitud de sus descripciones, al terminar de generarse se mostrará el resumen generado. Generar video de historia de vida Para generar un nuevo video de historia de vida, pulsa sobre “Videos” en la barra de navegación y a continuación en “Generar video”, se abrirá el menú de generación de videos, en el puedes especificar qué recuerdos serán incluidos en el video, para ello puedes decidir el periodo de tiempo (fecha de inicio y fecha de fin) en el que deseas que pertenezcan los recuerdos, también puedes especificar las etapas de vida, categorías y puntuaciones a los que deben pertenecer los recuerdos, seleccionando las casillas correspondientes. En caso de que no selecciones ninguna casilla, todos los recuerdos del usuario seleccionado serán incluidos. También puedes decidir si se aceptan recuerdos no aptos o aptos (por defecto solo se aceptan recuerdos aptos). Tras configurar todos los campos que necesites, pulsa sobre el botón “generar video” para generar el video. Ten en cuenta que la generación puede tardar un 149 tiempo, dependiendo del número de recuerdos, al terminar de generarse se mostrará el video generado. Otras funciones y utilidades Todas las tablas de la aplicación (Listado de sesiones, recuerdos, personas rela- cionadas, etc), cuentan con un buscador que permite encontrar elementos concretos de forma sencilla. También tienen la posibilidad de ordenar las filas de las tablas mediante las flechas que se encuentran en la parte derecha de cada columna. Al igual que con los cuidadores, se puede más de un terapeuta a un mismo usuario, para ello debes pulsar sobre el botón verde que muestra a tres personas en la lista de usuarios, (se encuentra bajo el apartado de acciones de la tabla). Tras pulsarlo, se te mostrará una lista con todos los terapeutas disponibles, marca la casilla correspondiente bajo el apartado asignar de aquellos terapeutas que desees vincular al usuario, una vez listo, pulsa sobre “Finalizar” para guardar los cambios, en caso contrario pulsa sobre “Cancelar”. Apéndice F Resultado pruebas de compatibilidad Windows 11/10 Chrome, Edge, Firefox y Opera Tanto Windows 11 como Windows 10 han tenido los mismos errores. Login: Ok Registro: Ok Paciente: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • Asignar terapeuta: Ok Sesión • Crear: ◦ En Firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano. • Ver: Ok • Actualizar: ◦ En Firefox el mismo problema • Índice: Ok Informe de sesión • Crear: ◦ En Firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano. 151 152 Apéndice F. Resultado pruebas de compatibilidad • Ver: Ok • Actualizar: ◦ En Firefox el mismo problema • Índice: Ok • PDF: Ok Diagnóstico • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • PDF: Ok Informe de seguimiento • Crear: Ok • Ver: Ok • Actualizar:Ok • Índice: Ok • PDF: Ok Historia de Vida: Ok • Generar libro historia de vida: Ok • PDF: Ok Libro de historia: Ok • Audio del recuerdo: Ok • Modal tamaño: Ok • PDF: Ok Vídeos: Ok • Crear: Ok • Ver: Ok • Índice: Ok Resúmenes: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok 153 Recuerdos • Crear: ◦ En Firefox no se ve el slider indicando el grado de positividad del recuerdo y por tanto no deja cambiarlo • Ver: ◦ En Firefox no se ve el slider indicando el grado de positividad del recuerdo • Actualizar: ◦ Lo mismo que al crear • Índice: Ok Personas Relacionadas: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Calendario • Ver: Ok • Modal Actividad y Sesión: ◦ En firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano Cuidadores: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Sesión Virtual (Cuidador): Ok • Ver: Ok • ChatBot: Ok ChatBot Ayuda: Ok 154 Apéndice F. Resultado pruebas de compatibilidad Android 13 Chrome en Miui 14 y Miui 13 Todos los campos para seleccionar la fecha ya sea con hora o sin ella antes de introducirla se ven como un cuadrado blanco. Login: Ok Registro: • Miui 13: Al aparecer un error en la contraseña el campo se convierte en cuadrado blanco con el texto del error superpuesto. Paciente: • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco • Asignar terapeuta: Ok Sesión • Crear: Ok • Ver: Ok • Actualizar:Ok • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco Informe de sesión • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco • PDF: Ok Diagnóstico: • Crear: Ok 155 • Ver: Ok • Actualizar: Ok • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco • PDF: Ok Informe de seguimiento • Crear: Ok • Ver: Ok • Actualizar:Ok • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco • PDF: Ok Historia de Vida: Ok • Generar libro historia de vida: Ok • PDF: Ok Libro de historia: Ok • Audio del recuerdo: Ok • Modal tamaño: Ok • PDF: Ok Vídeos: • Crear: Ok • Ver: En todas las pruebas el navegador es excesivamente grande. • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco Resúmenes: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok Recuerdos: Ok • Crear: Ok 156 Apéndice F. Resultado pruebas de compatibilidad • Ver: Ok • Actualizar: Ok • Índice: Ok Personas Relacionadas: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Calendario: Ok • Ver: Ok • Modal Actividad y Sesión: Ok Cuidadores: • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: ◦ En todas las pruebas al ver la tabla esta aparece correcta pero el desplegable no muestra ningún texto y se ve todo blanco Sesión Virtual (Cuidador): Ok • Ver: Ok • ChatBot: Ok ChatBot Ayuda: Ok Ubuntu 20.4 y Debian Chrome, Firefox y Opera En ambos sistemas operativos se han encontrado los mismos errores aun teniendo arquitecturas diferentes. Login: Ok Registro: Ok Paciente: Ok • Crear: Ok • Ver: Ok 157 • Actualizar: Ok • Índice: Ok • Asignar terapeuta: Ok Sesión • Crear: ◦ En Firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano y luego queda mal de manera que sobresale el texto del input. • Ver: Ok • Actualizar: ◦ En Firefox el mismo problema • Índice: Ok Informe de sesión • Crear: ◦ En Firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano y luego queda mal de manera que sobresale el texto del input. • Ver: Ok • Actualizar: ◦ En Firefox el mismo problema • Índice: Ok • PDF: Ok Diagnóstico • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • PDF: Ok Informe de seguimiento • Crear: Ok • Ver: Ok • Actualizar:Ok • Índice: Ok • PDF: Ok 158 Apéndice F. Resultado pruebas de compatibilidad Historia de Vida: Ok • Generar libro historia de vida: Ok • PDF: Ok Libro de historia: Ok • Audio del recuerdo: Ok • Modal tamaño: Ok • PDF: Ok Vídeos: Ok • Crear: Ok • Ver: Ok • Índice: Ok Resúmenes: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok Recuerdos • Crear: ◦ En Firefox no se ve el slider indicando el grado de positividad del recuerdo y por tanto no deja cambiarlo • Ver: ◦ En Firefox no se ve el slider indicando el grado de positividad del recuerdo • Actualizar: ◦ Lo mismo que al crear • Índice: Ok Personas Relacionadas: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Calendario • Ver: Ok 159 • Modal Actividad y Sesión: ◦ En firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano y luego queda mal de manera que sobresale el texto del input. Cuidadores: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Sesión Virtual (Cuidador): Ok • Ver: Ok • ChatBot: Ok ChatBot Ayuda: Ok Fedora Chrome, Firefox y Opera Login: Ok Registro: Ok Paciente: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • Asignar terapeuta: Ok Sesión • Crear: ◦ En Firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano y luego queda mal de manera que sobresale el texto del input. • Ver: Ok • Actualizar: ◦ En Firefox el mismo problema 160 Apéndice F. Resultado pruebas de compatibilidad • Índice: Ok Informe de sesión • Crear: ◦ En Firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano y luego queda mal de manera que sobresale el texto del input. • Ver: Ok • Actualizar: ◦ En Firefox el mismo problema • Índice: Ok • PDF: Ok Diagnóstico • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • PDF: Ok Informe de seguimiento • Crear: Ok • Ver: Ok • Actualizar:Ok • Índice: Ok • PDF: Ok Historia de Vida: Ok • Generar libro historia de vida: Ok • PDF: Ok Libro de historia • Audio del recuerdo: Ok • Modal tamaño ◦ En Opera al cambiar el tamaño de la imagen se ve desplazado fuera del carrusel. • PDF: Ok Vídeos: Ok 161 • Crear: Ok • Ver: Ok • Índice: Ok Resúmenes: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok Recuerdos • Crear: ◦ En Firefox no se ve el slider indicando el grado de positividad del recuerdo y por tanto no deja cambiarlo • Ver: ◦ En Firefox no se ve el slider indicando el grado de positividad del recuerdo • Actualizar: ◦ Lo mismo que al crear • Índice: Ok Personas Relacionadas: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Calendario • Ver: Ok • Modal Actividad y Sesión: ◦ En firefox el campo de la fecha y la hora deja seleccionar la fecha pero no la hora, puedes escribirla a mano y luego queda mal de manera que sobresale el texto del input. Cuidadores: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok 162 Apéndice F. Resultado pruebas de compatibilidad Sesión Virtual (Cuidador): Ok • Ver: Ok • ChatBot: Ok ChatBot Ayuda: Ok Tablet iPad Chrome, Firefox, Opera y Safari Login: Ok Registro: • En todos los navegadores al aparecer un error en el campo contraseña, el campo se reduce a un cuadrado blanco con el texto de error superpuesto. Paciente: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • Asignar terapeuta: Ok Sesión: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Informe de sesión: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok • PDF: Ok Diagnóstico: • Crear: ◦ En todos los navegadores el campo de fecha y hora se visualiza de manera incorrecta si no hay ningún valor seleccionado 163 • Ver: Ok • Actualizar: ◦ Igual que en crear • Índice: Ok • PDF: Ok Informe de seguimiento • Crear: ◦ En todos los navegadores el campo de fecha y hora se visualiza de manera incorrecta si no hay ningún valor seleccionado • Ver: Ok • Actualizar: ◦ Igual que en crear • Índice: Ok • PDF: Ok Historia de Vida: Ok • Generar libro historia de vida: Ok • PDF: Ok Libro de historia • Audio del recuerdo: Ok • Modal tamaño: ◦ En todos los navegadores al cambiar el tamaño de la imagen a muy grande estas sobresalen el carrusel • PDF: Ok Vídeos: Ok • Crear: Ok • Ver: Ok • Índice: Ok Resúmenes: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok Recuerdos: Ok 164 Apéndice F. Resultado pruebas de compatibilidad • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Personas Relacionadas: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Calendario • Ver: Ok • Modal Actividad y Sesión: ◦ En todos los navegadores el campo fecha y hora se ve mal si no hay ninguna fecha seleccionada. Cuidadores: Ok • Crear: Ok • Ver: Ok • Actualizar: Ok • Índice: Ok Sesión Virtual (Cuidador): Ok • Ver: Ok • ChatBot: Ok ChatBot Ayuda: Ok Apéndice G Guión seguido durante la evaluación Te damos la bienvenida a la evaluación de la herramienta Recuérdame 3.0. Que- remos expresar nuestro agradecimiento por tu participación en esta evaluación. Recuérdame es una herramienta que permite a los terapeutas agilizar el proceso de gestión y preparación de terapias de reminiscencia, además de proporcionar una manera dinámica de revisar los recuerdos de la historia de vida de las personas en terapia. Funcionalidades Partiendo de Recuérdame 2.0, hemos desarrollado una versión mejorada, donde hemos realizado cambios basados en la retroalimentación recibidas en las evaluacio- nes de la versión anterior, tales como: modificación de variables, nuevos botones, arreglo de errores encontrados, etc. A su vez hemos añadido nuevas funcionalidades. Esta nueva versión de la herramienta permite: Solicitar ayuda a “Nemo” un chatbot creado específicamente para ofrecer ayuda al usuario, en cuanto a cualquier duda que le surga a cerca de la aplicación y de su funcionamiento. Para poder interactuar con este chatbot el usuario necesita iniciar sesión. Generar un libro de historia de vida en base a los recuerdos del paciente a tratar. Esto permite al terapeuta poder mostrar de una forma más visual todos los recuerdos que desee recordar con el paciente y en caso de tener imágenes asociadas poder visualizarlas. También, puede cambiar el tamaño del texto y de las fotos del libro generado. A la vez que también es posible gracias a la inteligencia Artificial generar un audio del recuerdo y poder reproducirlo para que el paciente no tenga que leerlo. Poder generar un pdf de historia de vida y en caso de tener recuerdos con imágenes asociadas, poder visualizarlas en el pdf. Facilitar la ayuda al terapeuta para generar el resumen de un historia de vida, donde utilizando inteligencia artificial , se genera de manera automática tanto 165 166 Apéndice G. Guión seguido durante la evaluación el titulo como el resumen y dando la posibilidad de que el terapeuta lo pueda modificar si lo desea. La generación de PDF de los informes de seguimiento, de sesión, de diagnóstico, de los resúmenes de la historia de vida y de la historia de vida. Poder acceder al diagnostico del paciente y poder visualizar en una gráfica las escalas predeterminadas y en otra aquellas personalizadas, las cuales son aquellas que el terapeuta decide agregar. Generar un nuevo recuerdo del paciente y en base al titulo y descripción que el terapeuta le de al recuerdo. El terapeuta podrá generar una emoción auto- máticamente a través de Inteligencia Artificial. Por último, en esta versión le damos la posibilidad al cuidador de poder realizar una sesión con el paciente. A través de la sesión virtual, la cual es una sesión programada por el terapeuta, donde este selecciona los recuerdos a tratar en esta sesión y una vez creada la sesión, el cuidador podrá utilizar un chatbot específico para poder hacer las preguntas al paciente para tratar los recuerdos de la sesión. Pasos a seguir para realizar la evaluación Te pediremos realizar una serie de tareas en la aplicación que deberás ir comple- tando por ti mismo/a. Ten en cuenta las siguientes indicaciones: A lo largo de la evaluación, a medida que vas realizando las tareas, te agrade- ceríamos que pensaras en alto, es decir, que explicaras los pensamientos que se te vienen a la mente cuando realices las distintas tareas, que piensas que debes hacer, que es el siguiente paso que quieres dar, etc. En caso de no entender la tarea que tienes que realizar no dudes en pedirnos que te la expliquemos de una manera distinta. No vamos a intervenir durante el tiempo que estas realizando la tarea y no sientas que hay prisa. La clave aquí es comprobar como de complicado es para ti poder interactuar con la aplicación. Si llega a ocurrir que no consigues realizar la prueba no olvides que tienes un chatbot que te puede ayudar a entender como utilizar la aplicación. Al terminar cada tarea te vamos a hacer la siguiente pregunta: “¿Cómo puntuarías el grado de dificultad de la tarea?”. A esta pregunta debes indicarnos con un número entre 1 y 7 donde 1 significa muy fácil y 7 significa muy complicada. Al finalizar las tareas te pediremos que realices un test de usabilidad y uno donde te realizaremos ciertas preguntas para poder conocer tu opinión sobre la aplicación. 167 Tareas a realizar Antes de empezar a evaluar cada una de las tareas, vamos a dar los credenciales al terapeuta, para empezar a realizar todas aquellas tareas en el rol de terapeuta y dejaremos para el final aquella tarea relacionada con el rol de cuidador, dándole los credenciales específicos para este rol. Descripción de Tarea Dificultad (1-7) Iniciada la sesión con el rol de terapeuta procederemos a seleccionar el paciente José Martín Fernández. Una vez dentro, quiero que solicites ayuda a “Nemo”. Por tan- to primero localízalo, y luego pregúntale ¿cómo puedo generar un vídeo de historia de vida?. Ahora que ya sabes cómo generar un vídeo, quiero que generes un vídeo de José Martín con los recuerdos de la etapa de la vida de infancia y adolescencia. Ten en cuenta que en caso de que no selecciones nada, en el video se mostrarán todos los recuerdos del usuario. Una vez abierta una nueva ventana y te indica que el estado del video es procesando, podemos pasar a realizar otra tarea, porque esto suele tomarse su tiempo y cuando se haya terminado volveremos a este listado de vídeos y podremos ver si el estado es completado y en ese caso podremos visualizar el video. Genera un libro de Historia de Vida de José Martín de su infancia y alguna otra etapa que tú desees. Aunque se genere el libro, quiero que no hagas nada de momento, porque te voy a solicitar a realizar más tareas con este libro generado para conocer tu opinión. Una vez conseguido el libro, quiero que interactúes con el carrusel y reproduzcas la lectura en voz alta de uno de los recuerdos del libro. En caso de que te esté costando encontrarlo, recuerda que sigues contando con “Nemo”. Ahora quiero que visualices una de las imágenes y con- sigas que podamos verla más grande. ¿Cuál sería el ca- mino que seguirías para poder ampliar la imagen? Esta es la última tarea que realizaremos con respecto al libro de historia de vida. En esta ventana tú tienes disponible poder modificar el tamaño tanto del texto como de las fotos del libro, quiero que busques la manera de modificar el tamaño. Continúa en la próxima página 168 Apéndice G. Guión seguido durante la evaluación continuación de la página anterior Descripción de Tarea Dificultad (1-7) En la ventana de generación de historia de vida quiero que generes un pdf de José Martín solamente de su in- fancia. ¿Qué opinas de la visualización de la imagen aso- ciada al recuerdo? ¿Crees que está bien ubicada? ¿Qué opinas del tamaño de la imagen? Con respecto a historia de vida, genera un resumen de la historia de vida de José Martín de cualquier etapa de su vida y espera a que se genere. ¿Qué opinas acerca del título del resumen generado? ¿Cómo te parece el resumen generado con inteligencia artificial? ¿Piensas que ha utilizado las palabras adecuadas para el resumen? Dame tu opinión acerca de la extensión del resumen. Modifica el resumen si lo consideras necesario. Si piensas que ya está definido, guárdalo. Visualiza el listado de resúmenes generados y genera el pdf del que tú desees. ¿Qué opinas del pdf y de la ima- gen? Sitúate en la ventana de diagnóstico del paciente y quie- ro que te fijes en su evolución, sobre todo presta atención en la escala personalizada ADAS. ¿Qué opinas de la es- cala? ¿Y sobre la gráfica de las escalas personalizadas? Genera el pdf del diagnóstico del paciente y danos tu opinión al respecto. Continúa en la próxima página 169 continuación de la página anterior Descripción de Tarea Dificultad (1-7) Vas a introducir un nuevo recuerdo y también tienes que generar la emoción automáticamente una vez hayas in- gresado el título y la descripción del recuerdo. Los datos que debes ingresar en el recuerdo son los siguientes: Nombre: El día de la primera fiesta del Carmen Fecha: 16 de julio (7) de 1954 Etapa: Infancia Categoría: Familia Estado: Conservado Apto: sí Descripción: Recuerdo el día de la primera fiesta del Carmen al que asistí. Era un día soleado de julio y el pequeño pueblo de Fene estaba lleno de colores y sonidos. Tenía once años y no podía con- tener la emoción. Mi madre me vistió con mi mejor camisa y pantalones cortos, y mi padre me dio un par de monedas para gastar en lo que quisiera. El aire estaba lleno del aroma de las rosquillas y los churros que se vendían en los puestos, y la música de la banda local llenaba cada rincón. Localización: Fene, Galicia. Terminando de ingresar los datos del recuerdo, debes generar automáticamente la emoción del recuerdo. Si lo deseas puedes agregar imágenes al recuerdo o agregar personas relacionadas que quieras incluir dentro del re- cuerdo. Para finalizar guardamos el recuerdo y podemos ver el listado de recuerdos Ve al listado de vídeos para poder visualizar el vídeo generado anteriormente que ya debe estar completado. Reprodúcelo, mira las imágenes que aparecen en él y escucha la narración. ¿Qué opinas de la interfaz para visualizar el vídeo? ¿Tienes algún comentario al respecto de la narración? ¿Algún comentario extra? Continúa en la próxima página 170 Apéndice G. Guión seguido durante la evaluación continuación de la página anterior Descripción de Tarea Dificultad (1-7) Por último, vamos a planificar una sesión virtual des- de el rol de terapeuta para luego poder realizarla desde el rol de cuidador. En esta ocasión vas a crear una se- sión y indicar que esta sesión será virtual. Seguidamente ingresarás los siguientes datos en la sesión: Título: Sesión Virtual para tratar recuerdos de in- fancia Fecha: 4 días después de la fecha actual a las 20:00 Etapa: Infancia Objetivo: Tratar los recuerdos de la infancia con la ayuda del chatbot de Recuérdame de 3.0 Recuerdos: todos los de la etapa de la infancia, incluido el nuevo creado en la tarea anterior. Al termina de rellenar los datos de la sesión guárdala y pasamos utilizar la aplicación con el rol de cuidador. Primero cierra sesión y en el login vas a ingresar Correo: correo.cuidador@gmail.com Contraseña: cuidador Ahora quiero que busques la sesión creada y empieces a realizar la sesión virtual con el paciente. Si no te queda algo claro como hacerlo, tomate tu tiempo, porque re- cuerda que no te estamos evaluando, en realidad es al revés. Nuestro objetivo es visualizar que tan complejo es el uso de la aplicación. ¿Qué opinas de la interfaz de esta tarea? ¿Cómo fue tu experiencia de dialogo con el chatbot? Test SUS Tras finalizar las tareas se procede a un test de usabilidad igual al realizado en Recuérdame 2 (System Usability Scale) con la escala 1 al 5, se puntúan una serie de afirmaciones (1 disconforme, 3 neutral, 5 totalmente de acuerdo). Las afirmaciones y sus respuestas son las siguientes: 171 Afirmación Respuesta Me gustaría usar esta herramienta frecuentemente. Considero que esta herramienta es innecesariamente compleja. Considero que la herramienta es fácil de usar. Considero necesario el apoyo de personal experto para poder utilizar esta herramienta. Considero que las funciones de la herramienta están bien integradas. Considero que la herramienta presenta muchas contradicciones. Imagino que la mayoría de las personas aprenderían a usar esta herramienta rápidamente. Considero que el uso de esta herramienta es tedioso Me sentí muy confiada al usar la herramienta. Necesité saber bastantes cosas antes de poder empezar a usar esta herramienta. Test de opiniones generales P1. ¿Qué te ha parecido la aplicación? P2. ¿Consideras que ha mejorado respecto a la versión anterior? P3. ¿Qué es lo que más te ha gustado de la aplicación? P4. ¿Y lo que menos? P5. ¿Has echado algo de menos en la aplicación? P6. ¿Y hay algo que te sobre? P7. ¿Tienes algo más que añadir? Apéndice H Resultado de la evaluación Listado de tareas realizadas Antes de empezar a evaluar cada una de las tareas, vamos a dar los credenciales al terapeuta, para empezar a realizar todas aquellas tareas en el rol de terapeuta y dejaremos para el final aquella tarea relacionada con el rol de cuidador, dándole los credenciales específicos para este rol. No. Descripción de Tarea Puntuación y Anota- ción 1 Iniciada la sesión con el rol de terapeuta pro- cederemos a seleccionar el paciente José Martín Fernández. Una vez dentro, quiero que solicites ayuda a “Nemo”. Por tanto primero localízalo, y luego pregúntale ¿cómo puedo generar un vídeo de historia de vida?. Puntuación: 1 No le cuesta localizar al chatbot y realizar la pre- gunta correspondiente. Consigue ubicarse en la ventana de historia de vida con ayuda de chatbot El aviso de un chatbot de ayuda le ha facilitado bastante el trabajo y no le ha dado ninguna dificultad. Sugiere modificar el icono de minimizar del chatbot, porque la “X”, no le da a entender que es minimizar. Continúa en la próxima página 173 174 Apéndice H. Resultado de la evaluación continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 2 Ahora que ya sabes cómo generar un vídeo, quiero que generes un vídeo de José Martín con los recuerdos de la etapa de la vida de infancia. Ten en cuenta que en caso de que no selecciones nada, en el video se mostrarán todos los recuer- dos del usuario. Una vez abierta una nueva ven- tana y te indica que el estado del video es pro- cesando, podemos pasar a realizar otra tarea, porque esto suele tomarse su tiempo y cuando se haya terminado volveremos a este listado de vídeos y podremos ver si el estado es completa- do y en ese caso podremos visualizar el video. Puntuación:1 Comenta que facilita te- ner que filtrar por etapas, categorías, puntuación o apto y no apto en lugar de por fecha. Opina que facilita No le supuso ninguna di- ficultad. Sobre la fecha piensa que no es tan necesaria tener- la, pero al no ser obli- gatoria, no recomienda eliminarla porque podría ser útil cuando quiere ge- nerar el vídeo para una fecha concreta. 3 Genera un libro de Historia de Vida de José Martín de su infancia y alguna otra etapa que tú desees. Aunque se genere el libro, quiero que no hagas nada de momento, porque te voy a solicitar a realizar más tareas con este libro ge- nerado para conocer tu opinión. Puntuación: 1 No le supone dificultad, entender que debe situar- se en la ventana de “Ge- nerar Historia de Vida”. Genera libro de las eta- pas de infancia y adoles- cencia Siente confusión al enten- der diferenciar entre re- cuerdos aptos y no aptos. Le explicamos que esta terminología fue estable- cida en base a evalua- ciones anteriores realiza- das en versiones anterio- res. Sugiere modificar es- ta terminología por “Ap- to para terapia” y “No Apto para terapia” Continúa en la próxima página 175 continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 4 Una vez conseguido el libro, quiero que interac- túes con el carrusel y reproduzcas la lectura en voz alta de uno de los recuerdos del libro. En ca- so de que te esté costando encontrarlo, recuerda que sigues contando con “Nemo”. Puntuación:1 No le supone ningún pro- blema poder encontrar el botón y reproducir el au- dio. Tanto la voz masculina como femenina y la velo- cidad de reproducción le parece correcto. 5 Ahora quiero que visualices una de las imáge- nes y consigas que podamos verla más grande. ¿Cuál sería el camino que seguirías para poder ampliar la imagen? Puntuación:1 Se le hace sencillo poder realizar la tarea. Le pare- ce bastante intuitiva 6 Esta es la última tarea que realizaremos con respecto al libro de historia de vida. En esta ventana tú tienes disponible poder modificar el tamaño tanto del texto como de las fotos del li- bro, quiero que busques la manera de modificar el tamaño. Puntuación: 2 Tiene dificultad al mo- mento de localizar el bo- tón ya que considera que esta muy arriba al mo- mento de el navegar más hacia abajo al leer el re- cuerdo. Realiza pruebas y le pa- rece bastante significati- va el cambio de tamaño de la letra. En cuanto a la imagen, sugiere que el tamaño “Normal” debe- ríamos modificarlo para que sea más grande, por ejemplo del tamaño de lo que consideramos “Gran- de” y poder darle más valor a la imagen. Cam- bio que a su vez significa cambiar el tamaño de las otras dos opciones tam- bién. Continúa en la próxima página 176 Apéndice H. Resultado de la evaluación continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 7 En la ventana de generación de historia de vi- da quiero que generes un pdf de José Martín solamente de su infancia. ¿Qué opinas de la vi- sualización de la imagen asociada al recuerdo? ¿Crees que está bien ubicada? ¿Qué opinas del tamaño de la imagen? Puntuación: 2 No le genera dificultad crear el PDF una vez ya creado el libro. Nos recomienda darle más valor a la imagen haciendo que esta sea más grande y centrada. En caso de tener más imágenes asociadas a un recuerdo, recomien- da mostrarlas de una manera más amplia y teniendo a lo mejor dos imágenes por fila. No encuentra diferencia entre generar libro y generar pdf, ya que considera que ambos son libros de historia de vida. En este caso sugiere mo- dificar el nombre de los botones, por “Generar libro online” y “Generar libro PDF”. 8 Con respecto a historia de vida, genera un resu- men de la historia de vida de José Martín de la etapa “Adulto Joven ” y la categoría “Familia” y espera a que se genere. Dame tu opinión acerca de la extensión del resumen. Modifica el resu- men si lo consideras necesario. Si piensas que ya está definido, guárdalo. Puntuación: 1 Sugiere modificar el concepto “Resumen” por “Resumen Historia de Vida”. Encuentra muy útil que se genere el resumen solo y lo haya generado la inteligencia artificial utilizando un lengua- je y tono bastantes adecuados, ya que fa- cilita el trabajo de los terapeutas. Continúa en la próxima página 177 continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 9 Visualiza el listado de resúmenes generados y genera el pdf del que tú desees. Puntuación:1 Ninguna dificultad en en- contrar el botón y gene- rarlo. 10 Sitúate en la ventana de diagnóstico del pacien- te y quiero que te fijes en su evolución, sobre todo presta atención en la escala personalizada ADAS. ¿Qué opinas de la escala? ¿Y sobre la gráfica de las escalas personalizadas? Puntuación: 1 Sin problema al encon- trar la ventana Le parece bien desarro- llado la opción de es- cala personalizada y al respecto de las gráficas le parecen bastante útiles que se pueda visualizar la evolución de cada escala 11 Genera el pdf del diagnóstico del paciente y da- nos tu opinión al respecto. Puntuación: 1 No considera necesario el campo que hace referen- cia al nombre del tera- peuta. Sugiere modificar el cam- po de la fecha de infor- me, cambiándolo por fe- cha de diagnostico, debi- do a que esto generaría menos confusión. Propone agregar la gráfi- ca de la escala personali- zada en el pdf Continúa en la próxima página 178 Apéndice H. Resultado de la evaluación continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 12 Vas a introducir un nuevo recuerdo y también tienes que generar la emoción automáticamente una vez hayas ingresado el título y la descrip- ción del recuerdo. Los datos que debes ingresar en el recuerdo son los siguientes: Nombre: El día de la primera fiesta del Carmen Fecha: 16 de julio (7) de 1954 Etapa: Infancia Categoría: Familia Estado: Conservado Apto: sí Descripción: Recuerdo el día de la primera fiesta del Carmen al que asistí. Era un día soleado de julio y el pequeño pueblo de Fe- ne estaba lleno de colores y sonidos. Tenía once años y no podía contener la emoción. Mi madre me vistió con mi mejor camisa y pantalones cortos, y mi padre me dio un par de monedas para gastar en lo que qui- siera. El aire estaba lleno del aroma de las rosquillas y los churros que se vendían en los puestos, y la música de la banda local llenaba cada rincón. Localización: Fene, Galicia. Terminando de ingresar los datos del recuerdo, debes generar automáticamente la emoción del recuerdo. Si lo deseas puedes agregar imágenes al recuerdo o agregar personas relacionadas que quieras incluir dentro del recuerdo. Para fina- lizar guardamos el recuerdo y podemos ver el listado de recuerdos. Puntuación: 2 Le genera confusión el nombre del botón “Gene- rar automáticamente” al darle a entender que va a generar el recuerdo, aun- que con la tooltip le que- da claro el funcionamien- to del botón. Sugiere mo- dificar el nombre del bo- tón por “Generar auto- máticamente emoción y grado de positivad” No consigue visualizar el grado de positividad de- bido a problemas con el navegador de Mozilla. Crea a la madre como persona relacionada. Continúa en la próxima página 179 continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 13 Ve al listado de vídeos para poder visualizar el vídeo generado anteriormente que ya debe es- tar completado. Reprodúcelo, mira las imáge- nes que aparecen en él y escucha la narración. ¿Qué opinas de la interfaz para visualizar el ví- deo? ¿Tienes algún comentario al respecto de la narración? ¿Algún comentario extra? Puntuación:2 Selecciona el vídeo gene- rado. En la nueva venta- na tiene un problema al momento de intentar vi- sualizar el vídeo en pan- talla completa. Lo locali- zamos como un problema del navegador específico, que en este caso es “Mo- zilla”. Nos sugiere agregar más imágenes que se vallan asociando con lo que se va narrando en el vídeo. Sugiero agregar subtítu- los para poder conseguir que en caso de no haber imágenes, poder mante- ner enfocado al paciente durante el vídeo. Continúa en la próxima página 180 Apéndice H. Resultado de la evaluación continuación de la página anterior No. Descripción de Tarea Puntuación y Anota- ción 14 Por último, vamos a planificar una sesión vir- tual desde el rol de terapeuta para luego poder realizarla desde el rol de cuidador. En esta oca- sión vas a crear una sesión y indicar que esta sesión será virtual. Seguidamente ingresarás los siguientes datos en la sesión: Título: Sesión Virtual para tratar recuer- dos de infancia Fecha: 4 días después de la fecha actual a las 20:00 Etapa: Infancia Objetivo: Tratar los recuerdos de la infan- cia con la ayuda del chatbot de Recuérda- me de 3.0 Recuerdos: todos los de la etapa de la in- fancia, incluido el nuevo creado en la tarea anterior. Al termina de rellenar los datos de la sesión guárdala y pasamos utilizar la aplicación con el rol de cuidador. Primero cierra sesión y en el login vas a ingresar Correo: correo.cuidador@gmail.com Contraseña: cuidador Ahora quiero que busques la sesión creada y em- pieces a realizar la sesión virtual con el paciente. Si no te queda algo claro como hacerlo, tomate tu tiempo, porque recuerda que no te estamos evaluando, en realidad es al revés. Nuestro ob- jetivo es visualizar que tan complejo es el uso de la aplicación. Puntuación al crear la sesión: 3 Puntuación al crear la sesión / al probar la sesión: 3 y 4 El término “sesión vir- tual” genera confusión, incluso con la tooltip. Se sugirió una definición más específica y eliminar “chatbot” por ser muy técnico. El campo “secuencia de acciones” es útil para guiar al cuidador en la sesión virtual. La hora de la sesión virtual no la especificó al crearla, causando proble- mas de visualización en el calendario. Las sesiones virtuales no deben generar informes. Al estar en el rol de cuidador, no pudo ver la sesión creada en el calendario y usó otra sesión existente. No entendió el término “portapapeles” y tuvo problemas para copiar recuerdos al chatbot. Sugiere una explicación más clara y detallada en la información propor- cionada por el chatbot. No pudo iniciar una nueva conversación con el chatbot. 181 Resultados del Test SUS Afirmación Respuesta Me gustaría usar esta herramienta frecuentemente. 5 Considero que esta herramienta es innecesariamente compleja. 2 Considero que la herramienta es fácil de usar. 4 Considero necesario el apoyo de personal experto para poder utilizar esta herramienta. 2 Considero que las funciones de la herramienta están bien integradas. 5 Considero que la herramienta presenta muchas contradicciones. 1 Imagino que la mayoría de las personas aprenderían a usar esta herramienta rápidamente. 4 Considero que el uso de esta herramienta es tedioso 2 Me sentí muy confiada al usar la herramienta. 4 Necesité saber bastantes cosas antes de poder empezar a usar esta herramienta. 1 Resultados del Test de opiniones generales P1. ¿Qué te ha parecido la aplicación? R1. Considero que es una mejora importante y significativa con respecto a versiones anteriores. Y las mejoras introducidas se ajustan a las necesidades reales del terapeuta en su trabajo. P2. ¿Consideras que ha mejorado respecto a la versión anterior? R2. Si, una mejora muy significativa tanto a nivel visual como en la amplitud de las funcionalidades, considerando el chatbot del cuidador como la mejora más llamativa e importante. P3. ¿Qué es lo que más te ha gustado de la aplicación? R3. El nivel visual y la estética de la aplicación son muy agradables, y la forma de presentación de la información en su mayoría bastante intuitiva. Lo mejor sin duda el chatbot para los cuidadores para que así la herramienta no sea útil únicamente para los terapeutas. P4. ¿Y lo que menos? R4. En general, le han gustado todas las funcionalidades, ya que corresponden con funciones útiles para el paciente y los terapeutas/cuidadores. P5. ¿Has echado algo de menos en la aplicación? R5. En general se cubren todas las necesidades de los terapeutas y cuidadores. Pero se podría incorporar música/recuerdos musicales (cantantes, canciones, grupos. . . ) teniendo la posibilidad de poder enlazar Youtube con la herramien- ta, de estos grupos/artistas. Poder conseguir imágenes de épocas pasadas desde la herramienta para poder facilitar el tratamiento con el paciente durante las sesiones, buscando la manera de poder automatizar esta tarea. 182 Apéndice H. Resultado de la evaluación P6. ¿Y hay algo que te sobre? R6. No, las funcionalidades que ofrece son útiles y no hay ninguna que sobre ya que cubre todo el proceso que sigue el terapeuta. P7. ¿Tienes algo más que añadir? R7. Nada que añadir. Nada más que dar felicitaciones por el trabajo realizado. Lewis y Sauro (2009) Brooke (1996) Página de Título Índices Tabla de Contenidos Índice de figuras Índice de tablas Introducción Motivación Objetivos Introduction Motivation Objectives Estado de la Cuestión Enfermedad de Alzheimer Terapias basadas en reminiscencia Historias de Vida Aplicaciones relacionadas Recuérdame 1.0 Recuérdame 2.0 Metodología de gestión del proyecto: Kanban Tablero Kanban Políticas Explícitas Reuniones de Retrospectiva Retrospectiva del 1 de Octubre de 2023 Retrospectiva del 29 de Octubre de 2023 Retrospectiva del 3 de Diciembre de 2023 Retrospectiva del 26 de Diciembre de 2023 Retrospectiva del 29 de Enero de 2024 Retrospectiva del 25 de Febrero de 2024 Retrospectiva del 17 de Marzo de 2024 Retrospectiva del 7 de Abril de 2024 Retrospectiva del 21 de Abril de 2024 Reunión final del 20 de Mayo de 2024 Inteligencias Artificiales Generativas Generación automática de subtítulos Narración de Historias de Vida ChatBot Detección de emociones Resúmenes generados por IA Recuérdame 3.0 Rediseño de la interfaz de usuario Cambio de logo Cambios visuales Mejoras en las funcionalidades de Recuérdame 2.0 Cambios en el lenguaje y atributos Cambios en el Libro de Historia de Vida Cambios en la generación de pdf de Historia de Vida Cambios en los vídeos de Historia de Vida Cambios en los Resúmenes de Historia de Vida Cambios en los Informes Cambios en los Diagnósticos Cambios en las Sesiones Cambios en las tablas Cambios en Información de Usuario Cambios en los recuerdos Cambios en el calendario Almacenamiento de contenido multimedia Nuevas funcionalidades Narración de Historias de Vida TherapEase: ChatBot para terapia online Nemo: ChatBot guía para Recuérdame 3.0 Detección de emociones Incorporación de datos reales a la aplicación Evaluación de calidad del Software Pruebas de sistema Pruebas de compatibilidad Casos de prueba Errores encontrados Pruebas de aceptación Diseño de la evaluación Desarrollo de la evaluación Conclusiones de la evaluación Conclusiones y Trabajo Futuro Conclusiones Análisis Objetivos Análisis de las herramientas Análisis de la metodología Trabajo futuro Conclusions and Future Work Conclusions Objective Analysis Analysis of Tools Methodology Analysis Future Work Contribuciones Personales Bryan Eduardo Córdova Ascurra Rubén Martín Castro Steven Alexis Pérez Salinas Samuel Rodríguez Gómez Bibliografía Resultado dinámica 1 de Octubre de 2023 Resultado dinámica 29 de Enero de 2024 Como desplegar el proyecto Herramientas Instalación Información de entrenamiento para TherapEase Información de entrenamiento para Nemo Resultado pruebas de compatibilidad Guión seguido durante la evaluación Resultado de la evaluación