>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Kotlin

Wie die legendäre Google Sky Map aus purem Enthusiasmus überlebte

Erinnern Sie sich an die Präsentationen der ersten Android-Handys um 2008–2009? Damals zeigte Google stolz eingebaute Bewegungssensoren und einen Kompass. Der Hauptstar bei der Searchology 2009 war die Google Sky Map App. Man hob das schwere HTC Dream zum Nachthimmel, schwenkte es hin und her, und Konstellationen und Planeten erschienen in Echtzeit auf dem kleinen Bildschirm. Es fühlte sich an, als wäre die Zukunft bereits angekommen.

Dann verschoben sich die Unternehmensprioritäten. 2011 stellte Google die aktive Unterstützung ein, aber die Entwickler ließen das Projekt nicht sterben. Sie baten um die Erlaubnis, den Code als Open Source zu veröffentlichen, lösten sich von der Google-Marke und trugen das Projekt auf eigenen Schultern weiter. Das stardroid-Repository auf GitHub existiert weiterhin unter dem Namen Sky Map, und dahinter steht eine bemerkenswerte Geschichte von technischer Ausdauer.

Warum das Repository stardroid heißt

Innerhalb von Google trug das Projekt den Codenamen Stardroid. Die Anwälte des Unternehmens hatten Angst vor Urheberrechtsansprüchen von Star Wars, daher wählten sie für die Veröffentlichung den langweiligen und straightforwarden Namen Sky Map. Im Codebase blieb der Name stardroid als Hauptpaketkennung erhalten.

Nach dem Ausstieg übernahm das Projekt die GPLv3-Lizenzierung (obwohl einige Legacy-Code-Teile Apache 2.0 behielten). Die Entwickler trafen eine bewusste Entscheidung, die App vollständig kostenlos zu halten – keine Tracker, keine In-App-Käufe, keine Werbung. Das ist ein wirklich ehrliches Open-Source-Astronomiewerkzeug für mobile Plattformen.

So sah der App-Prototyp in seinen frühen Tagen aus:

Sky Map Prototype (2009)

Was die App heute kann

Sky Map verwandelt Ihr Handy in einen interaktiven Sucher für die Beobachtung des Weltraums. Das Kernkonzept ist unverändert geblieben, aber die Autoren haben über die Jahre die Mathematik und Algorithmen verfeinert.

  • Sensorbasierte Positionierung. Die App sammelt Rohdaten vom Beschleunigungsmesser, Gyroskop und Magnetkompass, um den Blickvektor des Benutzers auf der Himmelskugel zu berechnen.
  • Himmelskörperkatalog. Die Datenbank enthält Koordinaten von hellen Sternen, Planeten des Sonnensystems, Konstellationen und Messier-Objekten.
  • Suche mit Zeiger. Wenn Sie Mars oder die Andromeda-Galaxie finden möchten, geben Sie den Namen in die Suche ein, und die App zeigt Pfeile auf dem Bildschirm, die genau anzeigen, wohin Sie Ihre Hände drehen müssen.
  • Zeitreisemodus. Sie können sehen, wie der Himmel an Ihrem Geburtstag aussah oder wo Jupiter in sechs Monaten sein wird.

Was unter der Haube für Entwickler interessant ist

Wenn Sie das Projekt jetzt öffnen, sehen Sie eine Mischung aus Kotlin und Legacy-Java-Code. Das Repository hat viele interessante Dinge für jeden, der sich für mobile Entwicklung und angewandte Mathematik interessiert.

Arbeit mit Sensoren ohne Beschönigung

Der Haupt-Schmerzpunkt für jede Astronomie-App auf Smartphones ist die Kompasskalibrierung und rauschende Sensoren. Das Magnetfeld der Erde wird durch Hüllen, Kabel und Metallobjekte in Taschen verzerrt. Der Sky Map-Codebase implementiert Filterung der Sensorablesungen, damit das Bild nicht durch das leichteste Handzittern wackelt, aber dennoch sofort auf Geräterotationen reagiert.

Das Repository enthält sogar separate Dokumente help.md und troubleshooting.md, in denen die Autoren detailliert erklären, warum die eingebaute Kompasskalibrierung in Android oft überhaupt nicht so funktioniert, wie Programmierer es erwarten.

Rendering und Trigonometrie

Alle Zeichnungen sind an sphärische Koordinaten, Rektaszension und Deklination gebunden. Die App projiziert die 3D-Himmelskugel auf den flachen Smartphone-Bildschirm unter Berücksichtigung des aktuellen Breitengrads, Längengrads und der GPS-Zeit. Das ist eine großartige Referenz für jeden, der verstehen möchte, wie man benutzerdefiniertes Rendering ohne schwere Game-Engines wie Unity schreibt.

An der Schwelle zu Version zwei

Derzeit haben die Autoren Pull-Requests zum Hauptbranch geschlossen. Die Architektur von Version eins, die noch aus der Ära von Android 1.6 Donut stammt, ist endlich veraltet. Ein Team von Ex-Googlern aus Pittsburgh schreibt die App gerade komplett von Grund auf neu als Teil von Version V2 und migriert sie auf einen modernen Tech-Stack.

Gleichzeitig schützen die Entwickler das Projekt wild vor unseriösen Klonen. Grafiken, Logos und visuelle Assets sind durch das Urheberrecht von Penterakt LLC geschützt. Dies wurde speziell getan, damit opportunistische Händler das Projekt nicht einfach neu bauen, es mit Bannern vollstopfen und unter einem anderen Namen bei Google Play hochladen können.

Wer sollte das Projekt studieren

Es lohnt sich, den Sky Map-Code in zwei Fällen zu studieren.

Erstens, wenn Sie eine mobile App mit Augmented Reality, Kompass oder Gyroskop entwickeln und sehen möchten, wie Profis Sensorablesungen unter realen Einsatzbedingungen glätten.

Zweitens, wenn Sie einfach einen sauberen, leichten Astronomie-Atlas auf Ihrem Handy benötigen, der nicht nach Registrierung fragt, keine Werbung zeigt und nur wenige Megabyte wiegt. Sie finden die App sowohl bei Google Play als auch im F-Droid-Repository.

Ähnliche Projekte