Safari 11: WebRTC, Media Capture, WebAssembly und viele weitere Neuerungen

Anlässlich der Entwicklerkonferenz WWDC hat Apples WebKit-Team in dieser Woche eine Vielzahl an grossen Neuerungen für Safari angekündigt. Eine Übersicht.

Stefan Rechsteiner

Wie Apple seitenübergreifendes Tracking verhindern will

Mit einer Technologie namens «Intelligente Tracking-Verhinderung» will Safari sowohl im neuen iOS 11 wie auch im neuen macOS in Version 10.13 aka «High Sierra» seitenübergreifendes Tracking unterbinden. Der Erfolg des Webs als Plattform, so die WebKit-Entwickler in einem Artikel zum Thema, sei auf das Vertrauen der Nutzer angewiesen. Durch das Werbe-Tracking und der Erhebung von privaten Verhaltens-Daten zu Profilen werde dieses Vertrauen aber gebrochen.

Mittels sogenanntem «Cross-Origin-» oder «Cross-Site Loading» können Webseiten auf Ressourcen wie Bilder und Scripts von fremden Webseiten zugreifen. Während dies eine mächtige und nützliche Funktion für das Web ist, können darauf basierend aber auch Profile erstellt und anhand dessen massgeschneiderte Werbung eingeblendet werden. Die Werbe-Praxis ist wohl schon jedem einmal aufgefallen: Man besucht einen Online Shop, schaut sich dort ein Angebot an und besucht die Webseite danach nicht mehr — erhält in der Folge aber auf gefühlt jeder anderen Webseite Werbung eben dieses zuvor einmal besuchten Online Shops.

In Testläufen seien die WebKit-Entwickler auf populäre Webseiten gestossen, die «über 70 Tracker» einsetzen, welche im Hintergrund solche Nutzerdaten sammeln.

Lokales maschinelles Lernen

Apples Browser identifiziert künftig entsprechende Technologien auf Webseiten und hindert diese an der Ausführung und der Sammlung von Daten.

Statt dabei aber auf eine Liste von blockierten Ressourcen zu setzen, wird Safari künftig Webseiten automatisch erkennen, die über andere Seiten hinweg das Verhalten der Nutzer verfolgen. Safari lernt dabei das Verhalten des Nutzers, führt Statistik über den Aufruf von Ressourcen und über Interaktionen wie Klicks, Text-Eingaben und ähnliches. Wie das WebKit-Team im ausführlichen Blog-Eintrag schreibt, passiert dies alles nur lokal auf dem eigenen Gerät, nicht in der Cloud und auch an Apple werde davon nichts geschickt.

Mit lokalem maschinellem Lernen wird Safari auf diesen Daten basierend potentielle Werbe-Tracker erkennen und auf dem Gerät gespeicherte Cookies und weitere Daten automatisch löschen, sofern der Nutzer mit der Webseite nicht innerhalb von 30 Tagen direkt interagiert hat — auch dann, wenn weiter neue Daten hinzugefügt werden.

Wird eine Webseite vom Nutzer direkt aufgerufen und von ihm darauf Interaktionen ausgeführt, können die Cookies für 24 Stunden auf einer anderen Webseite eingesetzt werden. Dadurch werden auch Login-Dienste sichergestellt à la «Mit Benutzerkonto von X auf Y anmelden» oder Single Sign-On.

Das führt dazu, dass die Nutzer nur noch über langzeit-persistente Cookies und Webseiten-Daten von Webseiten verfügen, mit denen sie tatsächlich interagieren — Tracking-Daten werden derweil proaktiv von Safari während dem Browsen gelöscht.

Mit der intelligenten Tracking-Verhinderung will WebKit ein «Gleichgewicht» zwischen Privatsphäre und dem Bedarf von Webseiten an lokalem Speicher ermöglichen. Die WebKit-Entwickler sind sich dabei bewusst, dass die neue Schutzfunktion auch bei einer legitimen Speicherung von Webseiten-Daten zu Problemen führen könnte. Das Team hat dazu im Blog-Beitrag einige Leitlinien veröffentlicht, wie Webseiten-Entwickler solche Probleme umgehen können.

Kein Werbe-Blocker

Bei «Intelligent Tracking Prevention» handelt es sich jedoch nicht um einen Werbe-Blocker. Einen solchen hat Apple bislang nicht in Safari eingebaut. Seit iOS 9 gibt es aber mit «Content Blockern» eine Technologie, die das Ausblenden von bestimmten Webseiten-Inhalten erlauben. Damit können auch Werbe-Banner ausgeblendet werden.

JavaScriptCore ♥ ES6

In einem ausführlichen Artikel beschreibt das Apple-Team hinter WebKit die Entwicklung des ersten ES6-Benchmarks von WebKit — ARES-6.

ES6, auch ES2015, ist die neueste Version von JavaScript.

Safari neu mit Unterstützung für WebAssembly

In WebKit gibt es neu eine vollständige Unterstützung von WebAssembly. Apple selbst beschreibt WebAssembly als einen «Nicht-Unsinnigen Sidekick zu JavaScript». Bei der Technologie handelt es sich um ein Low-Level Binary Format, mit welchem Browser andere Sprachen als JavaScript ausführen können — beispielsweise C++ — womit ein Performance-Schub für Web-Applikationen erhofft wird. Der Zugriff auf die DOM bleibt derweil auch bei WebAssembly weiterhin auf JavaScript limitiert. Mehr Informationen zu WebAssembly und dessen Implementierung in die Browser-Engine von Safari haben die Entwickler im WebKit-Blog veröffentlicht.

Google und Mozilla haben in Chrome und Firefox jüngst Unterstützung für das neue Bytecode-Format eingeführt. In Microsoft Edge ist WebAssembly hinter einer Experimental Feature Flag implementiert, dürfte aber in einer künftigen Version des Browsers ebenfalls voll aktiviert werden.

Neue Regeln für Auto-Play-Videos auf dem Mac

Vor einem Jahr führte Apple neue Regeln für das Abspielen von Videos auf iOS ein, nun folgen auch neue Richtlinien für automatisch abspielende Videos auf dem Mac. Unter macOS High Sierra nutzt Safari eine «automatische Inferenz-Engine», die Medien-Inhalte mit Ton daran hindert, automatisch abgespielt zu werden — Safari 11 unterbindet damit neu die automatische Wiedergabe von Videos mit Ton.

Nutzer der neuen Safari-Version können einzelne Webseiten freischalten, denen Auto-Play von Video- und Audio-Inhalten mit Ton dem eigenen Gusto nach gestatet ist. Die entsprechende Option findet sich in den Safari-Einstellungen in einem neuen «Webseiten»-Reiter oder in einem neuen Menü-Eintrag «Einstellungen für diese Webseite …».

Mit einer neuen Energie-Spar-Funktion werden zudem neu Videos ohne Audio vom automatischen Abspielen gehindert, wenn sich diese in einem Fenster oder Tab im Hintergrund oder sonst ausserhalb der angezeigten Bildschirmfläche befindet.

Safari unterstützt künftig WebRTC

Mit dem kommenden Safari 11 für iOS 11 und macOS High Sierra wird neu das Protokoll Web-based Real-Time Communications, kurz «WebRTC», unterstützt. Mit WebRTC können Video-Konferenzen direkt und ohne Plug-In über den Browser geführt werden.

Für die Implementierung des Protokolls setzt Apple auf die «Media Capture»-API und das quelloffene LibWebRTC-Framework. Unterstützt werden zudem moderne Codes wie Opus für Audio und H.264 für Video.

Bevor der Browser nun aber bei jedem WebRTC-Einsatz Mikrofon und Kamera übernimmt, muss der Nutzer bei jedem Dienst den Zugriff aktiv erlauben. In den Einstellungen kann der Zugriff auch komplett deaktiviert werden.

Apple ist der letzte grosse Browser-Hersteller, der seinem Produkt Unterstützung für diese Technologie hinzufügt. Vorprescher war Google mit Chrome im Jahr 2012, Mozillas Firefox folgte 2013 und in Edge von Microsoft ist WebRTC seit diesem Frühling verfügbar.

WebRTC bildet unter anderem die technische Grundlage für bekannte Dienste wie Slack, Google Hangouts und Facebook Messenger aber auch beispielsweise Snapchat.

Weitere Neuerungen in Safari 11

Neben vielen weiteren Neuerungen welche über die letzten Monate bereits ihren Weg in WebKit und die Technologie-Vorschau von Safari gefunden haben, gehören ausserdem folgende Neuerungen zu Safari 11:

Resource Timing
Mit neuen Instrumenten können Web-Entwickler den Code und die Netzwerk-Performance der einzelnen Webseiten-Ressourcen noch detaillierter messen. Neu unterstützt werden Resource Timing Level 2, Performance Timing Level 2 und User Timing Level 2.
Bessere Unterstützung von Homescreen-Apps
Web-Applikationen die auf den Homescreen von iOS abgelegt werden, haben neu Zugriff auf alle modernen WebKit-Funktionen — darunter neu auch Fast-Tap, Scroll Snapping und das neue visuelle ViewPort-Verhalten.
Variable Fonts und CSS Stroke
Die im CSS Fonts Module 4 hinzugefügten neuen Schrift-Eigenschaften «Variable Fonts» und die neuen Stroke-Eigenschaften werden neu von Safari unterstützt.
WebSocket-Verbindungen und Nachrichten
In den Webinformationen von Safari 11 können WebSocket-Verbindungen und Nachrichten debugged werden.

Alles Neue testen mit Safari Technology Preview 32

In der neuesten der alle zwei Wochen erscheinenden Technologie-Vorschau für Safari können alle in dieser Woche vorgestellten Neuerungen ausgetestet werden. «Safari Technology Preview 32» kann für macOS Sierra heruntergeladen werden. Mit der neuen 32. Version ist die Technologievorschau nun auch für die neuen Vorabversionen von macOS High Sierra verfügbar.

Weitere Artikel zu den WWDC17-Neuerungen


macprime sucht Verstärkung!

Zur Verstärkung für unser kleines Team suchen wir am besten per Sofort folgende Unterstützung:

Beide Tätigkeiten sind nebenberuflich und wie alles auf macprime ehrenamtlich. Ausführliche Details zu den Aufgabenbereichen und Anforderungen finden sich in den Stellenausschreibungen.


Gönner-Abo

Ab CHF 5.– im Monat

👉🏼 Wir benötigen deine Unterstützung! Unterstütze macprime mit einem freiwilligen Gönner-Abo und mache die Zukunft unseres unabhängigen Apple-Mediums aus der Schweiz mit möglich.

macprime unterstützen