>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Kotlin

Comment la légendaire Google Sky Map a survécu grâce au pur enthousiasme

Vous souvenez-vous des présentations des premiers téléphones Android vers 2008-2009 ? À l'époque, Google mettait fièrement en avant ses capteurs de mouvement intégrés et sa boussole. L'attraction principale du Searchology 2009 était l'application Google Sky Map. Vous leviez un lourd HTC Dream vers le ciel nocturne, le faisiez pivoter, et les constellations et planètes apparaissaient sur le petit écran en temps réel. C'était comme si le futur était déjà arrivé.

Puis les priorités de l'entreprise ont changé. En 2011, Google a cessé le support actif, mais les développeurs n'ont pas laissé le projet mourir. Ils ont supplié pour obtenir la permission d'ouvrir le code source, se sont séparés de la marque Google, et ont porté le projet sur leurs épaules. Le dépôt stardroid sur GitHub existe toujours sous le nom Sky Map, et derrière cela se cache une histoire incroyable de persévérance en ingénierie.

Pourquoi le dépôt s'appelle stardroid

À l'intérieur de Google, le projet portait le nom de code Stardroid. Les avocats de l'entreprise craignaient des réclamations de droits d'auteur de la part de Star Wars, alors pour la sortie, ils ont choisi le nom ennuyeux et direct Sky Map. Dans la base de code, le nom stardroid est resté l'identifiant principal du package.

Après sa séparation, le projet a adopté la licence GPLv3 (bien que certains codes hérités aient conservé Apache 2.0). Les développeurs ont fait le choix délibéré de garder l'application entièrement gratuite—sans trackers, achats intégrés ou publicité. Cela se distingue comme un outil d'astronomie open source véritablement honnête pour les plateformes mobiles.

Voici à quoi ressemblait le prototype de l'application dans ses premières versions :

Sky Map Prototype (2009)

Ce que l'application peut faire aujourd'hui

Sky Map transforme votre téléphone en un viseur interactif pour l'observation spatiale. Le concept de base reste inchangé, mais les auteurs ont perfectionné les mathématiques et les algorithmes au fil des ans.

  • Positionnement basé sur les capteurs. L'application collecte les données brutes de l'accéléromètre, du gyroscope et de la boussole magnétique pour calculer le vecteur de regard de l'utilisateur sur la sphère céleste.
  • Catalogue d'objets célestes. La base de données inclut les coordonnées des étoiles brillantes, des planètes du système solaire, des constellations et des objets de Messier.
  • Recherche avec pointeur. Si vous voulez trouver Mars ou la galaxie d'Andromède, vous tapez le nom dans la recherche, et l'application affiche des flèches sur l'écran pointant exactement où tourner vos mains.
  • Mode voyage dans le temps. Vous pouvez voir à quoi ressemblait le ciel à votre anniversaire ou où Jupiter se trouvera dans six mois.

Ce qui est intéressant sous le capot pour les développeurs

Si vous ouvrez le projet maintenant, vous verrez un mélange de code Kotlin et Java hérité. Le dépôt regorge de choses intéressantes pour quiconque s'intéresse au développement mobile et aux mathématiques appliquées.

Travailler avec les capteurs sans fioritures

Le principal point douloureux pour toute application d'astronomie sur smartphones est l'étalonnage de la boussole et les capteurs bruités. Le champ magnétique terrestre est déformé par les coques, câbles et objets métalliques dans les poches. Le code de Sky Map implémente un filtrage des lectures de capteurs pour que l'image ne tremble pas au moindre tremblement de main, tout en répondant instantanément aux rotations de l'appareil.

Le dépôt contient même des documents séparés help.md et troubleshooting.md où les auteurs expliquent en détail pourquoi l'étalonnage de boussole intégré dans Android ne fonctionne souvent pas du tout comme les programmeurs s'y attendent.

Rendu et trigonométrie

Tout le dessin est lié aux coordonnées sphériques, à l'ascension droite et à la déclinaison. L'application projette la sphère céleste 3D sur l'écran plat du smartphone en tenant compte de la latitude, longitude et heure GPS actuelles. C'est une excellente référence pour quiconque veut comprendre comment écrire un rendu personnalisé sans moteurs de jeu lourds comme Unity.

Au seuil de la version deux

En ce moment, les auteurs ont fermé les pull requests vers la branche principale. L'architecture de la version un, établie à l'époque d'Android 1.6 Donut, est finalement devenue obsolète. Une équipe d'anciens Googlers de Pittsburgh est en train de réécrire complètement l'application from scratch dans le cadre de la version V2, en la migrant vers une stack moderne.

En même temps, les développeurs protègent farouchement le projet des clones sans scrupules. Les graphiques, logos et actifs visuels sont protégés par le droit d'auteur de Penterakt LLC. Cela a été fait spécifiquement pour que des revendeurs opportunistes ne puissent pas simplement reconstruire le projet, le bourrer de bannières et le télécharger sur Google Play sous un autre nom.

Qui devrait étudier le projet

Explorer le code de Sky Map vaut la peine dans deux cas.

Premièrement, si vous construisez une application mobile avec de la réalité augmentée, une boussole ou un gyroscope et voulez voir comment les professionnels lissent les lectures des capteurs dans des conditions réelles de combat.

Deuxièmement, si vous avez simplement besoin d'un atlas d'astronomie propre et léger sur votre téléphone qui ne demande pas d'inscription, ne montre pas de publicités et ne pèse que quelques mégaoctets. Vous pouvez trouver l'application sur Google Play ainsi que dans le dépôt F-Droid.

Projets similaires