3 Dinge, die Apple an der Screen Time API ändern sollte
Ich mache HonorFit, einen App-Blocker, bei dem du dir Bildschirmzeit mit Liegestützen verdienst (Ehrensystem, keine Kamera). Es ist dieselbe App auf iPhone und Android, dieselbe Idee, größtenteils derselbe Code. Und ehrlich gesagt? Die Android-Version ist angenehmer zu benutzen.
Nicht, weil Android besser im Sperren von Apps wäre. Beim eigentlichen Sperren ist die Screen Time API von iOS sogar richtig solide. Es liegt daran, dass iOS dich bei drei bestimmten Dingen einschränkt, und keins davon scheint dem Schutz der Nutzer zu dienen. Hier ist also meine Liste, jeweils mit dem, worum ich Apple bitten würde. Ich habe versucht, mich auf Dinge zu beschränken, die niemanden Privatsphäre kosten würden.
(Wenn du die technische Version willst, wie man mit dieser API baut, habe ich die separat aufgeschrieben: Was Apples Dokumentation dir nicht sagt.)
1. Es kann immer nur eine App die Bildschirmzeit nutzen
Angenommen, du nutzt schon Brick, Opal oder one sec und willst zusätzlich HonorFit ausprobieren. Auf dem iPhone geht das nicht. Wenn die zweite App um Zugriff auf die Bildschirmzeit bittet, zeigt iOS nicht einmal die Berechtigungsabfrage an. Es wirft einfach einen Fehler, laut dem Family Controls immer nur für eine App gleichzeitig verfügbar ist. Ich habe den Fehler selbst gesehen, und andere Entwickler stoßen auch darauf.
Um zu wechseln, musst du in Einstellungen › Bildschirmzeit › Apps mit Bildschirmzeitzugriff die andere App ausschalten und manchmal dein Handy neu starten. HonorFit erkennt den Fehler inzwischen und führt die Leute da durch, denn die rohe Fehlermeldung sagt einem normalen Menschen gar nichts.
Das Seltsame daran: Als Apple diese Art der Autorisierung auf der WWDC22 vorgestellt hat, hieß es, dass die individuelle Autorisierung, anders als die für die Kindersicherung, von beliebig vielen Apps auf einem Gerät genutzt werden kann. Heute passiert das nicht, und dokumentiert habe ich die Änderung nirgends gefunden.
Warum das nicht im Interesse der Nutzer ist: Leute kombinieren Werkzeuge. Jemand nutzt vielleicht einen Brick für harte Fokus-Sessions bei der Arbeit und HonorFit, um sich das Scrollen am Abend zu verdienen. Apple hat schon eine Regel, um Einschränkungen zu kombinieren: Wenn mehrere ManagedSettingsStores dieselbe Sache festlegen, gilt in Apples Worten "the most restrictive setting always wins" (die strengste Einstellung gewinnt immer). Wenn das auch über Apps hinweg gälte, könnten Leute beide nutzen, und ein Handy kann dadurch nur stärker gesperrt werden, nie weniger.
2. Die App-Auswahl ist umständlich, und Apps können sie nicht anpassen
Auf dem iPhone wählst du die zu sperrenden Apps über Apples FamilyActivityPicker aus. Das ist ein System-Sheet, das die App nicht verändern kann, abgesehen von einer Zeile Text oben und unten. Es öffnet sich mit einer Liste von Kategorien (Soziale Netzwerke, Spiele, Unterhaltung …), und du musst in eine Kategorie hineintippen, um die eigentlichen Apps zu finden. Auf Android baue ich die Liste selbst, also zeigt HonorFit deine installierten Apps sortiert danach, wie viel du jede in den letzten 24 Stunden genutzt hast.
Zwei Dinge stören mich an der iOS-Version:
- Man sperrt sehr leicht aus Versehen eine ganze Kategorie. Tippst du auf die Kategoriezeile, statt sie aufzuklappen, hast du gerade jede App darin ausgewählt, auch die, die du später installierst. Für viele Apps ist das nie das, was man will. Du willst Instagram und TikTok, nicht „Soziale Netzwerke“.
- Du siehst nicht, welche Apps dir wirklich den Tag fressen. Der ganze Grund, warum jemand einen App-Blocker öffnet, ist „Ich verbringe zu viel Zeit am Handy“. Die Auswahl ist genau der Moment, in dem man entscheidet, was gesperrt wird, und sie gibt einem null Information darüber, wo die Zeit hingeht. Dein iPhone weiß genau, wie lange du in jeder App warst (es steht direkt in den Einstellungen), aber die Auswahl zeigt es nicht.
Das würde keine Privatsphäre kosten. Die Auswahl wird von iOS in einem eigenen Prozess gezeichnet. Die App sieht nie, was darin steht, nur undurchsichtige Tokens für das, was du ausgewählt hast. HonorFit kann buchstäblich nicht erkennen, welche Apps du gewählt hast. iOS könnte also Nutzungszeiten direkt in der Auswahl anzeigen, und die App würde trotzdem nichts erfahren. Etwas Ähnliches macht Apple schon mit DeviceActivityReport-Extensions, die deine Nutzung in einer Sandbox anzeigen, die die App nicht lesen kann.
- Eine Option in der Auswahl für ganze Kategorien oder nur Apps, damit ein App-Blocker eine reine App-Liste ohne versehentliche Kategorie-Auswahl anbieten kann (und Websites ausblenden kann, wenn er sie nicht nutzt).
- Eine Option, nach gemessener Bildschirmzeit zu sortieren und sie anzuzeigen, neben jeder App und von iOS gerendert, sodass die App die Zahlen nie sieht.
3. Du siehst keinen genauen Countdown deiner restlichen Zeit
In HonorFit läuft deine verdiente Zeit nur ab, solange du wirklich in einer gesperrten App bist. Das Naheliegende ist also ein Countdown: „Noch 12:34“, der runterzählt, während du scrollst, und stehen bleibt, wenn du die App verlässt.
Auf Android ist das einfach. Der Hintergrunddienst von HonorFit prüft jede Sekunde, welche App auf dem Bildschirm ist, und die Mitteilung nutzt den eingebauten Countdown-Timer von Android, sodass die Benachrichtigungsleiste ihn von selbst jede Sekunde neu zeichnet. Du ziehst die Leiste runter und siehst sekundengenau, wie viel Zeit du noch hast.
Auf dem iPhone ist das nicht möglich, und zwar aus diesen Gründen:
- iOS sagt der App nie, wann du eine gesperrte App öffnest oder verlässt. Du bekommst nur Events nach dem Motto „so viel Nutzung hat sich angesammelt“. HonorFit setzt eins für jeweils 15 Sekunden Nutzung, und sie werden an eine Extension im Hintergrund zugestellt, die die Mitteilung aktualisiert.
- Eine normale Mitteilung kann nicht von selbst runterzählen, also kann HonorFit bestenfalls bei jedem Event neuen Text einsetzen. Deshalb steht in der iPhone-Mitteilung „Noch ~12:30“ mit Tilde: Sie springt in 15-Sekunden-Schritten.
- Diese Events kommen auch nicht immer pünktlich an. Unter iOS 26 habe ich gesehen, dass sie zu spät kommen oder mehrere auf einmal.
- Live-Aktivitäten können von selbst runterzählen, aber nicht pausieren. Nichts sagt der App, dass du Instagram verlassen hast, also würde eine Live-Aktivität weiterlaufen, während dein Handy auf dem Tisch liegt, und das wäre falsch.
iPhone-Nutzer bekommen also eine grobe Schätzung, Android-Nutzer die echte Zahl.
DeviceActivity-Event einen Countdown steuern, den iOS selbst rendert: in einer Mitteilung, einer Live-Aktivität oder dem Shield, und nur so lange, wie die überwachten Apps auf dem Bildschirm sind. iOS erfasst diese Nutzung schon sekundengenau, könnte die Zeit also anzeigen, ohne der App irgendetwas Neues zu geben. Schon einfache Callbacks „gesperrte App geöffnet / geschlossen“ an die Monitor-Extension würden das meiste lösen.Das war’s
Um fair zu Apple zu sein: Das Datenschutzmodell ist hier wirklich gut. Die App erfährt nie, was du gesperrt hast oder wie viel du es nutzt, und ich fände es schade, wenn sich das ändert. Keiner der drei Punkte oben würde daran etwas ändern. Sie würden iPhone-Apps nur so hilfreich machen, wie es die Android-Versionen schon sind.
Wenn du auch mit der Screen Time API baust und dir einen dieser Punkte wünschst, melde ihn bitte über den Feedback-Assistenten. Soweit ich weiß, werden Dinge durch doppelte Meldungen überhaupt erst bemerkt. Und wenn du die App einfach ausprobieren willst: HonorFit ist kostenlos für iPhone und Android. Vielleicht gefällt sie ja dem einen oder der anderen von euch!