Alcatel Fire E: Problem mit Kompass-Apps

  • Hallo zusammen,

    egal welche Kompass-App ich installiere, bei der Rotation des Fire E dreht sich die Kompassnadel in die falsche Richtung. Offenbar gibt der Lagesensor seine Daten mit falscher Polarität an die App weiter. Halte ich das Smartphone über den Kopf und blicke von unten aufs Display, dann stimmt die Richtung, aber das kann keine Lösung sein. Ich habe keine Konfigurations- oder Kalibrierungseinstellung bei den Kompass-Apps gefunden, gibt es da was?

    Alcatel Onetouch Fire E mit Firefox OS 2.0.0.0-03 004

  • Nein, muss er nicht. Beim Drehen des Geräts dreht sich der Zeiger - anstatt die Drehung des Gerätes zu kompensieren und mit gleicher Auslenkung in die Gegenrichtung zu drehen - in die gleiche Richtung, in welche gedreht wird, und verdoppelt dadurch die Abweichung von Norden.

  • Genauso ist es, der Zeiger dreht falsch herum beim Drehen des Smartphones. Vielleicht ist das nur beim Alcatel Fire E so? Dann wäre es wäre hilfreich, wenn man in der App das Vorzeichen per Konfigurationsmenü ändern könnte. Andrenfalls wären alle Apps falsch programmiert, was ich kaum glaube.

    Alcatel Onetouch Fire E mit Firefox OS 2.0.0.0-03 004

  • Zitat von Archaeopteryx

    Leider ist es aber so, dass (fast?) alle falsch programmiert sind.

    Sind welche bekannt, die korrekt programmiert sind?
    Ggf. solte der TO dem Entwickler mal daraufhinweisen, das dieser Fehler besteht, vielleicht wird das dann ja mal bereinigt.

  • Hier stand Unsinn. Ich ersetze es mal durch etwas Konstruktives:

    In der Spezifikation der DeviceOrientation API bei MDN steht etwas von einer Ausrichtung bzgl. der Himmelsrichtung: https://developer.mozilla.org/en-US/docs/Web…ice_orientation Die gängigen Kompass-Apps für Firefox OS scheinen diese API zu verwenden. Auf der MDN-Seite wird auf Unterschiede der API zwischen Chrome und Firefox hingewiesen. Vielleicht liegt da das Problem? Aus irgendeinem Grund scheinen die Apps anzunehmen, dass Sie die Orientierung umkehren müssen und nehmen anstelle des Winkels "alpha" den Winkel "360-alpha" (siehe https://developer.mozilla.org/en-US/docs/Web…_data_explained).

    2 Mal editiert, zuletzt von tuxor (9. April 2015 um 15:32)

  • Okay, bitte versucht mal das hier: http://tovotu.de/tests/compass/index.html

    Auf meinem Android-Handy mit Firefox für Android funktioniert dieser Kompass ordnungsgemäß.

    Die Orientierung des Winkels wird vom W3C-Draft genau vorgegeben: http://w3c.github.io/deviceorientat…rientation.html Und hier steht tatsächlich, dass Chrome da einiges umkehrt: http://www.i-programmer.info/programming/ht…ation-api-.html

    Die Entwickler bisheriger Kompass-Apps dachten offenbar, dass eine Rotation mit CSS den gleichen Drehsinn haben müsste wie die Angaben aus der Device Orientation API. In dem Fall hätte natürlich die umgekehrte Drehrichtung Sinn ergeben. Aber tatsächlich hat das W3C wohl gerade bedacht, wie man es machen muss, damit man eben keine Umrechnungen vornehmen muss :D

    Wenn man das Gerät mehrmals dreht und dabei auch mal schnellere Bewegungen macht oder die Drehrichtung abrupt ändert, können übrigens ziemlich falsche Angaben herauskommen. Glücklicherweise (?) passiert das der nativen Android-Kartenapp OsmAnd auch ;) Liegt also wohl an den verbauten Sensoren oder an den Treibern.

  • Was ich daran nicht verstehe: Wie kann so etwas passieren? Prüfen denn Entwickler ihre geschriebenen Programme nicht? Als landet doch, überspitzt gesagt, auch jeder Schrott im Marketplace und ich muss einfach darauf vertrauen, das er an meiner Hardware keinen Schaden anrichtet?

  • Ohne entsprechende Berechtigungen kann eine App ja sowieso keinen Schaden anrichten. Und unter Firefox OS musst du als Nutzer kritische Berechtigungen einzeln nochmal zusätzlich absegnen. Und selbst wenn eine App alle momentan möglichen Berechtigungen auf einem Firefox-OS-Handy hat, dann sind das nicht besonders großzügige Berechtigungen. Es würde mich doch sehr wundern, wenn es damit möglich wäre, Schaden an der Hardware zu verursachen.

    Unter Android sieht es anders aus, wo es Apps gibt, die kritische Einstellungen ändern können, teilweise sogar auf kritische Teile des Dateisystems schreibend zugreifen oder mit Root-Zugriff sogar beliebige Treiber nachladen oder Treiberoptionen ändern können.

    Für die Zulassung zum Firefox-Marketplace werden Apps übrigens auf prinzipielle Funktionsfähigkeit (startet die App überhaupt ohne in einer Endlosschleife zu landen? etc.) und auf Sicherheitsrisiken unterschiedlicher Art getestet. Dazu finden neben automatisierten Tests auch immer menschliche Prüfer Verwendung. Es wird allerdings nie von Seiten des Marketplace überprüft, ob alle Features der App ordnungsgemäß und wie beworben funktionieren. Das wäre ja ein absurder Aufwand. Diese Prüfung müssen die Entwickler schon selbst vornehmen. Und ich fürchte, dass zum momentanen Zeitpunkt viele App-Entwickler gar keine Firefox OS Handys haben (so wie ich - ich teste eben im Emulator oder, wenn möglich, unter Firefox für Android).

  • Nachdem ich jetzt mal die W3C-Spezifikationen zu den hierfür wichtigen HTML5-Bestandteilen gelesen habe, gibt es hier eine Zusammenfassung für alle, die ein bisschen über den technischen Hintergrund lesen wollen oder selbst etwas mit der "Device Orientation API" programmieren möchten: http://tovotu.de/dev/520-Lagese…ansformationen/

    Meine oben bereits verlinkte Kompass-App sollte nun problemlos funktionieren: http://tovotu.de/tests/compass/index.html