2463984

Ex-Apple-Mitarbeiter: Darum haben iOS 13 und Catalina Fehler

23.10.2019 | 15:29 Uhr | Stephan Wiesend

Die neuen Versionen von iOS 13 und Catalina hatten beim Erscheinen doch einige Fehler, ein Ex-Apple-Mitarbeiter versucht eine Erklärung.

Viele langjährige Apple-Fans haben manchmal den Eindruck: Früher waren macOS und iOS stabiler und einige Fehler scheinen schon seit vielen Systemversionen zu bestehen. Das ist nach unserem Eindruck nicht ganz unbegründet, mancher iCloud-Sync arbeitet nicht immer zuverlässig und auch das neue macOS Catalina scheint noch einige Macken zu haben. So musste auch Apple einige für iOS 13 angekündigte Funktionen verschieben . Der ehemalige Apple Mitarbeiter David Shayer, der auch an Apples Bug-System Radar mitgearbeitet hat, vertrat nun in einem vielbeachteten Beitrag bei Tidbits die These, es wären eigentlich „ Six Reasons Why iOS 13 and Catalina Are So Buggy “.

Der erste Grund erinnert uns ein wenig an den Brexit: Er meint, die vielen geforderten neuen Funktionen würden oft zu einem so genannten „Schedule Chicken“ führen, einem bekannten Problem im Projektmanagement. Der Hintergrund: Die Zahl der neuen Funktionen des kommenden Systems ist zu hoch, diese können nicht zu dem fest vorgegebenen Termin im September fertig werden. Die für die einzelne Bereiche einer neuen Funktion zuständigen Manager wissen dies, keiner aber will der erste sein, der dies zugibt. Sie hoffen, dass ein Kollege dies vor ihnen tut und ihnen erspart, der Verantwortliche zu sein. Darum arbeiten alle vorerst weiter an der Funktion, statt sich auf die Funktionen zu konzentrieren, mit denen das neue System auf den Markt kommt.

Schwer erfassbare Fehler

Beim Beheben von Systemfehlern werden die vom System gelieferten Crash Reports indirekt zum Problem. Diese Absturzberichte werden von Apple intensiv ausgewertet und behoben – mit Erfolg, es treten heute weniger Abstürze auf als früher. Was bei diese Fehlerarten aber nicht erfasst werde, sind Funktionsfehler, die ohne Crash abliefen: Der Report erfasst nicht, wenn iCloud ein Foto einfach nicht hochlädt oder iOS permanent eine erneute Anmeldung bei iCloud verlangt.

Bekannte Fehler dieser Art werden nur auf altmodische Art erfasst: Mit Testern von Apple, automatischen Tests und Fehlerberichten. Diese Fehler zu erfassen und zu korrigieren ist aber weit schwerer möglich.

Der dritte Grund: Fehler werden gewichtet, was auch Triage genannt wird. Auch dies aus Zeitgründen. In der frühen Entwicklungsstufe eines Systems werden noch alle erkannten Fehler korrigiert, in der Beta-Phase nur die wichtigen Bugs und kurz vor Erscheinen des Systems nur noch Fehler, die Datenverlust oder Abstürze verursachen. Selten auftretende oder weniger schwerwiegende Fehler werden dadurch aber immer wieder zurück gestuft.

Ein Problem betrifft ebenfalls Apples Umgang mit alten Fehlern: Bei einem neuen Produkt wie dem iPhone 11 würde Apple alle neu auftretenden Fehler meist schnell und mit gutem Erfolg lösen. Übersteht aber ein Fehler diese erste Korrekturphase oder tritt nur selten auf, kann es passieren, dass er für immer weiter lebt. Entscheidend ist nämlich oft, ob ein Qualitätsprüfer einen Fehler als eine so genannte Regression oder einen alten Fehler einstuft. Eine Software-Regression, also ein Fehler der nachvollziehbar eine Funktion stört, muss sofort behoben werden. Ein bereits bekannter alter Fehler hat dagegen eine weit geringere Priorität – er muss nicht sofort behoben werden, wird es unter Umständen deshalb nie. Zumindest einige Gruppen bei Apple sollen dies laut Autor so handhaben, einige hätten sogar T-Shirts mit der Aufschrift „Not a Regression“ angefertigt.

Beim Aufspüren von Fehlern soll sich Apple außerdem zu stark auf herkömmliche Testmethoden verlassen und zu wenig Testautomatisierung einsetzen. Nur beim Prüfen der Akku-Leistung würde Apple sehr stark auf automatisierte Testverfahren setzen.

Gestiegene Komplexität

Grund sechs: Ein Unterschied zu früheren Systemen soll aber nicht aus den Augen verloren werden: „Früher“ hatte Apple nur Macs im Angebot, Prozessoren waren damals einfacher aufgebaut und ein Programm mit 100 000 Zeilen Code galt schon als umfangreich. Heute haben Apps 10 Millionen Zeilen Code und Apple hat nicht nur iPhones, Macs, Homepods und Apple Watch im Angebot, diese kommunizieren auch noch alle mit iCloud und dem Internet. Das bedeutet, die Produkte sind nicht nur komplexer, durch erschwerende Faktoren wie Multithreading, Push-Nachrichten und Netzwerk-Latenz kann man kaum noch eine Testumgebung erstellen, die alle Problembereiche abdeckt.

Für die Zukunft verspricht sich Shayer aber Verbesserungen: Apple habe immense Ressourcen und die Ankündigung von iOS 13.1 noch vor Erscheinen von iOS 13.0 habe die Qualitätsprobleme offen kenntlich gemacht. Und langsam werde dies sogar ein PR-Problem, was Apples Manager zum Umdenken bringen werde.

Unsere Meinung: Die Vorwürfe von Shayer sind keineswegs neu, ähnliche Kritikpunkte hat man schon von vielen anderen Apple- Mitarbeitern gehör t. Softwarequalität ist aber offensichtlich weiter ein Problem bei Apple. iOS 12 war ja nur mit wenigen neuen Funktionen auf den Markt gekommen, um die Qualität zu verbessern. Bei iOS 13 scheinen da wieder alte Probleme aufzutauchen. Allerdings kann man auch „in Schönheit sterben“: Apple steht unter starkem Druck seiner Konkurrenz von Firmen wie Huawei, Google und Samsung und muss hier Innovation und Perfektion gegeneinander abwägen. Ein Verzicht auf neue Funktionen würde da schnell ausgenutzt und könne zum existentiellen Problem werden.

Macwelt Marktplatz

2463984