Wat zijn Chrome-variaties?

Een mechanisme voor Chrome om nieuwe browserfuncties te testen

Misschien heb je wel eens gehoord van Chrome Variations, of Chrome Field Trials, of misschien zelfs van de interne codenaam Chrome Finch.

Dit zijn allemaal namen voor hetzelfde: een mechanisme om nieuwe functies of wijzigingen in de Chrome-browser te testen, of in Chrome OS, het Chrome-besturingssysteem dat op Chromebooks draait.

Waar worden Chrome-varianten voor gebruikt?

Met Chrome-varianten kan Chrome een nieuwe functie activeren , een functie deactiveren of een wijziging in een functie uitproberen voor een subset van gebruikers.

Niet alles in Chrome wordt geïntroduceerd via het Chrome Variations-mechanisme. Het Chrome-team kan Chrome-varianten echter gebruiken wanneer we bijzonder voorzichtig moeten zijn met het aanbrengen van wijzigingen, of wanneer het risico bestaat dat een wijziging de prestaties kan beïnvloeden op manieren die we niet hadden verwacht. Een 'wijziging' kan een prestatieverbetering in de Chrome-code betekenen, een update van hoe de browser eruitziet of functioneert, of soms zelfs een wijziging aan een JavaScript-API.

Chrome-variaties kunnen ook worden gebruikt om een ​​hypothese over een wijziging of update te valideren . Voor een percentage van de gebruikers in een Chrome Variations-groep hebben we bijvoorbeeld geprobeerd de QUIC-netwerkprotocolparameters aan te passen om Chrome sneller te maken voor de echte netwerkomstandigheden van gebruikers.

Een ander gebied waar u Chrome-variaties kunt tegenkomen, is als u werkt met de originele proefversies van Chrome. Standaard is een origin-proeffunctie ingeschakeld op alle pagina's die een geldig proeftoken bieden, maar in sommige gevallen wordt Chrome-varianten gebruikt om de activering van een functie te controleren. Dit betekent dat een origin-proeffunctie mogelijk niet beschikbaar is voor bepaalde gebruikers, zelfs als ze een pagina bezoeken die een geldig proeftoken biedt. Informatie over het percentage gebruikers dat in aanmerking komt voor activering van een origin-proefversie wordt verstrekt bij de documentatie en updates voor elke origin-proefversie.

Hoe werken Chrome-varianten?

Elke 30 minuten op desktop of mobiel, of elke keer dat u Chrome start, doet de browser een verzoek aan de Chrome-backend om het Chrome Variations-configuratiebestand op te halen, ook wel het variatiezaad genoemd. Met andere woorden: er is een speciale server die Chrome Variations-zaden levert. Chrome doet een HTTPS-verzoek aan de server en de server reageert met een delta-gecomprimeerd zaad.

Informatie over de browser en het besturingssysteem die naar de Chrome Variations-backend gaan; Chrome Variations-seed gaat naar de browser, die een randomisatie-seed heeft.

Wanneer Chrome op uw apparaat contact opneemt met de Chrome Variations-backend om het startbestand op te halen, wordt ook informatie verstrekt over de versie van Chrome en het besturingssysteem waarop het wordt uitgevoerd. Het bestand dat door de Chrome Variations-backend wordt geretourneerd, wordt gebruikt om functies in te schakelen, functies uit te schakelen of variaties in een functie op te geven.

Chrome gebruikt de gegevens in het Seed-bestand en een lokaal opgeslagen randomisatie-seed om de browser willekeurig aan een variatiegroep toe te wijzen. Met andere woorden: de randomisatie-seed, gecombineerd met het Seed-bestand van de Chrome Variations-backend, kan worden gebruikt om functies in de browser te activeren of te deactiveren, voor een subset van gebruikers. Uw browser op uw apparaat houdt bij tot welke variatiegroep deze behoort.

Uitrol van functies en Chrome-kanalen

Een van de belangrijkste toepassingen van Chrome-varianten is het geleidelijk uitrollen van wijzigingen of nieuwe functies naar een percentage van de gebruikers. Dat is cruciaal voor een complexe applicatie als Chrome, die miljarden gebruikers heeft, met duizenden soorten apparaten op meerdere platforms en tientallen verschillende talen gebruikt voor miljoenen verschillende apps en websites.

Chrome krijgt waardevolle feedback over het gebruik en testen in Chrome Canary, Dev en Beta. We kunnen Chrome-varianten gebruiken om functies binnen een van deze releasekanalen te activeren of te deactiveren. Die kanalen worden echter vooral gebruikt door ontwikkelaars en andere specialisten. Chrome Stabiele gebruikers communiceren anders met Chrome, en in veel grotere aantallen, dus we moeten altijd valideren op het Stabiele kanaal. Hierdoor kunnen we eventuele problemen bij normaal browsergebruik oplossen. Chrome-technici kunnen niet altijd voorspellen hoe echte gebruikers op grote schaal zullen reageren op veranderingen en nieuwe functies.

Chrome Variations is een cruciaal mechanisme om hierbij te helpen, waardoor het mogelijk wordt om het gebruik en de statistieken voor Chrome Stable te controleren met een functie geactiveerd of gedeactiveerd. Door de impact van veranderingen in Chrome Stable te meten, kunnen we de best mogelijke functies bieden en een betere browser bouwen, zelfs als de afwegingen complex zijn.

Wanneer gebruiken Chrome-technici Chrome-varianten?

Er zijn drie belangrijke redenen waarom Chrome Chrome-variaties nodig heeft.

Activeer een nieuwe functie

Het gebruik van Chrome-varianten om controle te geven over de activering van een nieuwe functie is met name handig voor alles dat op de een of andere manier riskanter kan zijn of de prestaties kan beïnvloeden.

Met Chrome-variaties kunnen we een nieuwe functie uitrollen naar een subset van gebruikers. Vervolgens kunnen Chrome-technici controleren op prestatieverschillen of kijken naar andere soorten feedback van de variantgroep.

Deactiveer een functie

Chrome-variaties kunnen worden gebruikt als veiligheidsmechanisme om een ​​functie uit te schakelen, hoewel dit zelden gebeurt.

Een nieuwe netwerkfunctie kan bijvoorbeeld het slachtoffer worden van een denial-of-service-aanval. Chrome Variations kan worden gebruikt om zo'n functie snel uit te schakelen, omdat de Chrome Variations-configuratie elke 30 minuten wordt gedownload en de instellingen worden geactiveerd telkens wanneer u Chrome opnieuw opstart. Daarentegen zou het updaten van Chrome en het wachten tot de nieuwe versie aan miljarden gebruikers wordt doorgegeven veel langzamer zijn.

Probeer wijzigingen in een functie

Ten slotte kunnen Chrome-variaties worden gebruikt om wijzigingen en updates te valideren. We zouden bijvoorbeeld de moeilijkheidsgraad van de Chrome Offline Dino-game kunnen verfijnen om de interactie leuker te laten aanvoelen.

Chrome-variaties kunnen ook worden gebruikt om de langetermijneffecten van nieuwe functies te bestuderen. Dit wordt gedaan door het Chrome Variations-mechanisme te gebruiken om functies voor een klein deel van de gebruikers, misschien 1% of minder, tegen te houden. Een holdbackgroep kan handig zijn om te controleren op veranderingen en bijwerkingen die pas na verloop van tijd zichtbaar worden.

Een holdback-groep kan met name van belang zijn bij wijzigingen in de gebruikersinterface, waarbij gebruikers waarschijnlijk interactie zullen hebben met een functie wanneer deze nieuw is, maar zich op de lange termijn anders kunnen gedragen.

We hebben bijvoorbeeld een functie voor het kiezen van foto's gelanceerd in Chrome, maar deze functie werd tijdelijk verborgen gehouden voor een klein percentage van de gebruikers om de resultaten te vergelijken. We hebben de nieuwe Android Photo Picker naar een groot deel van onze gebruikers verzonden en zagen aanvankelijk een aanzienlijke toename in het aantal afbeeldingen dat door deze groep op internet werd gedeeld. In de zes maanden dat we de holdback-variatie hadden, zagen we de stijging in het gebruik echter aanzienlijk afnemen. Dit kwam doordat de beschikbaarheid van de nieuwe fotokiezer sites ertoe aanzette het accept-kenmerk toe te voegen aan bestandsinvoerelementen, wat leidde tot een betere ervaring voor alle gebruikers.

Hoe worden Chrome-varianten gebruikt voor validatie?

Als de instelling om de functies en prestaties van Chrome te helpen verbeteren is ingeschakeld ( chrome://settings/syncSetup?search=improve ), kan Chrome automatisch statistieken controleren en naar de Chrome-backend sturen, met behulp van een mechanisme dat bekend staat als User Metrics Analysis (UMA). Op chromestatus.com/metrics kunt u voorbeelden bekijken van de anonieme gebruiksstatistieken van Chrome, zoals het percentage paginaladingen waarbij een CSS-eigenschap of een HTML- of JavaScript-functie wordt gebruikt.

Chrome-variaties zijn met name handig voor het vergelijken van statistieken van de ene groep gebruikers met de andere. Een functie kan bijvoorbeeld voor sommige gebruikers worden ingeschakeld en voor andere niet, en Chrome kan statistieken voor elke groep vergelijken. Deze statistieken kunnen geheugengebruik, laadtijden van pagina's of het gebruik van een browserfunctie omvatten. Hierdoor kunnen Chrome-technici de prestaties of andere statistieken vergelijken tussen gebruikers voor wie een functie is ingeschakeld, gebruikers voor wie de functie is uitgeschakeld of gebruikers met verschillende functievarianten.

Veldproeven met Chrome Variaties

Elke reeks variaties voor een kenmerk wordt een studie of veldproef genoemd en elke reeks heeft een vaste duur. Zodra een onderzoek voor een functie is afgerond, krijgen alle gebruikers die zijn opgenomen in een niet-standaardgedragsgroep de standaard Chrome-instelling voor de functie: ingeschakeld of uitgeschakeld.

De meeste functies die kunnen worden beheerd door Chrome-variaties komen overeen met een vlag die kan worden ingesteld vanaf de chrome://flags pagina. Als u Chrome vanaf de opdrachtregel uitvoert , kunt u ook de vlaggen --enable-features en --disable-features gebruiken om Chrome-variaties te configureren.

Chrome-varianten voor ondernemingen

Voor zakelijke klanten biedt Chrome ook het ChromeVariations-beleid om Chrome-varianten te beheren. We raden u uiteraard aan Chrome-varianten ingeschakeld te laten, zodat Chrome snel kritieke beveiligingsoplossingen kan bieden.

Meer te weten komen