Ein Mechanismus, mit dem Chrome neue Browserfunktionen testen kann
Vielleicht haben Sie schon von Chrome-Varianten oder Chrome Field Trials oder dem internen Codenamen Chrome Finch gehört.
Dies sind alles Namen für den gleichen Zweck: ein Mechanismus zum Testen neuer Funktionen oder Änderungen am Chrome-Browser oder von ChromeOS, dem Chrome-Betriebssystem, das auf Chromebooks ausgeführt wird.
Wofür werden Chrome-Varianten verwendet?
Mit Chrome-Varianten kann Chrome eine neue Funktion aktivieren, deaktivieren oder eine Änderung für eine Untergruppe von Nutzern ausprobieren.
Nicht alles in Chrome wird mithilfe des Mechanismus der Chrome-Varianten eingeführt. Das Chrome-Team kann jedoch Chrome-Varianten verwenden, wenn eine Änderung besonders sorgfältig sein muss oder wenn das Risiko besteht, dass eine Änderung die Leistung auf eine Weise beeinträchtigt, die wir nicht erwartet haben. Eine „Änderung“ kann eine Leistungssteigerung im Code von Chrome, eine Aktualisierung des Aussehens oder der Funktionsweise des Browsers oder gelegentlich sogar eine Änderung an einer JavaScript API bedeuten.
Mit Chrome-Varianten lässt sich auch eine Hypothese zu einer Änderung oder Aktualisierung aufstellen. Bei einem Prozentsatz von Nutzern in einer Gruppe von Chrome-Varianten haben wir beispielsweise versucht, die QUIC-Netzwerkprotokollparameter anzupassen, um Chrome für die tatsächlichen Netzwerkbedingungen der Nutzer schneller zu machen.
Chrome-Varianten können auch im Rahmen der Ursprungstests von Chrome auftreten. Standardmäßig ist eine Ursprungstestfunktion auf allen Seiten aktiviert, auf denen ein gültiges Testtoken angegeben wird. In einigen Fällen wird jedoch mit Chrome-Varianten die Aktivierung einer Funktion gesteuert. Das bedeutet, dass ein Ursprungstestfunktion für bestimmte Nutzer möglicherweise nicht verfügbar ist, selbst wenn sie eine Seite besuchen, die ein gültiges Testtoken bereitstellt. Informationen zum Anteil der Nutzer, die für die Aktivierung einer Ursprungstestfunktion infrage kommen, finden Sie in der Dokumentation und in Updates für jeden Ursprungstest.
Wie funktionieren Chrome-Varianten?
Der Browser sendet alle 30 Minuten auf einem Computer oder Mobilgerät bzw. bei jedem Start von Chrome eine Anfrage an das Chrome-Back-End, um die Konfigurationsdatei für Chrome-Varianten abzurufen. Diese Datei wird als Startwert für die Varianten bezeichnet. Mit anderen Worten: Es gibt einen dedizierten Server für die Bereitstellung von Seeds für Chrome-Varianten. Chrome sendet eine HTTPS-Anfrage an den Server, der als Antwort einen Delta-komprimierten Startwert zurückgibt.
Wenn Chrome auf Ihrem Gerät das Back-End der Chrome-Varianten kontaktiert, um die Startdatei abzurufen, werden auch Informationen zur Chrome-Version und zum Betriebssystem bereitgestellt. Die vom Chrome-Varianten-Back-End zurückgegebene Datei wird verwendet, um Funktionen zu aktivieren, zu deaktivieren oder Varianten einer Funktion anzugeben.
Chrome verwendet die Daten in der Seed-Datei und einen lokal gespeicherten Zufallsgenerator, um den Browser zufällig einer Variantengruppe zuzuweisen. Mit anderen Worten: Der Randomisierungs-Seed kann zusammen mit der Startdatei aus dem Chrome-Varianten-Back-End verwendet werden, um Funktionen im Browser für eine Untergruppe von Nutzern zu aktivieren oder zu deaktivieren. Die Variantengruppe wird vom Browser auf Ihrem Gerät erfasst.
Einführung von Funktionen und Chrome-Versionen
Chrome-Varianten dienen vor allem dazu, schrittweise Änderungen oder neue Funktionen für einen Teil der Chrome-Clients bereitzustellen. Dies ist entscheidend für eine komplexe Anwendung wie Chrome, die von Milliarden von Nutzern mit Tausenden von Gerätetypen auf verschiedenen Plattformen genutzt wird, die Dutzende verschiedener Sprachen für Millionen verschiedener Apps und Websites nutzen.
Chrome erhält wertvolles Feedback durch die Nutzung und Tests in Chrome Canary, Chrome Dev und Beta. Mit den Chrome-Varianten lassen sich Funktionen in jeder dieser Release-Versionen aktivieren oder deaktivieren. Diese Kanäle werden jedoch hauptsächlich von Entwicklern und anderen Spezialisten verwendet. Nutzer der stabilen Version von Chrome interagieren anders und in viel größerer Anzahl mit Chrome. Daher müssen wir Validierungen immer auf der stabilen Version durchführen. Auf diese Weise können wir Probleme ausräumen, die bei der normalen Browsernutzung auftreten. Chrome-Entwickler können nicht immer vorhersagen, wie echte Nutzer in großem Maßstab auf Änderungen und neue Funktionen reagieren werden.
Chrome-Varianten sind ein wichtiger Mechanismus, der dabei hilft, die Nutzung und Messwerte der stabilen Chrome-Version zu prüfen, wenn eine Funktion aktiviert oder deaktiviert ist. Wenn wir die Auswirkungen von Änderungen an der stabilen Version von Chrome messen, können wir die bestmöglichen Funktionen bereitstellen und einen besseren Browser entwickeln – auch wenn die Kompromisse komplex sind.
Wann verwenden Chrome-Entwickler Chrome-Varianten?
Chrome-Varianten sind aus drei Gründen erforderlich.
Eine neue Funktion aktivieren
Die Verwendung von Chrome-Varianten, mit der Sie die Aktivierung einer neuen Funktion steuern können, ist besonders nützlich, wenn dies in irgendeiner Weise riskant ist oder die Leistung beeinträchtigt.
Mithilfe von Chrome-Varianten können wir einer Untergruppe von Nutzern eine neue Funktion zur Verfügung stellen. Die Chrome-Entwickler können dann nach Leistungsunterschieden suchen oder sich andere Arten von Feedback aus der Variantengruppe ansehen.
Funktion deaktivieren
Chrome-Varianten können als Sicherheitsmechanismus zum Deaktivieren einer Funktion verwendet werden. Dies kommt jedoch selten vor.
Beispielsweise kann eine neue Netzwerkfunktion einem Denial-of-Service-Angriff ausgesetzt werden. Mit Chrome-Varianten lässt sich eine solche Funktion schnell deaktivieren, da die Konfiguration der Chrome-Varianten alle 30 Minuten heruntergeladen und die Einstellungen bei jedem Neustart von Chrome aktiviert werden. Im Gegensatz dazu wären die Aktualisierung von Chrome und das Warten, bis die neue Version an Milliarden von Nutzern weitergegeben wird, viel langsamer.
Änderungen an einem Element ausprobieren
Mit Chrome-Varianten lassen sich Änderungen und Aktualisierungen validieren. Zum Beispiel könnten wir den Schwierigkeitsgrad für das Chrome Offline Dino-Spiel anpassen, damit die Interaktion noch mehr Spaß macht.
Mit Chrome-Varianten lassen sich auch die Langzeitwirkungen neuer Funktionen untersuchen. Dazu wird der Mechanismus für Chrome-Varianten verwendet, um Funktionen für einen kleinen Teil der Nutzer, vielleicht 1% oder weniger, zurückzuhalten. Eine Holdback-Gruppe kann nützlich sein, um nach Änderungen und Nebenwirkungen zu suchen, die erst im Laufe der Zeit sichtbar werden.
Eine Holdback-Gruppe kann besonders wichtig für Änderungen an der Benutzeroberfläche sein, bei denen Nutzer wahrscheinlich mit einer neuen Funktion interagieren, sich aber auf lange Sicht anders verhalten können.
Wir haben beispielsweise eine Bildauswahl in Chrome eingeführt, die jedoch einem kleinen Prozentsatz der Nutzer vorübergehend zurückgehalten wurde, um die Ergebnisse zu vergleichen. Wir haben die neue Android-Bildauswahl an einen hohen Anteil unserer Nutzer versendet und anfangs einen deutlichen Anstieg in der Anzahl der Bilder festgestellt, die von Gruppen im Web geteilt wurden. In den sechs Monaten, in denen es die Holdback-Variante gab, stellten wir jedoch einen deutlichen Rückgang der Nutzung fest. Das liegt daran, dass Websites bei der Verfügbarkeit der neuen Bildauswahl das Attribut „accept“ (zunehmen) den Dateieingabeelementen hinzugefügt werden sollten. Das verbesserte die Nutzung für alle Nutzer.
Wie werden Chrome-Varianten zur Validierung verwendet?
Wenn die Einstellung zur Verbesserung der Funktionen und der Leistung von Chrome aktiviert ist (chrome://settings/syncSetup?search=improve
), kann Chrome Messwerte automatisch überwachen und an das Chrome-Back-End senden. Dazu wird ein Mechanismus verwendet, der als Nutzermesswertanalyse (UMA) bezeichnet wird. Beispiele für die anonymen Nutzungsstatistiken von Chrome finden Sie unter chromestatus.com/metrics. Sie sehen beispielsweise, wie viel Prozent der Seitenladevorgänge eine CSS-Eigenschaft oder eine HTML- oder JavaScript-Funktion verwenden.
Chrome-Varianten sind besonders nützlich, um Statistiken einer Nutzergruppe mit einer anderen zu vergleichen. Beispielsweise kann eine Funktion für einige Nutzer aktiviert werden und für andere nicht. Chrome kann dann die Messwerte für jede Gruppe vergleichen. Diese Messwerte können Arbeitsspeichernutzung, Seitenladezeiten oder die Nutzung einer Browserfunktion umfassen. So können Chrome-Entwickler die Leistung oder andere Messwerte zwischen Nutzern vergleichen, die eine Funktion aktiviert haben, Nutzern, die die Funktion deaktiviert haben, oder Nutzern mit verschiedenen Funktionsvarianten.
Feldtests für Chrome-Varianten
Jeder Satz von Varianten für eine Funktion wird als Studie oder Feldtest bezeichnet und hat eine feste Dauer. Sobald eine Studie für eine Funktion abgeschlossen ist, erhalten alle Nutzer, die in eine nicht standardmäßige Verhaltensgruppe aufgenommen wurden, die Chrome-Standardeinstellung für die Funktion: entweder aktiviert oder deaktiviert.
Die meisten Funktionen, die von Chrome-Varianten gesteuert werden können, entsprechen einem Flag, das auf der Seite chrome://flags
festgelegt werden kann. Wenn Sie Chrome über die Befehlszeile ausführen, können Sie auch die Flags --enable-features
und --disable-features
verwenden, um Chrome-Varianten zu konfigurieren.
Das Flag --reset-variation-state
erzwingt das Zurücksetzen des Status der Chrome-Varianten für den aktuellen Client. Das bedeutet, dass der Client möglicherweise zu verschiedenen Gruppen der Chrome-Varianten wechseln kann.
Chrome-Varianten für Unternehmen
Für Unternehmenskunden stellt Chrome außerdem die ChromeVariations-Richtlinie zur Verfügung, mit der Chrome-Varianten verwaltet werden können. Natürlich empfehlen wir, Chrome-Varianten aktiviert zu lassen, damit wichtige Sicherheitskorrekturen schnell durchgeführt werden können.