Die häufigste Klage beim Zeitunglesen im Netz betrifft nicht das Design, sondern den Tunnel. Leser öffnen die Ausgabe zu Hause und lesen sie im Zug zu Ende, der zwischen den Bahnhöfen das Netz verliert. In Inkfold 1.1 haben wir das E-Paper zu einer installierbaren Web-App gemacht, die die geöffnete Ausgabe offline lesbar hält. Kein App-Store, keine zweite Codebasis.
Ein Manifest aus den Redaktionseinstellungen
Das Web-App-Manifest ist eine Route, keine statische Datei. Es übernimmt Name, Slogan und Markenfarbe aus den Einstellungen des Verlags und nennt drei Icons: ein skalierbares SVG sowie PNGs mit 192 und 512 Pixeln, das größere als maskable markiert, damit Android es in jede Form zuschneiden kann. Ändert die Redaktion den Namen der Zeitung, ändert sich auch der Name der installierten App, ohne dass etwas neu gebaut werden muss.
Ein Service Worker mit drei einfachen Regeln
Den Service Worker haben wir so klein gehalten, dass man ihn in einem Zug lesen kann:
- Seitenbilder und Assets: cache-first. Ihre Dateinamen enthalten einen Zufallsteil und ändern sich nie, eine gespeicherte Kopie ist also immer korrekt.
- HTML: network-first. Online bekommen Leser immer die heutige Titelseite; die gespeicherte Kopie dient nur, wenn das Netz ausfällt.
- Redaktion und Leserkonten werden nie gespeichert. Anfragen an den Adminbereich und die Kontoseiten gehen direkt ins Netz.
Die Caches tragen eine Versionsnummer, und eine alte Version wird gelöscht, sobald ein neuer Service Worker aktiv wird. Ein Release hinterlässt so keine veralteten Dateien.
Der Reader fordert die ganze Ausgabe an
Nur zu speichern, was der Leser zufällig angesehen hat, ließe Lücken. Beim Öffnen einer Ausgabe schickt das Reader-Skript dem Service Worker deshalb eine Nachricht mit dem mittleren Bild jeder Seite, die der Besucher sehen darf, und der Worker lädt die fehlenden im Hintergrund, bis zu achtzig pro Ausgabe. Gesperrte Premiumseiten stehen nie auf dieser Liste, denn ihre Bilder werden Besuchern ohne Zugang gar nicht erst geschickt.

Artikel für später merken
Offline-Lesen passt gut zu einer Leseliste. Angemeldete Leser können jetzt einen Artikel oder Ausschnitt mit einem Tipp speichern; er erscheint auf der Kontoseite mit Titel, Datum und Seite. Der Endpunkt ist idempotent, ein Doppeltipp speichert denselben Artikel also nicht zweimal, und er prüft zuerst den Zugang: Ein Artikel auf einer gesperrten Seite einer Premiumausgabe kann nur speichern, wer ihn auch lesen darf.

Das Wichtigste
- Das Manifest aus den Einstellungen erzeugen, damit die App der Marke folgt.
- Cache-first für unveränderliche Dateien, network-first für HTML, nichts für private Bereiche.
- Die Seite dem Service Worker sagen lassen, was eine vollständige Offline-Kopie braucht.
- Inhalte, die der Besucher nicht sehen darf, nie speichern und gar nicht erst senden.
Zuvor in dieser Reihe: eine Doppelseitenansicht. Installieren Sie die Inkfold-Demo über das Browsermenü Ihres Smartphones; die Software gibt es bei Charming Theme.
Ihre Zeitung auf dem Startbildschirm der Leser? Sprechen wir darüber — ArtinTech Solution baut Progressive Web Apps für Verlage.