Jeden anderen Bildschirm in dieser App hast du selbst geöffnet. Diesen nicht – du hast auf etwas anderes getippt, und stattdessen hat dich die Sperre erwischt. Dieser Unterschied verändert die technische Aufgabenstellung komplett. Ein Bildschirm, den du angefordert hast, darf sich einen Moment Zeit lassen; niemand schaut dabei auf die Stoppuhr. Ein Bildschirm, der dich unterbricht, hat nur eine Chance, sich nicht wie ein Aussetzer des Telefons anzufühlen – und die muss er in weniger als einer Drittelsekunde beweisen.
Die eine Messgröße, die zählt
Nicht die Länge der Intro-Animation – die Lücke, bevor sie beginnt. Tür, Hereinkommen, Boden, Decke, Tafel, Schild, Uhr: Die Abfolge hat einen festen Zeitplan, und jede dieser Verzögerungen wurde einzeln festgelegt und von Hand nachgeprüft. Das alles zählt nichts, wenn der Tap selbst mit einem Ruckler beginnt. Ein wunderschöner 800-ms-Auftritt hinter einem 400 ms langen leeren weißen Frame liest sich als „diese App ist langsam“ – Punkt. Der Feinschliff wird nie gesehen, weil das Urteil schon beim leeren Frame gefallen ist.
Das eigentliche Ziel ist also nicht „die Animation wirkt geschmeidig“. Es ist: „Etwas erscheint, bevor der Nutzer Zeit hat, sich zu fragen, ob der Tap überhaupt angekommen ist.“ Das ist ungefähr das gleiche Budget wie ein Wechsel zwischen System-Apps – ein paar hundert Millisekunden – und damit ein deutlich strengerer Maßstab, als die meisten Übergänge innerhalb einer App erfüllen müssen.
Die Sperre darf sich nicht selbst blockieren
Das Klassenzimmer kann nicht auf das Netzwerk warten. Welche Frage auch gestellt wird, sie muss aus Daten stammen, die schon vor deinem Tap auf dem Gerät lagen – vorab abgerufen und zwischengespeichert, zu deinen Bedingungen, nicht erst angefragt in dem Moment, in dem du schon genervt auf einen Ladekreis starrst. Ist der Cache einmal leer, ist das ehrliche Scheitern eine schlichtere, statische Fragekarte – kein Ladekreis vor einem Lehrer, der noch gar nicht aufgetaucht ist.
Dieselbe Regel gilt für Assets. Eine Font-Anfrage oder ein Bildabruf auf dem kritischen Pfad ist eine Abhängigkeit davon, dass das Netzwerk genau in dem Moment schnell ist, in dem du gerade unterbrochen wirst – also genau dann, wenn deine Geduld am kleinsten ist. Dass diese Website ihre vier Schriften selbst hostet, folgt demselben Instinkt wie die App: Nichts, was das Intro braucht, darf ausfallen, nur weil jemand schlechtes Hotel-WLAN hat.
Wohin die Frames wirklich gehen
Nur günstige Animationseigenschaften – Position und Deckkraft, also solche, die ein Telefon bewegen kann, ohne das Layout darunter neu zu berechnen, nie etwas, das mitten in der Sequenz einen Reflow erzwingt. Ein Klassenzimmer, das derart oft erscheinen muss, kann sich nicht eine einzige Eigenschaft leisten, die auf einem älteren Gerät teuer ist – denn „älteres Gerät“ ist hier kein Randfall, sondern ein großer Teil derjenigen, die genau in dem Moment ihr Telefon halten, in dem sie nach etwas Gesperrtem greifen.
Die logische Folge: Das meiste, was im Intro wie Bewegung aussieht, ist eigentlich sehr wenig Bewegung, nur gut inszeniert. Eine Tür, die sich öffnet, eine Figur, die vier Schritte geht, eine Tafel, die einschwingt – nichts davon sind viele Pixel, die sich ändern, sondern viele *zeitlich abgestimmte* Pixel, die sich ändern. Das ist ein günstigerer Trick, als es von außen aussieht.
Wo wir uns noch unsicher sind
Der Kaltstart ist die ehrliche Lücke. Die allererste Unterbrechung nach einem Neustart des Telefons oder nachdem die App im Hintergrund beendet wurde, ist langsamer als jede danach, weil noch nichts „warm“ ist – keine zwischengespeicherte Frage, keine bereits geparsten Schriften, kein JS-Bundle schon im Speicher. Für diese erste Tap-Steuer haben wir keine saubere Lösung, außer die App so schlank wie möglich zu halten und zu hoffen, dass das Betriebssystem sie nicht zu eifrig aus dem Speicher wirft. Wenn sich deine allererste Sperre des Tages einen Tick langsamer anfühlt als der Rest, liegt es daran – und das ist uns bewusst, nicht einfach hingenommen.
Low-End-Android ist die andere offene Frage – die Telefone, für die das am meisten zählt, weil ein zweisekündiges Stolpern dort einen viel größeren Anteil des 300-ms-Budgets ausmacht als bei einem Flaggschiff. Wir entwickeln gegen diese Einschränkung, nicht gegen das Gerät, das wir zufällig gerade in der Hand halten.