iPad: Warum Ihr Standort manchmal nicht mitkommt
21 Mai 2024 om 10:28
Apple-Geräte, insbesondere iPads, sind für uns bei der Entwicklung unserer App ein schwieriges Thema. Wir haben bereits diesen Blogbeitrag über das Navigieren mit einem iPad geschrieben. Hier haben wir uns speziell mit iPads beschäftigt, die nur über WLAN verfügen und somit keine GPS-Antenne haben.
Seit letztem Jahr erhielten wir aus heiterem Himmel Berichte von unseren Nutzern, die alle das gleiche Problem hatten. Ihr Standort auf unserer Karte blieb regelmäßig plötzlich stehen und war somit nicht mehr „in Betrieb“. Product Owner Sven ging der Sache auf den Grund und kam auf eine ungewöhnliche Ursache.
Letztes Jahr erhielten wir aus heiterem Himmel und in relativ kurzer Folge von mehreren Nutzern unserer App denselben Kommentar. Ihr Standort auf der Karte blieb manchmal abrupt stehen und lief nicht mit, während sie unterwegs waren. Und dass das Problem kurzzeitig verschwand, wenn sie ihr Gerät für einen Moment in die Hand nahmen und sich daraufhin bewegten. Nun bekommen wir zwar öfter Rückmeldungen, aber diese war besonders, da wir an unserer App in Bezug auf Standortfunktionen und GPS nichts geändert hatten.
In der ersten E-Mail, die wir in so einem Fall zurückschicken, stellen wir drei Fragen:
#1: Auf welcher Art von Gerät ist das passiert (Marke, Typ)?
#2: Welches Betriebssystem ist auf dem Gerät installiert (z. B. iOS 17.1)?
#3: Welche Version unserer App verwenden Sie auf diesem Gerät (Sie finden diese unten auf Ihrer Profilseite)?
Auf dieser Grundlage haben wir herausgefunden, dass es in fast allen Fällen auf iOS (Apple)-Geräten, d.h. iPhones und iPads, passiert. Aber offenbar nicht auf allen Apple-Geräten und nicht unter allen Umständen, sonst hätten wir viel mehr E-Mails erhalten.
Tatsächlich schreiben uns die meisten Nutzer der App keine E-Mails. Wenn es ein Problem mit der App gibt, schließen die meisten die App, starten sie neu und oft ist das Problem auf wundersame Weise behoben. Trotzdem hatten wir genug E-Mails, um nach diesem „Problem“ zu suchen.
Reproduzieren
Mit all den Informationen, die wir von unseren Nutzern erhalten haben, haben wir einige Apple-Geräte verwendet, um zu sehen, wie wir das Problem reproduzieren können. Als Erstes habe ich meine iPads im Auto getestet, aber das hat nichts gebracht: keine Probleme.
Ich lebe auf meinem Schiff, also bin ich am nächsten Tag segeln gegangen. Und tatsächlich… auf einem der drei iPads blieb mein eigener Standort stumm. Sehr ärgerlich, aber noch ärgerlicher ist, dass ich den Grund dafür nicht herausfinden konnte: Wie konnte das auf einem iPad passieren, aber nicht auf dem anderen, und auch nicht auf dem iPhone?
Vergleiche
Die iPads, auf denen ich das Problem reproduzieren konnte, waren zwei verschiedene. Jedes mit einem anderen OS (Betriebssystem). Das bot also eine Perspektive. Als wir jedoch versuchten, das Problem auf identischen iPads mit einem identischen Betriebssystem zu reproduzieren, funktionierte es nicht. Wie kann das sein?
Technik im iPad und iPhone
Um herauszufinden, was genau passiert, haben wir uns angeschaut, was genau im Inneren eines Apple-Geräts passiert, da wir immer mehr den Verdacht hatten, dass es sich um ein Hardware-Problem in Apple-Geräten handelt. Im Inneren eines iPad oder iPhone befinden sich:
- Ein Beschleunigungsmesser: Er zeichnet Bewegungen auf (Entfernung, Geschwindigkeit)
- ein Gyroskop, das die Bewegung in der X- und Y-Achse aufzeichnet
- Ein GPS-Chip, der Ihren Standort, Ihren Kurs und Ihre Geschwindigkeit aufzeichnet (übrigens gibt es keinen GPS-Chip in den „wifi only“-Modellen)
- Eine Batterie/Akku
An sich nichts Besonderes, diese Komponenten befinden sich in fast jedem Smartphone. Der wesentliche Unterschied ist jedoch, dass Apple seit Jahren Probleme mit seinen Akkus hat: Sie halten einfach nicht so lange wie die anderer Smartphones. Nicht pro Ladung und nicht in Bezug auf die Akkulaufzeit.
Sparen von Akkulaufzeit
Um die Akkulaufzeit seiner Geräte zu verlängern, unternimmt Apple in seinem Betriebssystem alles Mögliche, um Energie zu sparen und so die Aktivität des Geräts zu minimieren.
Um genau zu sehen, was in iOS während der Fahrt passiert, sind wir mit Erik-Jan Geniets, einem unserer Programmierer, an Bord eines Stromma-Kanalboots gegangen. Erik-Jan ist ein Grachtenschiffer in Amsterdam und ein begeisterter Nutzer von Waterkaarten. Super, denn so hatten wir die Hände zum Testen frei, während Erik-Jan uns durch die Grachten von Amsterdam schipperte.
Indem wir einen Laptop an ein iPad anschlossen, konnten wir sehen, was in iOS mit dem Ortungsproblem geschah. Obwohl wir uns auf den Kanälen bewegten, sahen wir, dass iOS unter bestimmten Bedingungen die GPS-Nachrichten pausierte… bis wir das Gerät für einen Moment bewegten, was das iPad dazu veranlasste, wieder neue GPS-Nachrichten zu empfangen. Diese GPS-Meldungen enthalten übrigens Informationen über Ihren Standort, Ihren Kurs und Ihre Geschwindigkeit.
Die Bedingungen und Kriterien
Wir fuhren also in einem 40-Tonnen-Kanalboot durch die Grachten von Amsterdam, auf praktisch ruhigem Wasser, ohne Wellengang, mit einer Durchschnittsgeschwindigkeit von 7 km/h. Sie wissen, wie sich das anfühlt:
- Das Boot bewegt sich kaum
- Sie bewegen sich kaum
Und genau dann, wenn die oben genannten Kriterien oder eines davon erfüllt sind, stellten wir fest, dass iOS trotz der Tatsache, dass wir durch die Grachten fuhren, die GPS-Benachrichtigung pausierte; wir erhielten buchstäblich immer wieder dieselben Lat/Lon-Koordinaten.
Die Schlussfolgerung
Wenn sich ein Gerät unter einer bestimmten Geschwindigkeit bewegt und sich nicht entlang der X- und Y-Achse bewegt, werden der Beschleunigungsmesser und das Gyroskop nicht ausgelöst und der Empfang von GPS-Nachrichten wird unterbrochen.
Warum geschieht das? Weil der Empfang und das Senden von GPS-Nachrichten viel Strom verbrauchen. Und um den Akku Ihres Apple-Geräts zu schonen, ist es am einfachsten, das Senden und Empfangen von GPS-Nachrichten zu deaktivieren.
Leider ist dies nicht bei allen Geräten möglich, sondern hängt von dem von Ihnen verwendeten iOS sowie von den für das iPad oder iPhone verwendeten Komponenten ab. Und selbst je nach iPad- oder iPhone-Typ werden unterschiedliche Gyroskope, Beschleunigungsmesser oder GPS-Chips verwendet.
Gibt es noch Fragen?
Frage:
Aber wenn ich Google Maps oder eine andere App öffne, funktioniert es!
Antwort:
Richtig. Sie nehmen das Gerät in die Hand, öffnen Google Maps und halten es vielleicht fest. Das Gerät wird entlang der X- und Y-Achse bewegt und die GPS-Meldungen werden wieder angezeigt. Wir haben dies mit Navionics, Savvy Navvy, Google Maps, Apple Maps und einigen anderen Navigationsanwendungen getestet.
Frage:
Ist das in Amsterdam immer passiert?
Antwort:
Nein. Auf dem IJ ist es tatsächlich nicht passiert; dort hatten wir überhaupt keine Probleme. Die minimale Wellenbewegung dort hat das Boot minimal über X und Y bewegt und das Gyroskop ausgelöst, und wir sind dort mit etwa 13 km/h gefahren, was auch den Beschleunigungsmesser ausgelöst hat.
Frage:
In meinem Auto bewege ich mich auch kaum, aber Maps tut es auch dort, wie ist das möglich?
Antwort:
Das liegt an dem Wort „kaum“. Vergleichen wir das Autofahren mit dem Fliegen eines großen Flugzeugs. Wenn Sie schon einmal geflogen sind, wissen Sie, dass ein Flugzeug sehr schnell und vor allem super schnell fliegen kann, ohne zu vibrieren. Vergleichen Sie das mit dem Autofahren, oder besser noch: Konzentrieren Sie sich auf die Bewegung oder Vibration, die Sie in einem Auto spüren; sie ist fast immer vorhanden. Und außerdem: Der Beschleunigungsmesser registriert, dass Sie sich vorwärts bewegen. 2 Kriterien, nach denen die GPS-Meldungen immer wieder eintreffen.
Lösung
Wir haben darüber nachgedacht, wie wir das Gyroskop oder den Beschleunigungsmesser manipulieren und im iOS-Code anzeigen können, dass es sich bewegt. Aber Sie haben es erraten: Das ist nicht möglich. Aber wir haben uns etwas anderes überlegt.
Sie wissen, dass wir uns in letzter Zeit damit beschäftigt haben, AIS-Geräte mit der App zu verbinden.
- AIS-Transponder hatten schon immer ein GPS-Modul und/oder eine externe GPS-Antenne, die daran angeschlossen werden kann.
- Immer mehr AIS-Empfänger verfügen auch über die oben genannten Optionen
- …und so empfangen auch diese Geräte GPS-Meldungen.
Und diese GPS-Meldungen werden über ein solches AIS-Gerät an die App weitergeleitet. Unsere Programmierer haben für uns eine Version unserer App getestet und gebaut, in der GPS-Meldungen von einem gekoppelten AIS-Gerät gelesen und in unserer App verwendet werden können.
Wir haben das kürzlich getestet und es funktioniert: Die Ortung läuft ständig, und Kurs und Geschwindigkeit werden einwandfrei angezeigt. Wir haben sogar die Ortungsfunktionen auf dem iPad und dem iPhone komplett ausgeschaltet, da sie unsere App nicht mehr nutzen wollten. Und wie es der Zufall will, ist so ein AIS-Empfänger mit GPS-Empfang eine Win-Win-Situation. Denn man kann nicht nur seinen Standort bestimmen, sondern auch den Schiffsverkehr um sich herum sehen.
Sehr nützlich auch für iPad ‚wifi-only‘ Modelle
Noch ein kleiner Hinweis: Ein „wifi-only“-iPad hat keinen GPS-Chip und der Standort wird u.a. über nahegelegene Wifi-Netzwerke bestimmt, in die man sich nicht einmal einloggen muss. Aber ein solcher AIS-Empfänger (oder Transponder, aber das hat einen anderen Preis und man braucht ein Basis-Schiffsfunk Zeugnis) funktioniert auch für diese Modelle.
Autor: Sven Lens, Product Owner Waterkaarten