Come l'affascinante Google Sky Map è sopravvissuto solo grazie all'entusiasmo
Ricordi le presentazioni dei primi telefoni Android intorno al 2008–2009? All'epoca, Google mostrava orgogliosamente i sensori di movimento integrati e una bussola. La principale attrazione al Searchology 2009 era l'app Google Sky Map. Sollevavi un pesante HTC Dream verso il cielo notturno, lo giravi, e costellazioni e pianeti apparivano sul piccolo schermo in tempo reale. Sembrava che il futuro fosse già arrivato.
Poi le priorità aziendali cambiarono. Nel 2011, Google interruppe il supporto attivo, ma gli sviluppatori non vollero lasciar morire il progetto. Supplicarono per ottenere il permesso di rendere open-source il codice, si staccarono dal brand Google e portarono avanti il progetto sulle proprie spalle. Il repository stardroid su GitHub vive ancora sotto il nome Sky Map, e dietro di esso c'è una storia straordinaria di perseveranza ingegneristica.
Perché il repository si chiama stardroid
All'interno di Google, il progetto aveva il nome in codice Stardroid. Gli avvocati dell'azienda temevano cause per copyright da Star Wars, quindi per il rilascio scelsero il nome banale e diretto Sky Map. All'interno del codebase, il nome stardroid rimase come identificatore principale del pacchetto.
Dopo lo spin-off, il progetto adottò la licenza GPLv3 (sebbene alcune parti di codice legacy mantennero Apache 2.0). Gli sviluppatori fecero una scelta deliberata di mantenere l'app completamente gratuita—nessun tracker, nessun acquisto in-app, nessuna pubblicità. Questo la distingue come uno strumento astronomico open-source genuinamente onesto per le piattaforme mobili.
Ecco come appariva il prototipo dell'app nei suoi primi giorni:

Cosa può fare l'app oggi
Sky Map trasforma il tuo telefono in un mirino interattivo per l'osservazione dello spazio. Il concetto fondamentale resta invariato, ma gli autori hanno raffinato la matematica e gli algoritmi nel corso degli anni.
- Posizionamento basato sui sensori. L'app raccoglie i dati grezzi dall'accelerometro, giroscopio e bussola magnetica per calcolare il vettore dello sguardo dell'utente sulla sfera celeste.
- Catalogo di oggetti celesti. Il database include le coordinate di stelle luminose, pianeti del Sistema Solare, costellazioni e oggetti di Messier.
- Ricerca con puntatore. Se vuoi trovare Marte o la galassia di Andromeda, digiti il nome nella ricerca e l'app mostra frecce sullo schermo che indicano esattamente dove girare le mani.
- Modalità viaggio nel tempo. Puoi vedere come appariva il cielo nel tuo compleanno o dove sarà Giove tra sei mesi.
Cosa c'è di interessante sotto il cofano per gli sviluppatori
Se apri il progetto ora, vedrai un mix di codice Kotlin e Java legacy. Il repository ha molte cose interessanti per chiunque sia interessato allo sviluppo mobile e alla matematica applicata.
Lavorare con i sensori senza abbellimenti
Il punto critico principale per qualsiasi app di astronomia sugli smartphone è la calibrazione della bussola e i sensori rumorosi. Il campo magnetico terrestre viene distorto da custodie, cavi e oggetti metallici nelle tasche. Il codebase di Sky Map implementa il filtraggio della lettura dei sensori così che l'immagine non tremi per il più piccolo tremore della mano, pur rispondendo istantaneamente alle rotazioni del dispositivo.
Il repository ha persino documenti separati help.md e troubleshooting.md dove gli autori spiegano nel dettaglio perché la calibrazione della bussola integrata in Android spesso non funziona affatto come i programmatori si aspettano.
Rendering e trigonometria
Tutto il disegno è legato alle coordinate sferiche, all'ascensione retta e alla declinazione. L'app proietta la sfera celeste 3D sullo schermo piatto dello smartphone tenendo conto della latitudine, longitudine e ora GPS attuali. Questo è un ottimo riferimento per chiunque voglia capire come scrivere un rendering personalizzato senza motori di gioco pesanti come Unity.
Alla soglia della versione due
In questo momento gli autori hanno chiuso le pull request al branch principale. L'architettura della versione uno, definita nell'era di Android 1.6 Donut, è finalmente diventata obsoleta. Un team di ex-Googler di Pittsburgh sta riscrivendo completamente l'app da zero come parte della versione V2, migrandola verso uno stack moderno.
Allo stesso tempo, gli sviluppatori stanno proteggendo ferocemente il progetto dai cloni senza scrupoli. Grafiche, loghi e asset visivi sono protetti dal copyright di Penterakt LLC. Questo è stato fatto specificamente affinché rivenditori opportunisti non potessero semplicemente ricostruire il progetto, riempirlo di banner e caricarlo su Google Play sotto il nome di qualcun altro.
Chi dovrebbe studiare il progetto
Esplorare il codice di Sky Map vale la pena in due casi.
Primo, se stai costruendo un'app mobile con realtà aumentata, bussola o giroscopio e vuoi vedere come i professionisti livellano le letture dei sensori in condizioni di combattimento reale.
Secondo, se hai semplicemente bisogno di un atlante astronomico pulito e leggero sul tuo telefono che non chiede registrazione, non mostra pubblicità e pesa solo pochi megabyte. Puoi trovare l'app su Google Play così come nel repository F-Droid.
Progetti correlati