Di. 24. Oktober 2017 um 11:08

Apple iOS Taschenrechner hat ein Problem. Doch welches genau?

von Marcel Laser4 Kommentare

Seit gestern geistern viele Meldungen über den peinlichen Auftritt des Apple iOS Taschenrechners im Netz herum. Einige behaupten, er würde sich verrechnen, andere meinen er wäre zu langsam. Dabei ist das Problem recht simpel erklärt, was allerdings nicht heisst, dass es kein Problem ist, denn das ist es durchaus. Wenn man allerdings weiss, was das Problem ist, lässt es sich etwas leichter damit umgehen und hoffentlich bessert Apple vielleicht nach (oder auch nicht…).

Eingabe im iOS Taschenrechner wird durch Animations-Methode im Quellcode blockiert

Rollen wir das gestern zuhauf durchgekaute Thema noch einmal auf. Was passiert genau? Wenn man den von Apple in iOS integrierten Taschenrechner nutzt, dann sollte man nicht all zu schnell tippen. Derzeit kursieren einfache Beispiele im Netz, die das Problem reproduzieren lassen. Auch wir können es zu 100 Prozent nachvollziehen und immer wieder auslösen. Gibt man einfache Rechenbeispiele etwas flotter auf der Oberfläche ein, werden auf einmal die Rechenoperatoren blockiert. Will man also 1+2+3 recht schnell eingeben, wird das zweite + ignoriert und es steht eine 23 da. Das Ergebnis wäre in diesem Fall also 24. Dieses Problem lässt sich mit allen Rechenoperatoren reproduzieren. Aber warum ist das so?

 

Zu aller erst: Nein! Es ist kein Fehler. Sondern von Apple so gewollt, was sehr komisch klingt, weil sich niemand vorstellen könnte, dass so etwas wirklich gewollt ist. Allerdings ist das Problem ganz woanders zu suchen. So findet sich in der Entwickler-Dokumentation eine Methode mit dem Namen animateWithDuration:animations:completion. Ist diese eingebunden, wartet das Objekt darauf, dass die Animation erst beendet wird, bis dieses wieder zur Eingabe freigegeben werden kann. Diese Animation dauert dann in diesem Fall des Rechners ungefähr eine halbe Sekunde.

 

Apples Tasten im Taschenrechner leuchten auf, auch die Rechenoperatoren agieren so. Hier ein Beispiel mit der Eingabe 1+2: Wer 1+ eingibt, erkennt sehr schnell, dass die + Taste nun dauerhaft leuchtet. Das soll natürlich verdeutlichen, welcher Rechenoperator zuletzt gedrückt wurde und zeigt damit, dass die nächste Zahl addiert werden soll. Drückt ihr nun die 2 fängt das Leuchten der + Taste an zu verblassen. Diese Animation blockiert die Eingabe und in dieser Zeit kann die Taste auch nicht betätigt werden, bis die Animation abgeschossen ist (animateWithDuration:animations:completion). Wer also zu schnell nach der Taste 2 wieder etwas addieren will, stösst auf eine blockierte + Taste, da diese noch ihre verblassende Animation ausführen muss. Alle anderen Rechenoperatoren funktionieren aber in dieser Zeit, da diese vorher nicht “verblassen” müssen. Es betrifft also immer nur die vorher leuchtende Taste.


Das + ist gedrückt. Sobald nun eine andere Zahl angetippt wird, verblasst das Leuchten wieder und in der Zeit ist sie blockiert.

Ist es also ein Fehler? Nein, aber eine schlechte Designentscheidung

Ein Fehler ist es also nicht, es ist kein Bug und der Taschenrechner von Apple funktioniert wie gewollt. Er verrechnet sich auch nicht, wie manche Seiten derzeit im Netz behaupten. Der Taschenrechner von Apple unter iOS kann einfach in bestimmten Situationen nicht anders reagieren, weil es ihm so “befohlen” wird.

 

Allerdings halten wir an dieser Stelle die geblockte Animations-Methode für eine schlechte Designentscheidung. Natürlich kann man jetzt philosophieren, dass der Fehler über eine solche Designentscheidung eben ein Fehler war und zu diesem Fehler führt, aber das ist am Ende schon wieder ein ganz anderes Thema.

 

Wer gerne schnell Eingaben auf einem Taschenrechner tätigt und viele kleine Zahlen miteinander addieren, subtrahieren oder sonst was in der Richtung machen möchte, wird natürlich ärgerlich vor einem Problem stehen. Hier helfen dann Taschenrechner von Drittanbietern, die eine solch geblockte Animation nicht im Quellcode verbaut haben.

Apple in der Pflicht die Designentscheidung zu verbessern

Am Ende bleibt also das Fazit, dass es zwar kein Fehler ist, aber dennoch bleibt es ein Problem. Ein Problem, welches Apple vielleicht angehen sollte, damit auch schnellere Eingaben im Taschenrechner mit der selben Rechenoperation auch weiterhin möglich sind. Da der “Fehler” bereits seit iOS 9 existieren soll, aber bisher keinerlei Aufmerksamkeit bekommen hat, zeigt allerdings schon wie selten der Taschenrechner in solchen Situationen zum Einsatz kommt. Denn die meisten von uns werden derart kleine Aufgaben wohl im Kopf ausrechnen und es dauert deutlich länger das Smartphone zu entsperren, den Taschenrechner aufzurufen und die Eingabe zu tätigen.

 

Dennoch ist es ein Problem, ein ärgerliches um genau zu sein, da die Methode in diesem Fall für unerwünschte Zwangspausen und vielleicht auch zu Rechenfehlern in grösseren Formeln führen könnte. Jedenfalls sollte man hier vielleicht im Hause Apple in Zukunft ansetzen.

 

 

Quelle: Eigene und Apple Entwickler Dokumentation

vg-wort
Das könnte Sie auch interessieren

4 Antworten zu “Apple iOS Taschenrechner hat ein Problem. Doch welches genau?”

  1. TiRohn sagt:

    Ich denke mal, bevor Apple diesen Designentscheid ändert, erklären sie diesen zum neuen Standard und behaupten, alles andere ist eh falsch und man soll sich gefälligst daran gewöhnen… 🙂

  2. Heini 22 sagt:

    Mal von der Funktion abgesehen, Design und Farben schön bei Braun abgekupfert.

  3. night sagt:

    dafür gibt es brauchbare alternativen 🙂 die auch ohne Designfehler funktionieren. War da nicht schon einmal etwas Designtechnisch… ach ja der Antennen-Schlitz….

    CalcTape der beste Rechner überhaupt, egal ob unter Windows, MacOS, iOS, oder Android

    https://www.schoettler-software.com/de/

  4. Abarth sagt:

    Ach wo. Eine saubere HP UPN implementation ist immer noch der beste Rechner 😉
    Alle die mal UPN intensiv verwendet haben, wollen nie mehr etwas anderes…

    Und zum “nicht-Fehler”: Alles, was sich wie ein Fehler verhält, ist aus Nutzersicht ein Fehler. Egal mit welchen technischen Erklärungen (die Taste kann zwar “gedrückt” werden, aber sie reagiert nicht weil sie noch nachleuchtet, sic…) dies als “it’s not a Bug, it’s a Feature” erklärt wird.

    Bei MS wäre es durch die geneigte Tech-Presse definitiv als ein Fehler deklariert worden.

Schreibe einen Kommentar

Teilen