Mogelijk heeft u wel eens gehoord van Chrome Variations, soms ook wel Chrome Field Trials genoemd, of zelfs van de interne codenaam Chrome Finch.
Het zijn allemaal namen voor hetzelfde: een mechanisme om nieuwe functies of wijzigingen in de Chrome-browser of in ChromeOS, het Chrome-besturingssysteem dat op Chromebooks draait, te testen.
Wat zijn Chrome-variaties?
Met Chrome-variaties kan Chrome een nieuwe functie activeren, een functie deactiveren of een functiewijziging uitproberen voor een subset gebruikers.
Niet alles in Chrome wordt geïntroduceerd met behulp van Chrome-variaties. Het Chrome-team kan echter Chrome-variaties gebruiken wanneer we dat nodig hebben. Chrome-variaties kunnen worden gebruikt om:
- Laat Chrome-technici extra voorzichtig zijn bij het doorvoeren van een bepaalde wijziging. Ze zien mogelijk een risico voor de browserprestaties of hebben andere zorgen.
- Valideer een hypothese over een wijziging of update. Zo hebben we bijvoorbeeld voor een percentage gebruikers in een Chrome-variatiesgroep de QUIC-netwerkprotocolparameters aangepast om Chrome sneller te maken voor de werkelijke netwerkomstandigheden van gebruikers.
- Activering van een proefversie van een bron beheren. Standaard zijn proefversies van bronnen ingeschakeld op alle pagina's die een geldige proeftoken aanbieden. In sommige gevallen is een functie echter mogelijk niet beschikbaar voor bepaalde gebruikers, zelfs niet als ze een pagina bezoeken die een geldige proeftoken aanbiedt.
Hoe werken Chrome-variaties?
Elke 30 minuten op een desktop of mobiel apparaat, of elke keer dat u Chrome start, vraagt de browser de Chrome-backend om het configuratiebestand voor Chrome-variaties op te halen, ook wel de variatieseed genoemd. Er is een speciale server die Chrome-variatieseeds levert. Chrome vraagt de server om een HTTPS-verzoek en de server reageert met een delta-gecomprimeerde seed.
Wanneer Chrome op uw apparaat het seedbestand opvraagt, geeft Chrome het versienummer en het besturingssysteem waarop het draait. Het bestand dat door de Chrome Variations-backend wordt geretourneerd, wordt gebruikt om functies in of uit te schakelen of variaties in een functie te specificeren.
Chrome gebruikt de gegevens in het seedbestand en een lokaal opgeslagen randomisatieseed om de browser willekeurig aan een variatiegroep toe te wijzen. 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 introduceren van wijzigingen of nieuwe functies voor een bepaald percentage Chrome-clients. Dat is cruciaal voor een complexe applicatie zoals Chrome, die miljarden gebruikers heeft, duizenden soorten apparaten op meerdere platforms gebruikt en tientallen verschillende talen gebruikt voor miljoenen verschillende apps en websites.
Chrome ontvangt waardevolle feedback uit gebruik en tests in Chrome Canary, Dev en Beta. We kunnen Chrome-varianten gebruiken om functies binnen elk van deze releasekanalen te activeren of deactiveren. Deze kanalen worden echter voornamelijk gebruikt door ontwikkelaars en andere specialisten.
Gebruikers van Chrome Stable werken anders met Chrome, en in veel grotere aantallen, dus we moeten altijd valideren op het Stable-kanaal. Dit stelt ons in staat om problemen die zich bij normaal browsergebruik voordoen, op te lossen. Chrome-engineers kunnen niet altijd voorspellen hoe echte gebruikers op grote schaal zullen reageren op veranderingen en nieuwe functies.
Met Chrome Variations kun je het gebruik en de statistieken van Chrome Stable controleren. Door de impact van wijzigingen in Chrome Stable te meten, kunnen we de best mogelijke functies leveren en een betere browser bouwen, zelfs als de afwegingen complex zijn.
Wanneer gebruiken Chrome-engineers Chrome-variaties?
Er zijn drie belangrijke redenen waarom Chrome Chrome-variaties nodig heeft.
Activeer een nieuwe functie
Het gebruik van Chrome-variaties om controle te krijgen over de activering van een nieuwe functie is vooral handig voor alles dat op een of andere manier risicovol kan zijn of de prestaties kan beïnvloeden.
Met Chrome-variaties kunnen we een nieuwe functie aanbieden aan een subgroep gebruikers. Chrome-technici kunnen vervolgens controleren op prestatieverschillen of andere feedback van de variatiegroep bekijken.
Een functie deactiveren
Chrome-variaties kunnen worden gebruikt als veiligheidsmechanisme om een functie uit te schakelen, hoewel dit zelden gebeurt.
Een nieuwe netwerkfunctie kan bijvoorbeeld het doelwit worden van een denial-of-service-aanval. Chrome-varianten kunnen worden gebruikt om die functie snel in te schakelen, omdat de configuratie van Chrome-varianten elke 30 minuten wordt gedownload en de instellingen worden geactiveerd telkens wanneer u Chrome opnieuw opstart.
Daarentegen zou het veel langzamer zijn om Chrome bij te werken en te wachten tot de nieuwe versie naar miljarden gebruikers is verspreid.
Wijzigingen aan een functie proberen
Chrome-variaties kunnen worden gebruikt om wijzigingen en updates te valideren. Zo zouden we bijvoorbeeld de moeilijkheidsgraad van de Chrome Offline Dino-game kunnen verfijnen om de interactie leuker te maken.
Chrome-variaties kunnen ook worden gebruikt om de langetermijneffecten van nieuwe functies te bestuderen. Dit gebeurt door het Chrome-variatiesmechanisme te gebruiken om functies voor een klein deel van de gebruikers, bijvoorbeeld 1% of minder, achter te houden. Een holdback-groep kan nuttig zijn om te controleren op veranderingen en bijwerkingen die pas na verloop van tijd zichtbaar worden.
Een holdback-groep kan met name belangrijk zijn bij wijzigingen in de gebruikersinterface. Gebruikers zullen waarschijnlijk met een nieuwe functie omgaan, maar kunnen zich op de lange termijn anders gedragen.
Zo hebben we bijvoorbeeld een fotokiezer in Chrome gelanceerd, maar deze functie werd tijdelijk niet beschikbaar gesteld aan een klein percentage gebruikers om de resultaten te kunnen vergelijken. We hebben de nieuwe Android-fotokiezer naar een groot deel van onze gebruikers uitgerold en zagen aanvankelijk een aanzienlijke toename in het aantal afbeeldingen dat de groep online deelde. In de zes maanden dat we de beperkte versie hadden, zagen we de toename in gebruik echter aanzienlijk afnemen. Dit kwam doordat de beschikbaarheid van de nieuwe fotokiezer websites ertoe aanzette om het attribuut 'accept' toe te voegen aan invoerelementen voor bestanden, wat leidde tot een betere ervaring voor alle gebruikers.
Hoe worden Chrome-variaties gebruikt voor validatie?
Als de instelling om de functies en prestaties van Chrome te verbeteren is ingeschakeld ( chrome://settings/syncSetup?search=improve
), kan Chrome automatisch statistieken controleren en naar de Chrome-backend sturen met behulp van User Metrics Analysis (UMA).
Voorbeelden van anonieme gebruiksstatistieken van Chrome vindt u op chromestatus.com/metrics , zoals het percentage paginaladingen dat gebruikmaakt van een CSS-eigenschap of een HTML- of JavaScript-functie.
Chrome-varianten zijn met name handig om statistieken van de ene groep gebruikers met die van een andere te vergelijken. Zo kan een functie bijvoorbeeld voor sommige gebruikers zijn ingeschakeld en voor andere niet, waarna Chrome de statistieken voor elke groep kan 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 met een ingeschakelde functie, gebruikers met een uitgeschakelde functie of gebruikers met verschillende varianten van functies.
Veldproeven
Elke set variaties voor een functie wordt een studie of veldproef genoemd en heeft een vaste duur. Zodra een studie is afgerond, krijgen alle gebruikers die in een niet-standaardgedragsgroep zaten de standaard Chrome-instelling voor de functie: ingeschakeld of uitgeschakeld.
De meeste functies die met Chrome-varianten kunnen worden beheerd, komen overeen met een vlag die kan worden ingesteld via de pagina chrome://flags
. Als alternatief kunt u, als u Chrome vanaf de opdrachtregel start , de vlaggen --enable-features
en --disable-features
gebruiken om Chrome-varianten te configureren.
De vlag --reset-variation-state
forceert een reset van de Chrome-variatiestatus voor de huidige client. Dit betekent dat de client naar andere Chrome-variatiegroepen kan overstappen.
Chrome-variaties voor bedrijven
Voor zakelijke klanten biedt Chrome ook het beleid voor Chrome-variaties om Chrome-variaties te beheren. We raden aan Chrome-variaties ingeschakeld te laten, zodat Chrome snel kritieke beveiligingsoplossingen kan implementeren.