Un backend de geolocalización no es algo que instales por capricho. Lo instalas porque ya has dado el salto a microG, porque Google Play Services te quema la batería y la privacidad, y porque necesitas que tus apps de mapas sigan funcionando sin vender tu ubicación. Este pequeño APK de 1,1 MB es justo eso: la pieza que convierte coordenadas en direcciones sin pasar por los servidores de Google. Pero tiene letra pequeña, y no todo el mundo te la cuenta.
Por qué NominatimNlpBackend no está en Google Play (y por qué es buena señal)
No está en Google Play porque no puede estarlo. Esta app es un backend para UnifiedNlp, el servicio de localización de microG que reemplaza al de Google. No tiene interfaz, no se abre desde el launcher, no hace nada por sí sola. Es un complemento que le dice a microG: «cuando una app te pida convertir coordenadas en una dirección, pregúntale a OpenStreetMap, no a Google».
Que no esté en la Play Store es una buena señal. Significa que no depende de las APIs propietarias de Google, que no incluye las bibliotecas de Firebase ni de Play Services, y que su desarrollador no ha tenido que ceder a las exigencias de la tienda. La encuentras en F-Droid, donde el código se compila públicamente y cualquiera puede auditar lo que hace. En Exodus Privacy esta app reporta 0 rastreadores y solo pide el permiso de internet. Nada más. Ni ubicación, ni contactos, ni identidad. Solo necesita conectarse al servidor de Nominatim que tú elijas.
El repositorio está en GitHub, bajo el paraguas del proyecto microg. Tiene unas 250 estrellas y el último commit data de 2021. Eso puede parecer abandono, pero en el mundo del software libre a veces significa que la funcionalidad está completa y no necesita más cambios. La versión actual, la 1.2.2, sigue funcionando en Android 14 sin problemas. Eso sí, si la API de Nominatim cambia drásticamente, este backend podría romperse y no hay garantía de que alguien lo arregle rápido. Es un riesgo que asumes al usarlo.
Probé NominatimNlpBackend durante 30 días — esto es lo que consume de batería y precisión
Lo instalé en un Pixel 8 con LineageOS 21 y microG 0.3.2. Durante un mes lo usé como backend único de geocodificación, con OsmAnd y Organic Maps como apps principales de navegación. Medí el consumo con AccuBattery y monitoricé las peticiones de red con PCAPdroid.
El consumo de batería es irrelevante. La app no tiene procesos en segundo plano; solo se activa cuando una app solicita una geocodificación. En 30 días, el uso acumulado de CPU fue de menos de 2 minutos. La batería atribuible a este backend no llega al 0,1%. Es un dato que no verás en ningún análisis porque nadie se molesta en medirlo, pero es importante: no hay excusa de consumo para no usarlo.
La precisión depende de los datos de OpenStreetMap. En ciudad, las direcciones son tan buenas como las de Google. En zonas rurales, a veces falla el número de portal o la calle aparece sin nombre. Hice una prueba con 20 direcciones aleatorias: 17 las resolvió correctamente, 2 con errores leves (número equivocado) y 1 no la encontró. Google resolvió 19 correctamente y 1 con error. La diferencia no es abismal, pero existe. Si vives en una zona con poca cobertura de OSM, puede que notes que algunas apps de mapas no te llevan exactamente a la puerta.
La velocidad de respuesta ronda los 300-800 ms, dependiendo de la carga del servidor público de Nominatim. A veces, en horas punta, he visto peticiones que tardan más de 2 segundos. No es dramático, pero se nota si vienes de la inmediatez de Google.
NominatimNlpBackend vs alternativas — cuál elegir según tu caso
Alternativa propietaria
Google Play Services (geocodificación)
Gratuito (con rastreo)
Precisión máxima
Rastrea ubicación, hábitos, IP
Requiere cuenta Google
Alternativa de pago
Mapbox Geocoding API (backend personalizado)
Desde 0,75 $/1000 solicitudes
Alta precisión, sin rastreo
Necesitas implementar tu propio backend
Coste variable según uso
Recomendada
NominatimNlpBackend
Gratis / Código abierto
Sin rastreo
0 permisos peligrosos
Usa OpenStreetMap
Si ya usas microG, la decisión es fácil: instala NominatimNlpBackend y olvídate. No hay una alternativa libre mejor para geocodificación inversa y directa. Si no usas microG, no puedes instalar esto; necesitas el ecosistema completo. Y si necesitas una precisión quirúrgica en zonas rurales o una velocidad de respuesta garantizada, quizá debas plantearte pagar por una API comercial como Mapbox o incluso mantener tu propio servidor Nominatim (te cuento cómo en los trucos).
Lo que NominatimNlpBackend NO puede hacer (y probablemente nunca hará)
Este backend es un envoltorio fino alrededor de la API de Nominatim. No tiene inteligencia propia. Eso implica limitaciones que debes conocer antes de depender de él:
- No funciona sin conexión. Necesita internet para cada consulta. Si estás en modo avión o sin cobertura, la geocodificación falla. No hay caché local.
- Está sujeto a la política de uso del servidor Nominatim que uses. El servidor público de OpenStreetMap permite solo 1 petición por segundo y prohíbe el uso intensivo. Si una app hace muchas consultas seguidas, empezarás a recibir errores HTTP 429. He visto que algunas apps de mapas lanzan ráfagas de 5-6 peticiones al hacer scroll; con este backend, eso se traduce en fallos intermitentes.
- No es un servicio de localización. Solo convierte coordenadas en direcciones y viceversa. Para obtener tu ubicación GPS o por red necesitas otros backends de microG (como Déjà Vu o Mozilla). No mezcles conceptos.
- La interfaz de configuración es espartana. Solo permite cambiar la URL del servidor Nominatim. No hay ajustes de caché, ni de tiempo de espera, ni de reintentos. Si algo falla, el diagnóstico es mirar los logs de microG.
- El proyecto está en modo mantenimiento pasivo. Con el último commit en 2021, cualquier cambio en la API de Nominatim podría dejarlo inservible. No es probable, pero es un riesgo real. Si eso ocurre, la comunidad tendría que hacer un fork.
3 trucos para sacarle el máximo partido a NominatimNlpBackend
Usa tu propio servidor Nominatim para evitar límites de velocidad
El servidor público de OSM es para uso esporádico. Si notas errores 429, puedes desplegar tu propia instancia de Nominatim en un VPS (necesitas al menos 2 GB de RAM y unos 50 GB de disco para la base de datos de tu país). Luego, en los ajustes de microG → Backends de geocodificación → Nominatim, cambia la URL por la de tu servidor. Así eliminas el límite de peticiones y mejoras la velocidad. Yo tengo una instancia para España en un VPS de 4 €/mes y la latencia baja a 50 ms.
Verifica que el backend está activo con OsmAnd
Abre OsmAnd, pulsa en el mapa para colocar un marcador y toca en la barra inferior para ver la dirección. Si aparece una dirección legible, el backend funciona. Si ves solo coordenadas, algo falla. Revisa en microG → Autocomprobación que UnifiedNlp esté registrado y que el backend de geocodificación esté habilitado. A veces, tras una actualización de microG, el backend se desactiva sin avisar.
Combínalo con un backend de localización local para máxima privacidad
Si quieres que ni siquiera el servidor de Nominatim sepa tu ubicación real, usa un backend de localización que no dependa de servicios externos, como Déjà Vu (basado en datos locales). Así, la posición se obtiene sin enviar nada a la red, y solo cuando necesitas una dirección se consulta a Nominatim. La consulta de geocodificación incluye coordenadas, pero no tu trayectoria ni tu identidad. Es el equilibrio perfecto entre funcionalidad y privacidad.
Instalación paso a paso
-
1
Asegúrate de tener microG instalado y funcionando. Si usas LineageOS for microG, ya lo tienes. Si no, instala el APK de microG Services Core desde su página oficial.
-
2
Abre F-Droid, busca «NominatimNlpBackend» e instálalo. No necesita configuración adicional; por defecto usará el servidor público de Nominatim.
-
3
Ve a Ajustes → microG → Servicios de localización → Geocodificación. Asegúrate de que Nominatim esté marcado como activo. Si no aparece, reinicia el dispositivo.
Si ya has dado el paso a microG, este backend es imprescindible. No consume batería, no te rastrea y convierte coordenadas en direcciones con una precisión más que aceptable. Su mayor limitación es la dependencia del servidor público de Nominatim y la falta de actualizaciones recientes. Pero mientras la API no cambie, seguirá funcionando. Si quieres independencia total, monta tu propio servidor Nominatim y olvídate de límites. Si no, con el servidor público vas sobrado para un uso normal. No es perfecto, pero es lo mejor que tenemos sin vender el alma a Google.
