Zum Inhalt springen
Chandler Nguyen
KI10 Min. Lesezeit

KI

Native ist kein Anstrich: Wie ich die iOS-App von DIALØGUE neu gebaut habe

Ich habe die iOS-App von DIALØGUE als Port des Web-Produkts veröffentlicht und sie dann nativ neu gebaut — drei Tabs, Audio auf dem Sperrbildschirm, ein synchronisiertes Transkript, robustes Offline und Siri — denn eine Web-App, die man auf ein Handy schrumpft, bleibt eine Web-App.

Ich habe die iOS-App von DIALØGUE vor Monaten als Port des Web-Produkts veröffentlicht. Dann habe ich fast alles davon als native App neu gebaut.

Sie ist jetzt live im App Store — wenn du neugierig bist, probier sie ruhig aus. Der Rest hier handelt davon, was sich geändert hat, und warum.

Der Unterschied klingt nach Wortklauberei, bis du beide Versionen in der Hand hältst. Die erste war die Web-App, auf ein Handy geschrumpft: dieselben Tabs, derselbe Erstellungs-Wizard, dasselbe Dashboard. Sie kompilierte, sie lief, sie kam durch das Review. Und sie fühlte sich an wie eine Website im App-Kostüm.

Eine Web-App, die man auf ein Handy schrumpft, bleibt eine Web-App. Native ist kein Anstrich über deinem Web-Layout — es ist ein anderer Vertrag mit dem Gerät. Genau diesen Vertrag hatte ich übersprungen, und ihn beim Neubau einzuhalten, hat die Tabs verändert, das Audio, die Hörfläche, das Offline-Verhalten und die Art, wie die App startet. Hier ist, was das konkret bedeutet hat, Screen für Screen.

Der Port war ein Dashboard

Die erste Version ging davon aus, die Aufgabe der App sei es, den Generator freizulegen. DIALØGUE macht KI-Podcasts, also dachte ich: Pack jede Web-Fläche auf den Bildschirm, und du bist fertig.

Was dabei herauskommt, ist ein Dashboard. Fünf Tabs, ein mehrstufiger Wizard, Panels für alles. Niemand öffnet eine Podcast-App, um ein Dashboard zu bedienen. Man öffnet sie, um aus einer Idee Audio zu machen, um etwas Selbstgemachtes zu hören oder um eine Show zu starten, die man schon mal aufgesetzt hat. Das geportete Interface hat das Layout der Web-App geschützt. Diese drei Aufgaben hat es nicht geschützt.

Also begann der Neubau beim Allerersten, was du siehst.

Drei Tabs, weil ein Handy Tabs bestraft

Die alte App öffnete mit fünf Tabs: Library, Studio, Create, Credits, Profile. Genau das bekommst du, wenn du eine Web-App portest — jede Web-Fläche verdient sich einen Tab.

Die neu gebaute App hat drei: Listen, Create, You.

Zwei Tabs haben es nicht überlebt. Credits ist kein Ziel mehr — niemand öffnet eine App, um auf einen Kontostand zu starren. Das wanderte in „You", und der einzige Moment, der wirklich zählt — wenn dir das Guthaben ausgeht, genau wenn du generieren willst —, blendet jetzt exakt dort ein Kauf-Sheet ein. Studio ist kein Ort mehr. Daraus wurde Series — ein gespeichertes Setup (Hosts, Tonfall, Format, Sprache, Quell-Muster), das in Create lebt und in Listen als Sammlung auftaucht, statt eines Tabs, der so tut, als wäre er ein Regieraum. Aus Library und Profile wurden die schlichteren „Listen" und „You".

Auf dem Desktop ist ein zusätzlicher Tab umsonst. Auf dem Handy ist jeder Tab eine Steuer auf die Aufmerksamkeit. Der Neubau hat diese Steuer abbezahlt.

Series-Screen der iOS-App von DIALØGUE zum Speichern eines wiederholbaren Podcast-Setups
Series — ein gespeichertes Setup in Create, kein Regieraum mit eigenem Tab.

Audio so, wie iOS es erwartet

Hier hört „Native ist ein Vertrag" auf, abstrakt zu sein.

Die geportete App war nicht audio-blind. Sie tauchte schon auf dem Sperrbildschirm mit Play, Pause und Skip auf, sie pausierte bei einem Anruf, und sie stoppte, wenn du die Kopfhörer rauszogst. Das ist das absolute Minimum, und das war da.

Was sie nicht konnte: sich wie eine echte Audio-App verhalten, sobald der Bildschirm gesperrt war. Du konntest die Wiedergabeposition nicht vom Sperrbildschirm aus ziehen. Es gab dort kein Cover-Artwork — nur Text. Es gab keinen AirPlay-Button, keinen Sleeptimer, und Skip war fest auf fünfzehn Sekunden, ob es dir passte oder nicht.

Der Neubau hat diese Lücke mit der Plattform geschlossen, nicht um sie herum. Der Sperrbildschirm trägt jetzt dynamisches Episoden-Artwork und einen Scrubber, den du an jede beliebige Stelle ziehen kannst. Es gibt AirPlay, einen Sleeptimer, der die Lautstärke ausblendet, statt sie hart abzuschneiden, und ein Skip-Intervall, das du von zehn bis sechzig Sekunden einstellen kannst — was dann auch die Buttons auf dem Sperrbildschirm steuert, denn die Systemsteuerung sollte mit der App übereinstimmen. Die Audio-Session deklariert sich als gesprochenes Audio, also behandelt das OS sie wie Sprache, nicht wie Musik.

Nichts davon ist glamourös. Genau das ist der Punkt. Auf dem Handy ist Audio, das Sperrbildschirm und AirPlay ignoriert, nicht „minimalistisch". Es ist kaputt — in genau den Momenten, in denen Menschen tatsächlich hören: beim Gehen, beim Autofahren, mit dem Handy in der Tasche.

Ein Transkript, das nur ein KI-Podcast bauen kann

Hier kommt der Teil, der wirklich uns gehört, nicht nur gute iOS-Hygiene ist.

Während eine Episode läuft, zeigt die App ein synchronisiertes Transkript: Die aktuelle Zeile wird hervorgehoben, die Ansicht scrollt automatisch mit, um sie zentriert zu halten, und du kannst jede Zeile antippen, um direkt an diese Stelle zu springen. Eine generische Podcast-App kann das nicht wirklich, weil sie nicht weiß, was wann gesagt wurde. DIALØGUE weiß es — es hat das Skript generiert, also kennt es die Struktur der Episode bereits.

Das ehrliche Engineering-Detail: Eine Zeile ist nur dann antippbar, wenn das Audio exaktes Timing pro Segment hat. Ist das Timing ungefähr, wird die Zeile zwar angezeigt, lässt sich aber nicht ansteuern — und die App tut nicht so, als ob doch. Dasselbe Segment-Timing zeichnet Kapitelmarken direkt auf den Scrubber, sodass du eine Episode wie Audio überfliegen kannst, aber mit einer Landkarte dessen, was das System erstellt hat. Das Transkript zeigt sogar, welcher Host welche Zeile gesagt hat, weil das Skript als Dialog zwischen zwei Hosts geschrieben wurde.

Das ist der Unterschied zwischen einem Transkript, das man auf einen Player schraubt, und dem generierten Skript als Quelle der Wahrheit für das gesamte Hörerlebnis zu behandeln.

Zwei Dinge machen das möglich, und keines davon erscheint auf dem Screen. Das Backend stempelt jedes Segment mit Start- und Endzeit und markiert, ob das Timing exakt ist oder nur geschätzt — damit die App dich eine exakt getimte Zeile antippen lassen kann und bei einer geschätzten still und leise verzichtet, statt zu schummeln. Und deine Wiedergabeposition wird auf dem Server gespeichert, nicht nur auf dem Gerät — also hält „mach da weiter, wo du aufgehört hast" auch dann, wenn du eine Episode im Web startest und auf dem Handy zu Ende hörst.

Screen mit synchronisiertem Transkript der iOS-App von DIALØGUE mit antippbaren Transkript-Karten zum Springen
Synchronisiertes Transkript — tippe eine Zeile an, um zu springen. Möglich nur, weil die App das Skript generiert hat und das Timing kennt.

Offline, das einen echten Arbeitsweg übersteht

Die App konnte von Anfang an Episoden herunterladen. Das ist nichts Neues, und das will ich präzise sagen. Was der Neubau hinzugefügt hat, ist Robustheit — der Unterschied zwischen einem Download-Feature und einem Offline, dem du vertrauen kannst.

Ein unterbrochener Download setzt jetzt dort wieder an, wo er stoppte, statt von vorn anzufangen, weil die App die Resume-Daten des Systems pro Episode speichert und von dort neu startet. Es gibt eine Wi-Fi-only-Option, die Mobilfunk wirklich verbietet, sodass ein anstehender Download auf Wi-Fi wartet, statt klammheimlich dein Datenvolumen zu verbrennen. Downloads laufen höchstens drei gleichzeitig in einer FIFO-Queue, statt das Netz zu überrennen. Es gibt eine Speicher-Ansicht, um zu sehen und zu löschen, was auf dem Gerät liegt. Und die kurzlebigen Fetches, die bei wackliger Verbindung scheitern, versuchen es mit Backoff erneut — drei Versuche, eine halbe Sekunde, die bis zu einem Limit wächst, und nie ein Retry bei einem Abbruch durch die Nutzerin oder den Nutzer.

Erneut zu versuchen ist leicht; erneut zu versuchen, ohne gegen jemanden anzukämpfen, der auf Abbrechen getippt hat, ist der Teil, der Offline auf einer schlechten U-Bahn-Verbindung solide anfühlen lässt, statt dass es ewig dreht.

Offline-Hör-Screen der iOS-App von DIALØGUE mit Steuerung für heruntergeladene Episoden
Offline war schon immer da. Der Neubau hat es robust gemacht — Resume, Wi-Fi-only, Speicher-Steuerung, eine gedeckelte Queue.

Sofort da, weil ein Spinner sich wie kaputt anfühlt

Auf dem Handy ist Latenz ein Gefühl, keine Zahl. Ein Spinner beim Kaltstart liest sich als „diese App ist kaputt", selbst wenn alles in Ordnung ist.

Die geportete App lud bei jedem Kaltstart jedes Cover-Bild neu herunter, also öffnete sich die Bibliothek als eine Wand aus Spinnern. Der Neubau hat einen gemeinsamen Memory-und-Disk-Cache für Cover-Artwork ergänzt — die Disk-Ebene überlebt Neustarts, die Memory-Ebene hält das Scrollen flüssig, und der Sperrbildschirm nutzt denselben Cache für sein Artwork. Eine Episode wieder zu öffnen wartete früher auf einen Netzwerk-Roundtrip; jetzt sind die Segmente und das Transkript pro Episode gecacht und rendern sofort, dann aktualisieren sie sich leise im Hintergrund. Außerdem habe ich den Wiedergabe-Tick im Halbsekundentakt aus den Listenzeilen herausgenommen, damit der Timer nicht mehr die ganze Bibliothek zwingt, sich neu zu zeichnen.

Es ist kein Feature, das man screenshotten kann. Es ist der Spalt zwischen einer App und einer Website.

Sie meldet sich, wenn die Episode fertig ist

Einen Podcast zu generieren dauert Minuten, nicht Sekunden — es gibt Recherche, ein Outline, ein Skript, dann Audio. Die geportete App ließ dich die ganze Zeit auf einen Fortschrittsbalken starren. Die native App nicht.

Mit deiner Erlaubnis schickt sie eine Push-Benachrichtigung, sobald deine Episode fertig ist, sodass du das Handy sperren, etwas anderes tun und zurückkommen kannst, wenn es brummt. Das Device-Token wird serverseitig gespeichert, nur der Benachrichtigungs-Job kann es lesen, und du kannst die ganze Sache in den Einstellungen abschalten. Es ist ein kleines Stück Klempnerei — eine Tabelle, ein Worker, Apples Push-Dienst — aber es verändert die gefühlte Form des Produkts von „warte auf diesem Screen" zu „ich sag dir Bescheid, wenn es fertig ist".

Der Workflow kann von außerhalb der App starten

Eine native App lebt nicht nur in ihrem eigenen Fenster. Der Neubau hat Siri- und Kurzbefehle-Unterstützung über App Intents ergänzt, sodass „erstelle einen Podcast", „weiterhören" und „öffne meine Podcasts" als gesprochene Befehle funktionieren, in der Kurzbefehle-App und in Spotlight — keine besonderen Entitlements nötig. Die Entscheidung, was „weiterhören" tun soll (die aktuelle Episode fortsetzen oder die Bibliothek öffnen, wenn nichts geladen ist), ist eine winzige reine Funktion, die ich für sich allein per Unit-Test prüfen konnte — genau die Art Sache, die verhindert, dass das Siri-Verhalten abdriftet.

Es gibt außerdem ein zurückhaltendes dreiseitiges Willkommen beim ersten Start — erstellen, Stimmen, überall hören —, einmal gezeigt, und Deep Links, damit ein angetippter Link den richtigen Screen öffnet, statt dich auf dem Home-Tab abzuladen. Kleine Dinge. Sie sind der Unterschied zwischen einer App, die auf dem Handy sitzt, und einer, die zu ihm gehört.

Ein Wort dazu, wo ich aufgehört habe: Es gibt noch keine Homescreen-Widgets, keine Live Activities und kein CarPlay — jedes davon braucht seine eigene Extension oder ein von Apple gewährtes Entitlement, und ich habe entschieden, zuerst den Hör-Kern auszuliefern. „Native" ist hier eine Richtung, keine abgehakte Liste.

Die Lektion, die ich daraus mitnehme

Wenn du etwas auf eine neue Plattform portest, ist der verlockende Zug, es dort zum Laufen zu bringen und das für erledigt zu erklären. Es wird laufen. Es wird sich auch geliehen anfühlen.

Native ist ein Vertrag mit dem Gerät: Respektiere den Sperrbildschirm, die Wechsel der Wiedergabe-Routen, die Offline-Realität, die Systemflächen, die Menschen ohnehin schon nutzen. Ein Port ehrt dein altes Layout. Eine native App ehrt die Konventionen der Plattform — auch wenn das bedeutet, Tabs zu löschen und Screens neu zu schreiben, die du schon ausgeliefert hattest.

Ich habe keine dramatischen Install- oder Retention-Zahlen, mit denen ich wedeln könnte — die aktuelle Version ist live im App Store, und das ist der ehrliche Stand. Der eigentliche Test war nie, ob die Screenshots nativ aussehen. Er ist, ob jemand eine Episode macht, sie auf einem Spaziergang mit gesperrtem Handy hört und zurückkommt, um die nächste zu machen.

Wenn du für Mobile baust, würde mich interessieren, wo du die Grenze ziehst: Wann reicht „es läuft auf dem Handy", und wann zwingt dich der Vertrag der Plattform zum Neubau?

Häufig gestellte Fragen

Was hat sich beim iOS-Neubau von DIALØGUE geändert?

Die App ging von einem Port des Web-Produkts zu einem nativen Neubau. Die Informationsarchitektur sank von fünf Tabs auf drei (Listen, Create, You). Das Hörerlebnis bekam ein synchronisiertes Transkript zum Antippen-und-Springen, Kapitelmarken, Scrubbing und Artwork auf dem Sperrbildschirm, AirPlay, einen Sleeptimer und konfigurierbare Skip-Intervalle. Offline-Downloads wurden robust, die App cacht Cover-Artwork und Segmente für ein Sofort-Gefühl, Siri/Kurzbefehle lassen die Kernaktionen von außerhalb der App starten, und eine Push-Benachrichtigung sagt dir, wann eine Episode fertig ist.

Warum wurden aus fünf Tabs drei?

Weil ein Handy jeden zusätzlichen Tab bestraft. Credits war kein Ort, den jemand besuchen wollte, also faltete es sich in „You" plus ein Kauf-Sheet, das auftaucht, wenn das Guthaben tatsächlich knapp wird. Studio wurde zu Series — ein gespeichertes Setup in Create statt eines eigenen Tabs. Aus Library und Profile wurden die schlichteren „Listen" und „You".

Welche nativen iOS-Features hat der Neubau ergänzt?

Scrubbing und dynamisches Artwork auf dem Sperrbildschirm, AirPlay, einen Sleeptimer mit Lautstärke-Ausblendung, konfigurierbare Skip-Intervalle (10–60 s), die auch die Steuerung auf dem Sperrbildschirm bedienen, Kapitelmarken auf dem Scrubber, ein synchronisiertes Transkript zum Antippen-und-Springen, robuste Offline-Downloads (Resume, Wi-Fi-only, Speicherverwaltung, gedeckelte Queue), gemeinsame Caches für Cover-Artwork und Segmente für sofortiges Rendering, Siri-/Kurzbefehle-Intents, „Episode fertig"-Push-Benachrichtigungen, serverseitige Wiedergabeposition, die zwischen Web und Handy fortsetzt, Deep Links und ein Onboarding beim ersten Start.

Funktioniert das synchronisierte Transkript bei jeder Episode?

Eine Transkript-Zeile ist nur dann zum Springen antippbar, wenn das Audio exaktes Timing pro Segment hat. Ist das Timing ungefähr, wird die Zeile zwar angezeigt, lässt sich aber nicht ansteuern — und die App tut nicht so, als ob doch. Das Transkript ist möglich, weil DIALØGUE das Skript generiert hat, also kennt es die Struktur und wer was gesagt hat.

Was ist der Unterschied zwischen Studio und Series?

Studio suggerierte einen Regieraum voller Regler. Series ist einfach ein gespeichertes Setup — Hosts, Tonfall, Format, Sprache und Quell-Muster —, mit dem du die nächste Episode starten kannst, ohne alles neu zu konfigurieren. Es ist ein Preset in Create, kein eigenständiger Tab.

Wie unterscheidet sich das von den Audio-Übersichten von NotebookLM?

NotebookLM ist wirklich nützlich, und kostenlos, um aus deinen Quellen eine schnelle Audio-Übersicht zu machen. DIALØGUE versucht, ein vollwertiges natives Hörprodukt obendrauf auf der Generierung zu sein: Outline- und Skript-Review vor jedem Audio, Stimmauswahl, ein synchronisiertes Transkript zum Antippen-und-Springen, Kapitel, Steuerung auf dem Sperrbildschirm und per AirPlay, Offline-Downloads, Siri und Series für wiederkehrende Shows. Der ehrliche Unterschied ist weniger „wer generiert das bessere Audio" als vielmehr „was passiert mit der Episode, nachdem sie existiert".

Hat der Neubau Offline-Hören hinzugefügt?

Offline-Downloads gab es schon. Der Neubau hat sie robust gemacht: Unterbrochene Downloads setzen wieder an, statt neu zu starten, es gibt eine Wi-Fi-only-Option und eine Speicher-Ansicht, Downloads laufen höchstens drei gleichzeitig, und kurzlebige Netzwerkfehler versuchen es mit Backoff erneut, ohne gegen jemanden anzukämpfen, der abbricht.

Das war's von mir für jetzt.

Viele Grüße, Chandler