Was sind Chrome-Varianten?

Ein Mechanismus für Chrome zum Testen neuer Browserfunktionen

Vielleicht haben Sie schon von Chrome-Varianten, Chrome-Field-Trials oder sogar vom internen Codenamen Chrome Finch gehört.

Dies sind alle Namen für dasselbe: einen Mechanismus zum Testen neuer Funktionen oder Änderungen im Chrome-Browser oder in Chrome OS, 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 an einer Funktion für einen Teil der Nutzer ausprobieren.

Nicht alle Funktionen von Chrome werden über die Chrome-Varianten eingeführt. Das Chrome-Team kann Chrome-Varianten jedoch verwenden, wenn Änderungen besonders vorsichtig sein müssen oder das Risiko besteht, dass eine Änderung die Leistung auf unerwartete Weise beeinträchtigt. Eine „Änderung“ kann eine Leistungssteigerung im Chrome-Code, eine Aktualisierung des Aussehens oder der Funktionsweise des Browsers oder gelegentlich auch eine Änderung an einer JavaScript API bedeuten.

Chrome-Varianten können auch verwendet werden, um eine Hypothese zu einer Änderung oder Aktualisierung zu bestätigen. Beispielsweise haben wir für einen Teil der Nutzer in einer Gruppe von Chrome-Varianten versucht, die QUIC-Netzwerkprotokoll-Parameter anzupassen, um Chrome an die tatsächlichen Netzwerkbedingungen der Nutzer anzupassen.

Ein weiterer Bereich, in dem Chrome-Varianten begegnen können, sind die Ursprungstests von Chrome. Standardmäßig ist eine Ursprungstestfunktion auf allen Seiten aktiviert, die ein gültiges Testtoken enthalten. In einigen Fällen werden jedoch Chrome-Varianten verwendet, um die Aktivierung einer Funktion zu steuern. Das bedeutet, dass eine Ursprungstestfunktion für bestimmte Nutzer möglicherweise nicht verfügbar ist, selbst wenn sie eine Seite mit einem gültigen Testtoken besuchen. Informationen zum Anteil der Nutzer, die zur Aktivierung einer Ursprungstestfunktion berechtigt sind, finden Sie in der Dokumentation und den Updates für jeden Ursprungstest.

Wie funktionieren Chrome-Varianten?

Auf einem Computer oder Mobilgerät sendet der Browser alle 30 Minuten bzw. jedes Mal, wenn Sie Chrome starten, eine Anfrage an das Chrome-Back-End, um die Konfigurationsdatei für Chrome-Varianten abzurufen. Diese Datei wird auch als Start der Variante bezeichnet. Mit anderen Worten: Es gibt einen dedizierten Server, um die Quellinformationen für Chrome-Varianten bereitzustellen. Chrome sendet eine HTTPS-Anfrage an den Server und der Server antwortet mit einem deltakomprimierten Startwert.

Informationen zum Browser und Betriebssystem, die an das Back-End für Chrome-Varianten gesendet werden; der Start von Chrome-Varianten an den Browser, der einen zufälligen Startwert hat.

Wenn Chrome auf Ihrem Gerät das Back-End für Chrome-Varianten kontaktiert, um die Quelldatei abzurufen, werden auch Informationen zur Chrome-Version und zum Betriebssystem bereitgestellt. Mit der vom Chrome-Varianten-Back-End zurückgegebenen Datei können Funktionen aktiviert und deaktiviert oder Varianten einer Funktion angegeben werden.

Chrome verwendet die Daten in der Quelldatei und einen lokal gespeicherten Randomisierungsseed, um den Browser nach dem Zufallsprinzip einer Variantengruppe zuzuweisen. Mit anderen Worten: Der Randomisierungsseed kann zusammen mit der Quelldatei aus dem Chrome-Varianten-Back-End dazu verwendet werden, Funktionen im Browser für eine Untergruppe von Nutzern zu aktivieren oder zu deaktivieren. Der Browser auf Ihrem Gerät erfasst, zu welcher Variantengruppe er gehört.

Einführung von Funktionen und Chrome-Versionen

Einer der wichtigsten Anwendungsbereiche für Chrome-Varianten ist die schrittweise Einführung von Änderungen oder neuen Funktionen für einen bestimmten Prozentsatz der Nutzer. Das ist entscheidend für eine komplexe Anwendung wie Chrome, die Milliarden von Nutzern mit Tausenden von Gerätetypen auf mehreren Plattformen hat, die Dutzende verschiedener Sprachen für Millionen von verschiedenen Apps und Websites verwenden.

Chrome erhält wertvolles Feedback aus der Nutzung und den Tests in Chrome Canary, den Entwickler- und Betaversionen. Wir können Chrome-Varianten verwenden, um Funktionen innerhalb dieser Release-Versionen zu aktivieren oder zu deaktivieren. Diese Kanäle werden jedoch hauptsächlich von Entwicklern und anderen Spezialisten genutzt. Nutzer der stabilen Chrome-Version interagieren unterschiedlich mit Chrome, und zwar in erheblich größerer Anzahl, sodass wir immer die stabile Version prüfen müssen. So können Probleme im Zusammenhang mit der normalen Browsernutzung behoben werden. Chrome-Entwickler können nicht immer voraussagen, wie echte Nutzer in großem Umfang auf Änderungen und neue Funktionen reagieren werden.

Chrome-Varianten sind dabei ein entscheidender Mechanismus. So können Sie die Nutzung und Messwerte der stabilen Chrome-Version prüfen, wenn eine Funktion aktiviert oder deaktiviert ist. Wenn wir die Auswirkungen der Änderungen in der stabilen Chrome-Version messen, können wir die bestmöglichen Funktionen bereitstellen und einen besseren Browser entwickeln, selbst wenn die Vor- und Nachteile komplex sind.

Wann verwenden Chrome-Entwickler Chrome-Varianten?

Es gibt drei Hauptgründe, warum Chrome-Varianten für Chrome benötigt werden.

Neue Funktion aktivieren

Die Verwendung von Chrome-Varianten zur Steuerung der Aktivierung einer neuen Funktion ist besonders nützlich, wenn dies in irgendeiner Weise riskanter sein oder die Leistung beeinträchtigen könnte.

Mit den Chrome-Varianten können wir eine neue Funktion für eine Untergruppe von Nutzern einführen. Anschließend können Chrome-Entwickler 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 ein neues Netzwerkfeature einem Denial-of-Service-Angriff ausgesetzt werden. Mit Chrome-Varianten können Sie solche Funktionen schnell deaktivieren, da die Konfiguration für Chrome-Varianten alle 30 Minuten heruntergeladen wird und die Einstellungen bei jedem Neustart von Chrome aktiviert werden. Im Gegensatz dazu wäre es viel länger, Chrome zu aktualisieren und darauf zu warten, dass die neue Version von Milliarden von Nutzern verbreitet wird.

Änderungen an einer Funktion ausprobieren

Und schließlich können Chrome-Varianten verwendet werden, um Änderungen und Updates zu validieren. Zum Beispiel könnten wir den Schwierigkeitsgrad für das Spiel „Chrome Offline Dino“ anpassen, damit die Interaktion unterhaltsamer wird.

Chrome-Varianten können auch verwendet werden, um die langfristigen Auswirkungen neuer Funktionen zu untersuchen. Dazu werden die Chrome-Varianten verwendet, um Funktionen für einen kleinen Teil der Nutzer zu blockieren (vielleicht 1% oder weniger). Eine Holdback-Gruppe kann nützlich sein, um nach Änderungen und Nebeneffekten zu suchen, die erst mit der Zeit sichtbar werden.

Eine Holdback-Gruppe kann besonders bei Änderungen an der Benutzeroberfläche wichtig sein, wenn Nutzer wahrscheinlich mit einer neuen Funktion interagieren, sich auf lange Sicht jedoch anders verhalten.

Wir haben beispielsweise eine Bildauswahl in Chrome eingeführt, die für einen kleinen Prozentsatz von Nutzern jedoch vorübergehend zurückgehalten wurde, um Ergebnisse zu vergleichen. Wir haben die neue Android-Fotoauswahl an einen großen Teil unserer Nutzer ausgeliefert. Die Anzahl der Bilder, die diese Gruppe im Web teilte, stieg zunächst deutlich an. In den sechs Monaten, in denen wir die Holdback-Variante hatten, verzeichneten wir jedoch einen deutlichen Anstieg der Nutzung. Grund dafür war die Verfügbarkeit der neuen Bildauswahl, dass Websites das Attribut „Accept“ (Annahme) in Dateieingabeelemente aufnehmen sollten, was für alle Nutzer hilfreich war.

Wie werden Chrome-Varianten für die Validierung verwendet?

Wenn die Einstellung zum Verbessern der Funktionen und 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 namens User Metrics Analysis (UMA) verwendet. Beispiele für anonyme Nutzungsstatistiken von Chrome finden Sie unter chromestatus.com/metrics, etwa den Prozentsatz der Seitenladevorgänge, bei denen eine CSS-Eigenschaft oder eine HTML- oder JavaScript-Funktion verwendet wird.

Chrome-Varianten sind besonders nützlich, um die Statistiken einer Nutzergruppe mit einer anderen zu vergleichen. Beispielsweise kann eine Funktion nur für bestimmte Nutzer aktiviert werden und Chrome kann Messwerte für jede Gruppe vergleichen. Zu diesen Messwerten gehören beispielsweise die Arbeitsspeichernutzung, die Seitenladezeiten oder die Nutzung einer Browserfunktion. 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 anderen Funktionsvarianten.

Feldtests für Chrome-Varianten

Jede Gruppe von Varianten einer Funktion wird als Studie oder Feldtest bezeichnet und jede hat eine feste Dauer. Sobald eine Studie für eine Funktion abgeschlossen ist, erhalten alle Nutzer, die in einer nicht standardmäßigen Verhaltensgruppe enthalten waren, die standardmäßige Chrome-Einstellung 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 Chrome-Varianten mit den Flags --enable-features und --disable-features konfigurieren.

Chrome-Varianten für Unternehmen

Unternehmenskunden können Chrome-Varianten mithilfe der Richtlinie „ChromeVariations“ verwalten. Natürlich empfehlen wir, Chrome-Varianten aktiviert zu lassen, damit kritische Sicherheitsupdates schnell in Chrome bereitgestellt werden können.

Weitere Informationen