Como o lendário Google Sky Map sobreviveu com pura paixão
Você lembra das apresentações dos primeiros telefones Android por volta de 2008–2009? Na época, o Google estava orgulhosamente mostrando sensores de movimento integrados e uma bússola. O grande destaque no Searchology 2009 era o aplicativo Google Sky Map. Você levantava um pesado HTC Dream para o céu noturno, girava-o, e constelações e planetas apareciam na pequena tela em tempo real. Parecia que o futuro já havia chegado.
Então as prioridades corporativas mudaram. Em 2011, o Google descontinuou o suporte ativo, mas os desenvolvedores não deixaram o projeto morrer. Eles imploraram permissão para abrir o código, romperam com a marca Google, e mantiveram o projeto sobre seus próprios ombros. O repositório stardroid no GitHub ainda vive sob o nome Sky Map, e por trás dele está uma história incrível de perseverança em engenharia.
Por que o repositório se chama stardroid
Dentro do Google, o projeto tinha o codinome Stardroid. Os advogados da empresa tinham medo de processos de direitos autorais do Star Wars, então para o lançamento escolheram o nome tedioso e direto Sky Map. Dentro do código, o nome stardroid permaneceu como o identificador principal do pacote.
Após a separação, o projeto adotou a licença GPLv3 (embora algum código legado tenha mantido Apache 2.0). Os desenvolvedores fizeram uma escolha deliberada de manter o aplicativo completamente gratuito—sem rastreadores, compras no aplicativo ou publicidade. Isso se destaca como uma ferramenta genuinamente honesta de astronomia de código aberto para plataformas móveis.
Aqui está como o protótipo do aplicativo parecia nos primeiros dias:

O que o aplicativo pode fazer hoje
O Sky Map transforma seu telefone em uma mira interativa para observação do espaço. O conceito central permanece inalterado, mas os autores poliram a matemática e os algoritmos ao longo dos anos.
- Posicionamento baseado em sensores. O aplicativo coleta dados brutos do acelerômetro, giroscópio e bússola magnética para calcular o vetor de olhar do usuário na esfera celeste.
- Catálogo de objetos celestes. O banco de dados inclui coordenadas de estrelas brilhantes, planetas do Sistema Solar, constelações e objetos Messier.
- Busca com ponteiro. Se você quer encontrar Marte ou a galáxia de Andromeda, digite o nome na busca, e o aplicativo mostra setas na tela apontando exatamente para onde virar suas mãos.
- Modo viagem no tempo. Você pode ver como o céu estava no seu aniversário ou onde Júpiter estará em seis meses.
O que é interessante sob o capô para desenvolvedores
Se você abrir o projeto agora, verá uma mistura de código Kotlin e Java legado. O repositório tem muitas coisas interessantes para qualquer pessoa interessada em desenvolvimento mobile e matemática aplicada.
Trabalhando com sensores sem açúcar
O principal ponto problemático para qualquer aplicativo de astronomia em smartphones é a calibração da bússola e sensores barulhentos. O campo magnético da Terra é distorcido por capas, cabos e objetos metálicos nos bolsos. O código do Sky Map implementa filtragem de leitura de sensores para que a imagem não tremule com o menor tremor da mão, mas ainda responda instantaneamente às rotações do dispositivo.
O repositório até possui documentos separados help.md e troubleshooting.md onde os autores explicam em detalhes por que a calibração de bússola integrada no Android frequentemente não funciona nada como os programadores esperam.
Renderização e trigonometria
Todo o desenho está vinculado a coordenadas esféricas, ascensão reta e declinação. O aplicativo projeta a esfera celeste 3D na tela plana do smartphone levando em conta a latitude, longitude e hora GPS atuais. Esta é uma ótima referência para qualquer pessoa que queira entender como escrever renderização personalizada sem motores de jogos pesados como Unity.
Na soleira da versão dois
Neste momento, os autores fecharam pull requests para o branch principal. A arquitetura da versão um, estabelecida na era do Android 1.6 Donut, finalmente se tornou obsoleta. Uma equipe de ex-Googlers de Pittsburgh está neste momento reescrevendo completamente o aplicativo do zero como parte da versão V2, migrando-o para uma stack moderna.
Ao mesmo tempo, os desenvolvedores estão protegendo ferozmente o projeto de clones sem escrúpulos. Gráficos, logotipos e ativos visuais são protegidos por direitos autorais da Penterakt LLC. Isso foi feito especificamente para que comerciantes oportunistas não pudessem simplesmente reconstruir o projeto, encher de banners e enviar para o Google Play sob o nome de outra pessoa.
Quem deveria estudar o projeto
Explorar o código do Sky Map vale a pena em dois casos.
Primeiro, se você está construindo um aplicativo mobile com realidade aumentada, bússola ou giroscópio e quer ver como profissionais suavizam leituras de sensores em condições reais de combate.
Segundo, se você simplesmente precisa de um atlas astronômico limpo e leve no seu telefone que não pede registro, não mostra anúncios e pesa apenas alguns megabytes. Você pode encontrar o aplicativo no Google Play assim como no repositório F-Droid.
Projetos relacionados