Update 04. März 2024: Am späten Nachmittag des 1. März, wenige Tage vor dem Release von iOS 17.4, gab es ein denkwürdiges Ereignis: Apple ist ganz offiziell zurückgerudert und hat angekündigt, Homescreen-Apps auch mit und nach iOS 17.4 weiter zu unterstützen. Ursprünglich hatte Apple angekündigt, ab iOS 17.4 auf allen iPhones in der Europäischen Union keine Progressive Web Apps mehr auf dem Homescreen zu unterstützen.
Der Grund für diesen erfreulichen Sinneswandel? Darüber kann man nur spekulieren, aber die Sorge vor einer möglichen Sanktionierung durch die Europäische Union dürfte dazu beigetragen haben. Diese hatte jüngst angekündigt, neben der grundsätzlichen Umsetzung des DMA insbesondere auch den Wegfall von Homescreen-Apps genau zu untersuchen, was sicher auch ein Erfolg der Lobbyarbeit der OWA (Open Web Advocacy) ist.
Konkret bedeutet Apples Kehrtwende, dass PWAs weiterhin ausschließlich in Webkit ausgeführt werden. Die nächsten Monate werden zeigen, ob das tatsächlich den Anforderungen des DMA entspricht, oder ob Apple auch hier weitere Änderungen vornehmen und die Verwendung anderer Browser-Engines möglichen machen muss.
Was bisher geschah …
Ab hier gibt es den Original-Beitrag. Es ist zwar alles nicht mehr so schlimm, aber die Tipps wollen wir euch dennoch nicht vorenthalten.
Was sich anhand der ersten Betaversionen von iOS 17.4 bereits angekündigt hat, ist seit dem Erscheinen von Beta 3 am 15.02.2024 offiziell: Apple entfernt mit dem Erscheinen von iOS 17.4 auf allen iPhones in der europäischen Union den Support für Progressive Web Apps (PWAs).
Was bedeutet das? Welche Funktionalität geht verloren? Und vor allem: Welche Optionen habe ich als Betreiber einer PWA, um meine Benutzer in zwei Wochen nicht zu verlieren? Listen, learn, read on.
Was ist eine PWA, und was ist der Business Case dafür?
“Progressive Web App” wird als Sammelbegriff für Webanwendungen verwendet, die unter Benutzung verschiedener modernen Browserschnittstellen Funktionalität bieten, die der einer nativen App entspricht.
Sowohl auf Android als auch auf iOS kann eine gute PWA im Browser auf den Homescreen “installiert” werden. Von dort wird sie wie eine native App über ihr Icon gestartet, wird im Vollbild (ohne Browser-UI) angezeigt und taucht in der Task-Verwaltung des Systems als eigenständige Anwendung auf. Das Cachen ihrer Ressourcen durch einen Service Worker erlaubt die Verwendung der PWA auch ohne Netzwerkverbindung, und diverse weitere Browserschnittstellen erlauben das Versenden von Push-Nachrichten, die Benutzung von Mikrofon und Kamera, das Speichern großer Datenmengen auf dem Gerät und vieles mehr. Dieselbe Funktionalität steht übrigens auch auf dem Desktop zur Verfügung – auch dort erlauben Chrome, Edge und Safari die “Installation” der PWA als eigenständige Anwendung und bieten dieselbe Funktionalität.
Die Vorteile davon?
Unabhängigkeit von App Store und Play Store
Im Gegensatz zu einer normalen App wird zum Vertrieb einer PWA der App Store nicht benötigt. Es ist kein Review durch den Betreiber notwendig und Updates können jederzeit durch einfaches Aktualisieren der Webanwendung verteilt werden.
Das ist besonders praktisch bei Anwendungen, für die der “normale” Vertrieb über den Store nicht in Frage kommt. Wie etwa bei unternehmensinternem Anwendungen für eine geschlossene Benutzergruppe oder Use Cases, die den Richtlinien von Apple oder Google nicht entsprechen.
Einheitliche Platform und vereinheitlichte Entwicklung
Trotz ihrer Funktionalität ist eine PWA nichts weiter als eine Webanwendung, die dadurch alle relevanten Plattformen gleichzeitig bedienen kann: iOS, Android, der Desktop und den Webbrowser. Die Entwicklung erfordert keinen Invest in die unterschiedlichen Plattformen und die Wartung wird vereinfacht.
Apple verabschiedet sich von PWA
Obwohl wir uns schon lange an den Appstore gewöhnt haben, unterstützte die erste Version von iOS tatsächlich gar keine nativen Anwendungen. Der vorgesehene Weg war es, speziell präparierte Webseiten als “Homescreen-App” (in Apple-Sprech) auf den Homescreen zu legen und wie die eingebauten Anwendungen zu verwenden.
Homescreen-Apps sind also schon immer Bestandteil von iOS. Einmal auf den Homescreen gelegt, wird die PWA in einem separaten WebKit-Container dargestellt, hat ihren eigenen, vom Browser getrennten Storage und verhält sich für den Benutzer wie eine native Anwendung. Apples Unterstützung der einschlägigen Browserschnittstellen wird zwar oft kritisch gesehen, aber über die letzten Jahre wurden viele APIs für PWAs implementiert, insbesondere Service Worker und Support für Push-Nachrichten.
Warum ändert sich das?
Mit dem Release von iOS 17.4 setzt Apple die Vorgaben des europäischen Digital Markets Act (DMA) um, der grob gesagt eine Gleichbehandlung von Anbietern von Apps und insbesondere Browsern fordert, die so bisher nicht gegeben ist: Apps können bis dato öffentlich nur über Apple vertrieben werden – und jeder Browser muss Webkit als Engine verwenden.
Durch den DMA muss Apple sich öffnen und damit insbesondere auch alternative Browser mit ihren eigenen Engines zulassen. Apples Argumentation bzgl. PWAs verläuft nun folgendermaßen: die exklusive Ausführung von PWAs in WebKit stellt ab dem 06.03.2024 eine unzulässige Bevorzugung von WebKit dar. Um weiter PWAs als Homescreen-Apps anbieten zu können, müsste Apple die Benutzung anderer Browser als Engine für selbige anbieten. Dafür wären neue Betriebssystemschnittstellen zur Integration notwendig (zumindest, wenn die Isolation – und damit die Sicherheit- nicht aufgeweicht werden soll), deren Schaffung zu aufwendig sei.
Apples Lösung? “Homescreen-Apps” sind ab 17.4 nur einfache Weblinks, die sich in einem Tab in dem gerade ausgewählten Default-Browser öffnen.
Was geht verloren?
Natürlich funktioniert eine gut geschriebene Webanwendung auch in einem Browsertab, aber bei näherem Hinsehen geht eine ganze Menge Funktionalität verloren.
User Experience
Ein Browsertab hat eine Navigationsleiste. Der App-Switcher zeigt statt der Anwendung nur Safari an. Ein Wechsel zu einer anderen Webseite muss in Safari passieren. Ein falsche Tipper löst eine Navigation aus.
Kurzum: es gehen sowohl wertvolle Bildschirmfläche als auch die Anmutung einer App verloren. Und für viele Benutzer hat das Benutzen einer App einen anderen Stellenwert als die Nutzung einer Webseite. Die Attraktivität der App sinkt.
Push Notifications
Die Implementierung von Push-Nachrichten für Webapps steht unter iOS nur für Homescreen-Apps zur Verfügung. Mit dem Wegfall dieses Features verlieren PWAs diese Fähigkeit. Ersatzlos.
Persistenz
Seit etlichen Jahren versucht Apple, die Benutzer von Safari durch “Intelligent Tracking Protection” (ITP) vor unerwünschtem Tracking im Netz zu schützen. Dieser Schutz wird unter anderem dadurch gewährleistet, dass alle von einer Webseite lokal gespeicherten Daten automatisch gelöscht werden, wenn die Seite länger als sieben Tage nicht geöffnet wurde.
Diese automatische Löschung betrifft alle – wirklich alle – Daten, also Cookies, Local Storage und IndexedDB und betrifft ohne Ausnahme alle in Safari (oder jedem beliebigen anderen WebKit-Browser) geöffneten Seiten. Die Einzige Ausnahme sind … Homescreen-Apps. Bisher.
Mit dem Wegfall von Homescreen-Apps werden PWAs zu gewöhnlichen Webseiten und sind ab sofort von ITP betroffen. Wird eine PWA länger als sieben Tage nicht benutzt, gehen alle gespeicherten Daten verloren und die Seite präsentiert sich beim nächsten Besuch wieder wie am ersten Tag.
Der einzige “Workaround” ist die vollständige Deaktivierung von ITP (“Cross Site Tracking verhindern”) in den Einstellungen, was aber einem Benutzer kaum vermittelbar sein dürfte und auch nicht wünschenswert ist.
Verlust aller bisher gespeicherten Daten
Vor dem Update auf 17.4 konnte eine PWA mehrfach auf dem Homescreen abgelegt sein und jede Instanz hatte ihre eigene Datenhaltung. Nach dem Update wird die App im Browser geöffnet und alle bisher von einer Homescreen-Variante gespeicherten Daten gehen ohne Vorwarnung unwiderruflich verloren.
Warum Modernisierung scheitert
Ein Leitfaden für Projektverantwortliche
Dieses Whitepaper gibt Dir einen umfassenden Überblick über die wirklichen Herausforderungen der Softwaremodernisierung und zeigt Dir praktische Lösungswege auf. Als besonderes Extra findest Du eine Checkliste, die Dir dabei hilft, die Modernisierung erfolgreich umzusetzen.
Welchen Ausweg habe ich für den Betrieb meiner PWAs?
Die Änderungen in iOS 17.4 können erhebliche Einschränkungen für eine ausgerollte PWA darstellen; je nachdem, welche Funktionalität von der App abgedeckt wird. Außerdem kann der Verlust von Daten beim Update ein großes Ärgernis für Benutzer darstellen. Welche Auswege gibt es, um die Benutzer dennoch zu halten und ihnen auch in Zukunft ein gutes Erlebnis zu bieten?
Kommunizieren Sie mit Ihren Benutzern
Noch sind ca. 10 bis 12 Tage Zeit bis zum finalen Release von iOS 17.4 Anfang März. Nehmen Sie Kontakt zu Ihren Benutzern auf und bereiten Sie diese auf die anstehenden Änderungen vor. Push-Nachrichten sind dafür ein ausgezeichneter Weg, aber auch eine Benachrichtigung beim Starten der PWA ist ein gutes Mittel, um möglichst viele Benutzer zu erreichen.
Ermöglichen Sie ein Backup
Lokal gehaltene Daten Ihrer Anwendung werden mit dem Update auf 17.4 verloren gehen. Schaffen Sie eine Möglichkeit, diese Daten online oder lokal als Dateien zu sichern und nach dem Update erneut zu importieren – und weisen Sie Ihre Benutzer in der Kommunikation darauf hin.
Stellen Sie sicher, dass Ihre Anwendung als Webseite gut funktioniert
Dieser Punkt mag trivial klingen, aber wenn Ihre Anwendung bisher vorwiegend als Homescreen-App genutzt wurde, gibt es möglicherweise Verbesserungspotential beim Betrieb als Webseite. Verhält sich die Seite bei den verschiedenen Konfigurationen der Toolbar korrekt (oben, unten, minimiert, maximiert, …)? Ist der Home-Indikator (der Balken unten am Rand des Geräts) ihrem Content im Weg? Gibt es eine Möglichkeit, mehr Platz auf dem Bildschirm zu schaffen oder Fehlbedienung durch versehentliches Tippen auf die Navigationsleiste zu verhindern?
Reduzieren Sie den Impact des Sieben-Tage-Limits
Die durch ITP vorgegebene Lebensdauer von sieben Tagen für lokale Daten ohne Interaktion ist in WebKit derzeit nicht verhandelbar – es gibt keinen Workaround. Das Überleben der Daten Ihrer Benutzer hängt also an der Benutzung der App. Sorgen sie dafür, dass Ihre Benutzer gerne und regelmäßig mit der App interagieren. Natürlich können Sie versuchen, Ihre Benutzer über einen geeigneten Kanal regelmässig zu aktivieren (Push-Nachrichten stehen allerdings nicht mehr zur Verfügung), aber der beste Weg zu regelmäßiger Nutzung ist eine hochwertige App, die einen erheblichen Mehrwert bietet.
Wenn Ihre Anwendung über die nötige serverseitige Infrastruktur (Authentifizierung, Datenhaltung, etc.) verfügt, so können Sie die Daten unter Umständen transparent auf dem Server spiegeln. In diesem Falle gehen die Daten zwar nach sieben Tage ohne Interaktion lokal verloren, sind aber nach einem erneuten Login wieder verfügbar.
Falls Ihre App lokale Daten hält, die für den Benutzer wichtig sind und nicht automatisch auf einem Server gesichert werden können, so sollten Sie das durch die ITP vorgegebene Limit dem Benutzer transparent machen. Und falls Sie bereits im Vorfeld eine Möglichkeit für eine lokale Sicherung und Wiederherstellung durch das Speichern von Dateien geschaffen haben (siehe oben), dann hilft das Ihren Benutzern auch in Zukunft, größere Schäden durch die ITP zu vermeiden.
Verpacken Sie Ihre PWA in eine App und finden Sie einen Weg zur Verteilung
Für manche Features, die durch den Wegfall von Homescreen-Apps verloren gehen, gibt es keinen Ausweg im Rahmen einer reinen Web-App. Dies betrifft insbesondere Push-Nachrichten, aber auch das Browser-UI und ITP können nicht umgangen werden.
Eine native Hülle
Ein möglicher Ausweg aus diesem Dilemma ist das Verpacken ihrer PWA in eine native Anwendung. Das klingt aufwendiger, als es tatsächlich ist – es gibt dafür bereits fertige Vorlagen im Internet. Das Ergebnis ist eine native Anwendung, die Ihre PWA in einem WebView lädt und ohne Browser-UI darstellt. Dabei sollte sie die Domain Ihrer Anwendung als “App-Bound Domain” konfigurieren, was ITP für alle auf dieser Domain abgelegten Daten deaktiviert – die Daten Ihrer Benutzer bleiben also wie bei einer Homescreen-App erhalten!
Auch ein bestehender Service Worker funktioniert mit dieser Lösung weiter, so dass auch die vorhandene Offlinefähigkeit Ihrer App voll erhalten bleibt. Für Updates Ihrer PWA müssen Sie selbstverständlich auch weiterhin nicht die native App aktualisieren, sondern es genügt eine Aktualisierung der Webanwendung. Push-Nachrichten stehen zwar auch im WebView nicht zur Verfügung, können aber durch Kommunikation zwischen der nativen “Hülle” und dem PWA im WebView nachgerüstet werden.
PWABuilder
Hervorheben möchte ich PWABuilder, ein von Microsoft gegründetes Open-Source-Projekt, um PWAs in native Apps zu verpacken. Der dazugehörige Dienst ist kostenlos und erzeugt anhand der URL Ihrer PWA automatisch eine native Anwendung, die als fertiges XCode-Projekt heruntergeladen werden kann. Auch bestehende Homescreen-Icons und die Informationen aus einem Web-Manifest werden automatisch übernommen.
Die mit PWABuilder automatisch erzeugte App verhält sich ohne jeden manuellen Eingriff fast vollständig wie eine Homescreen-App. Der erzeugt Swift-Code ist gut anpassbar und bereits auf Push-Nachrichten vorbereitet. Die API im WebView für Push-Nachrichten entspricht zwar nicht dem “normalen” Web-Standard, die notwendigen Anpassungen in einer bestehenden PWA sind aber überschaubar.
Verteilung
Mit dem Verpacken in eine native Anwendung können Sie fast alle Funktionalität einer Homescreen-App wiederherstellen. Was bleibt, ist das Problem der Verteilung. Je nach Anwendungsfall können Sie versuchen, Ihre native App zur Verteilung im App Store einzureichen, aber des Ergebnis des Reviews bei einer so verpackten Webapp ist schwer absehbar.
Handelt es sich bei Ihrer PWA um eine unternehmensinterne Anwendung, so können Sie diese über eine evtl. bereits bestehende MDM (Mobile Device Management)-Infrastruktur auf die Geräte Ihrer Mitarbeiter verteilen.
Sind beide Verteilungswege nicht möglich, so ist das Verpacken in eine native Anwendung bei allen Vorteilen leider derzeit eine Sackgasse. Allerdings zwingt der DMA Apple, mit 17.4 in den Ländern der EU Unterstützung für App Stores von Drittanbietern einzuführen. Die Hürden für den Betrieb eines solchen Stores sind hoch, aber es ist abzusehen, daß in den kommenden Monaten solche Drittstores entstehen werden und sich so vielleicht eine weitere Möglichkeit zur Verteilung ergibt.
Prüfen Sie andere Browser
Im Augenblick müssen alle Browser im App Store WebKit als Engine verwenden und unterliegen somit denselben Einschränkungen wie Safari. Insbesondere die ITP und die Unterstützung von Push-Nachrichten betreffen auch alle anderen Browser im Store.
Allerdings zwingt der DMA Apple, mit 17.4 in der EU auch andere Browser-Engines zuzulassen. Sollten Chrome und Firefox in Zukunft “echte” Versionen ihrer Browser in der EU veröffentlichen, so dürfte das Featureset im Wesentlichen der Funktionalität unter Android entsprechen – ohne ITP und vermutlich mit Push-Support.
Behalten Sie also die Entwicklung im Auge: die Verwendung Ihrer PWA in einem anderen Browser könnte die Einschränkungen von Safari also in Zukunft umgehen.
Stellen Sie weiterhin sicher, dass Ihre App als PWA und Homescreen-App gut funktioniert
Bei allem Ärger über den Wegfall von Homescreen-Apps sollten Sie nicht vergessen, dass “nur” die Länder der EU von den Änderungen betroffen sind, und diese sich außerdem zur Zeit nur auf iPhones beziehen – iPads sind derzeit von dem DMA ausgenommen.
Sollte Ihre App einen internationalen Benutzerkreis haben oder auf iPads benutzt werden, so wird es also auch in Zukunft Benutzer geben, die Ihre PWA als Homescreen-App benutzen. Stellen Sie sicher, daß Ihre App auch diesen Benutzern weiterhin ein gutes Erlebnis bietet.
Darüber hinaus ist auch die Entwicklung des Supports unter iOS in der Zukunft nicht absehbar. Es ist durchaus denkbar, dass Apple durch Zeit, Druck oder Änderungen an der Gesetzeslage die Unterstützung von PWAs auch in der EU wieder zurückbringt.
Fazit
Der Wegfall des Supports von Homescreen-Apps ist ärgerlich und für die Betreiber von PWAs in Europa ein erhebliches Problem. Der tatsächliche Impact ist sehr vom Anwendungsfall abhängig, kann aber die Benutzung der App erheblich einschränken und in Einzelfällen sogar das darunter liegende Geschäftsmodell bedrohen.
Die von Apple genannten Gründe für den Wegfall sind technisch durchaus nachvollziehbar und können leicht als unerwartete Auswirkung einer Überregulierung durch die EU gedeutet werden. Andererseits ist die Ausnutzung des Monopols innerhalb der eigenen Platform durchaus Teil des Geschäftsmodells von Apple … und der DMA ist auch ein begrüßenswerter Versuch, dieses Modell aufzubrechen. Apple hätte die Möglichkeit gehabt, die Auswirkungen des Wegfalls z. B. durch Änderungen an der ITP erheblich abzufedern, und auch eine Unterstützung von anderen Browser-Engines für PWAs ist technisch möglich, wenn auch aufwändig.
Auch wenn die langfristigen Auswirkungen des DMA auf iOS und das Ökosystem noch nicht absehbar sind, die konkreten Probleme durch den Wegfall von Homescreen-Apps sind sehr akut. Eine generelle Lösung gibt es nicht, aber je nach Anwendungsfall können die Auswirkungen teilweise vermindert oder ganz vermieden werden.
Sie benötigen Support?
Sie haben Fragen, benötigen Unterstützung oder Beratung bei der Anpassung Ihrer PWA? Wir sind unter den Rufnummern unten jederzeit für einen Quick Call zu haben. Oder noch besser: Sie füllen unser Kontaktformular aus und wir verabreden uns für einen vorbereiteten ersten Austausch. Unsere Experten freuen sich auf Sie.
Mehr Informationen zur Verarbeitung Ihrer Daten und zu Ihrem Widerrufsrecht finden Sie in unserer Datenschutzerklärung.
Schreibe einen Kommentar