Cómo el legendario Google Sky Map sobrevivió gracias al puro entusiasmo
¿Recuerdas las presentaciones de los primeros teléfonos Android alrededor de 2008-2009? En aquel entonces, Google presumía con orgullo de sus sensores de movimiento integrados y una brújula. La estrella del show en Searchology 2009 fue la aplicación Google Sky Map. Levantabas un pesado HTC Dream hacia el cielo nocturno, lo girabas, y constelaciones y planetas aparecían en la pequeña pantalla en tiempo real. Se sentía como si el futuro ya hubiera llegado.
Luego las prioridades corporativas cambiaron. En 2011, Google discontinuó el soporte activo, pero los desarrolladores no dejaron morir el proyecto. Rogaron por permiso para hacer el código open source, se separaron de la marca Google, y mantuvieron el proyecto sobre sus propios hombros. El repositorio stardroid en GitHub todavía vive bajo el nombre Sky Map, y detrás de él hay una historia increíble de perseverancia en ingeniería.
Por qué el repositorio se llama stardroid
Dentro de Google, el proyecto tenía el nombre clave Stardroid. Los abogados de la empresa temían demandas de derechos de autor de Star Wars, así que para el lanzamiento eligieron el nombre aburrido y directo Sky Map. Dentro del código, el nombre stardroid permaneció como el identificador principal del paquete.
Después de separarse, el proyecto adoptó la licencia GPLv3 (aunque algo del código heredado conservó Apache 2.0). Los desarrolladores tomaron una decisión deliberada de mantener la aplicación completamente gratuita: sin rastreadores, compras dentro de la app ni publicidad. Esto destaca como una herramienta de astronomía open source genuinamente honesta para plataformas móviles.
Así es como se veía el prototipo de la aplicación en sus primeros días:

Qué puede hacer la aplicación hoy
Sky Map convierte tu teléfono en un visor interactivo para la observación del espacio. El concepto central permanece sin cambios, pero los autores han pulido las matemáticas y los algoritmos a lo largo de los años.
- Posicionamiento basado en sensores. La aplicación recopila datos sin procesar del acelerómetro, giroscopio y brújula magnética para calcular el vector de mirada del usuario sobre la esfera celeste.
- Catálogo de objetos celestes. La base de datos incluye coordenadas de estrellas brillantes, planetas del Sistema Solar, constelaciones y objetos Messier.
- Búsqueda con puntero. Si quieres encontrar Marte o la galaxia de Andrómeda, escribes el nombre en la búsqueda y la aplicación muestra flechas en pantalla apuntando exactamente hacia dónde girar tus manos.
- Modo viaje en el tiempo. Puedes ver cómo se veía el cielo en tu cumpleaños o dónde estará Júpiter en seis meses.
Qué hay de interesante bajo el capó para los desarrolladores
Si abres el proyecto ahora, verás una mezcla de código Kotlin y Java heredado. El repositorio tiene muchas cosas interesantes para cualquiera interesado en desarrollo móvil y matemáticas aplicadas.
Trabajando con sensores sin adornos
El punto doloroso principal para cualquier aplicación de astronomía en smartphones es la calibración de la brújula y los sensores ruidosos. El campo magnético de la Tierra se distorsiona por fundas, cables y objetos metálicos en los bolsillos. El código base de Sky Map implementa filtrado de lectura de sensores para que la imagen no tiemble con el más mínimo temblor de mano, pero aun así responda instantáneamente a las rotaciones del dispositivo.
El repositorio incluso tiene documentos separados help.md y troubleshooting.md donde los autores explican en detalle por qué la calibración de brújula integrada en Android a menudo no funciona en absoluto como los programadores esperan.
Renderizado y trigonometría
Todo el dibujo está ligado a coordenadas esféricas, ascensión recta y declinación. La aplicación proyecta la esfera celeste 3D sobre la pantalla plana del smartphone teniendo en cuenta la latitud, longitud y hora GPS actuales. Esta es una gran referencia para cualquiera que quiera entender cómo escribir renderizado personalizado sin motores de juegos pesados como Unity.
En el umbral de la versión dos
En este momento los autores han cerrado los pull requests a la rama principal. La arquitectura de la versión uno, establecida en la era de Android 1.6 Donut, finalmente se ha vuelto obsoleta. Un equipo de ex-Googlers de Pittsburgh está en este momento reescribiendo completamente la aplicación desde cero como parte de la versión V2, migrándola a un stack moderno.
Al mismo tiempo, los desarrolladores están protegiendo ferozmente el proyecto de clones sin escrúpulos. Los gráficos, logotipos y activos visuales están protegidos por derechos de autor de Penterakt LLC. Esto se hizo específicamente para que distribuidores oportunistas no pudieran simplemente reconstruir el proyecto, llenarlo de banners y subirlo a Google Play bajo el nombre de otra persona.
Quién debería estudiar el proyecto
Profundizar en el código de Sky Map vale la pena en dos casos.
Primero, si estás construyendo una aplicación móvil con realidad aumentada, brújula o giroscopio y quieres ver cómo los profesionales suavizan las lecturas de sensores en condiciones reales de combate.
Segundo, si simplemente necesitas un atlas de astronomía limpio y ligero en tu teléfono que no pida registro, no muestre anuncios y pese solo unos pocos megabytes. Puedes encontrar la aplicación en Google Play así como en el repositorio F-Droid.
Proyectos relacionados