spinner

¿Qué hay detrás de KeepUsSafe, la app para evitar lugares concurridos?

KeepUsSafe es la app que han desarrollado, de manera solidaria, empleados de BBVA Next Technologies y colaboradores voluntarios de España y México. La app, ya disponible en la Play Store de España y México, muestra a los usuarios la cantidad de personas que hay en un determinado espacio o lugar. Pero, ¿qué tecnologías se han usado en su desarrollo? ¿De qué modo identifica la afluencia de personas?

A raíz de los últimos acontecimientos relacionados con la pandemia global, la historia se dividirá en la era PreCOVID y la PostCOVID. Cientos de cosas han cambiado en los últimos meses y una de ellas, de la cual no somos capaces ni de observar en televisión sin cierto rechazo, son las aglomeraciones o afluencia de gente en lugares por donde tenemos que pasar.

Con ese contexto en el que las recomendaciones de mantener la distancia de seguridad y el uso de mascarillas, están a la orden del día, se ha creado KeepUsSafe, la app que avisará a sus usuarios del número de personas que hay en un determinado lugar para que puedan decidir, manejando esa información, si acudir o no.

KeepUsSafe surgió como uno de los proyectos del programa solidario Tech4Change, que BBVA Next Technologies lanzó en el mes de abril para buscar soluciones tecnológicas que ayudaran a combatir los problemas generados de la crisis del COVID. El uso de la app es muy sencillo: especificas el lugar que quieres visitar y la aplicación activa un servicio en background que genera una geovalla alrededor del espacio a visitar. Cuando el sistema detecta que nos encontramos dentro del radio de la geovalla, contabiliza mediante tecnología bluetooth a los dispositivos que se encuentran dentro de esa valla virtual generada. Pero, ¿cómo se ha trabajado para conseguir esta app en España y México? y, lo más importante, ¿qué tecnologías se han usado para hacer el conteo y previsión de las personas que habrá en un determinado lugar?

Tres líneas de trabajo y un objetivo común

“Comenzamos a trabajar un pequeño grupo de empleados de BBVA Next Technologies en la visión y alcance del producto, así como las líneas de investigación que íbamos a realizar para lograr el objetivo: proponer una app que permita mostrar el aforo de negocios esenciales en periodo de pandemia”, explica Javier Moreno, Product Owner de la app.

Para conseguirlo, se plantearon tres líneas de trabajo:

  1. Diseño de la app, donde personas de Research, UX y otros perfiles pudieran colaborar en la creación del diseño tanto para la web, como para la app.
  2. Recuperar número de dispositivos a través de la geolocalización, contabilizando dispositivos cuando entran o salen de una geovalla.
  3. Recuperar número de dispositivos a través del sistema bluetooth, de forma que contabiliza intentos de emparejamiento cuando estamos dentro de la geovalla, y así contabilizar los existentes.

Una vez se definieron estas líneas de trabajo, se lanzó una convocatoria para los voluntarios, que podían unirse a la línea de trabajo en la que más pudieran aportar. Finalmente, tras varios días de trabajo, se encontraron sinergias en las líneas 2 y 3, y se reagruparon para seguir con la línea actual de utilizar tanto la geolocalización (para determinar la posición del usuario de la app, que nos permita conocer si está en una geovalla dada) y el bluetooth (para contabilizar dispositivos).

En cuanto al marco de trabajo se utilizó Scrum, generando reuniones de planning, dailys y reviews, con el principal hándicap de la diferencia horaria entre España y México. Respecto a la parte de diseño, se realizaron varias jornadas de ideación de producto para determinar la visión, el propósito, el nombre de la app o el logo, entre muchas otras.

Retos tecnológicos

Durante la ideación y el desarrollo de la app, el equipo se enfrentó a varios retos tecnológicos, por ejemplo, determinar en qué momento se activaba el algoritmo de conteo de dispositivos, que se realizaba a través de Bluetooth LE (Low Energy). Analizando los posibles escenarios, se determinó que se activaría cuando el usuario entrara a un comercio y se desactivaría al salir del mismo, apoyados en la misma geovalla.

“Para la generación de esta geovalla y el radio de ocupación, el reto fue afinar el área de acción del conteo. Para la optimización de los datos geométricos, logramos una mayor precisión con la api Nominatim”, explica Laura Pérez, Scrum Master en BBVA Next Technologies y responsable del proyecto. La calidad de información geométrica es muy precisa, y así se podía consultar la información tanto desde la API de Nominatim como de la propia de Google.

Lalo Mejía, desarrollador Fullstack y colaborador voluntario, explica otro de los retos a los que se enfrentó el equipo: “descubrir que había ciertas características que no se podían implementar como se concibieron desde el principio. Una de ellas fue el recuperar el mapa de calor con las llamadas obvias al API de Google. Después de unos días de investigación el equipo de Python encontró una forma de obtener información del mapa de calor y así pudimos reconducir esta parte”.

Desde el principio se decidió hacer una aproximación orientada a microservicios, y hubo dos equipos desarrollando servicios simultáneamente. Cada uno decidió qué tecnología usaría para sus microservicios “y fue así como se terminaron usando Python y Java como lenguajes de programación y Postgres y MongoDB, como manejadores de bases de datos”, comenta Mejía.

Enhorabuena al equipo de voluntarios por lograr sacar adelante esta iniciativa a pesar de los retos y problemas a los que han tenido que enfrentarse, y por facilitar a los usuarios espacios seguros donde poder realizar sus actividades del día a día.

Descarga aquí KeepUsSafe

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

¿Quieres saber que más cosas hacemos en BBVA Next Technologies?