Potresti aver sentito parlare di Chrome Variations, a volte noto come Chrome Field Trials o anche con il nome in codice interno, Chrome Finch.
Si tratta di nomi diversi per la stessa cosa: un meccanismo per testare nuove funzionalità o modifiche al browser Chrome o a ChromeOS, il sistema operativo Chrome che viene eseguito sui Chromebook.
Che cosa sono le varianti di Chrome?
Le varianti di Chrome consentono a Chrome di attivare una nuova funzionalità, disattivarne una o provare una modifica di una funzionalità per un sottoinsieme di utenti.
Non tutte le funzionalità di Chrome vengono introdotte utilizzando le varianti di Chrome. Tuttavia, il team di Chrome può utilizzare le varianti di Chrome ogni volta che ne ha bisogno. Le varianti di Chrome possono essere utilizzate per:
- Consenti agli ingegneri di Chrome di prestare particolare attenzione a una determinata modifica. Potrebbero notare un rischio per le prestazioni del browser o avere altri dubbi.
- Convalidare un'ipotesi su una modifica o un aggiornamento. Ad esempio, per una percentuale di utenti in un gruppo di varianti di Chrome, abbiamo modificato i parametri del protocollo di rete QUIC per rendere Chrome più veloce in base alle condizioni di rete reali degli utenti.
- Controlla l'attivazione di una funzionalità di prova dell'origine. Per impostazione predefinita, le prove di origine sono abilitate in tutte le pagine che forniscono un token di prova valido. Tuttavia, in alcuni casi, una funzionalità potrebbe non essere disponibile per determinati utenti, anche se visitano una pagina che fornisce un token di prova valido.
Come funzionano le varianti di Chrome?
Ogni 30 minuti su computer o dispositivo mobile oppure ogni volta che avvii Chrome, il browser invia una richiesta al backend di Chrome per ottenere il file di configurazione delle varianti di Chrome, noto come seed delle varianti. Esiste un server dedicato per fornire i seed delle varianti di Chrome. Chrome invia una richiesta HTTPS al server, che risponde con un seed compresso in formato delta.
Quando Chrome sul tuo dispositivo richiede il file seed, Chrome fornisce il numero di versione e il sistema operativo in esecuzione. Il file restituito dal backend delle varianti di Chrome viene utilizzato per attivare o disattivare le funzionalità o per specificare le varianti di una funzionalità.
Chrome utilizza i dati nel file seed e un seed di randomizzazione archiviato localmente per assegnare in modo casuale il browser a un gruppo di varianti. Il browser sul tuo dispositivo tiene traccia del gruppo di varianti a cui appartiene.
Implementazione delle funzionalità e canali Chrome
Uno degli utilizzi più importanti delle varianti di Chrome è l'introduzione graduale di modifiche o nuove funzionalità in una percentuale di client Chrome. Ciò è fondamentale per un'applicazione complessa come Chrome, che ha miliardi di utenti, con migliaia di tipi di dispositivi su più piattaforme, che utilizzano decine di lingue diverse per milioni di app e siti web diversi.
Chrome riceve feedback preziosi dall'utilizzo e dai test in Chrome Canary, Dev e beta. Possiamo utilizzare le varianti di Chrome per attivare o disattivare le funzionalità in uno qualsiasi di questi canali di rilascio. Tuttavia, questi canali vengono utilizzati principalmente da sviluppatori e altri specialisti.
Gli utenti di Chrome versione stabile interagiscono con Chrome in modo diverso e in numeri molto più elevati, quindi dobbiamo sempre eseguire la convalida sul canale stabile. In questo modo possiamo risolvere eventuali problemi riscontrati durante il normale utilizzo del browser. Gli ingegneri di Chrome non possono sempre prevedere su larga scala la risposta degli utenti reali ai cambiamenti e alle nuove funzionalità.
Le varianti di Chrome consentono di controllare l'utilizzo e le metriche di Chrome Stable. Misurando l'impatto delle modifiche in Chrome Stable, possiamo offrire le migliori funzionalità possibili e creare un browser migliore, anche quando i compromessi sono complessi.
Quando gli ingegneri di Chrome utilizzano le varianti di Chrome?
Esistono tre motivi principali per cui Chrome ha bisogno delle varianti di Chrome.
Attivare una nuova funzionalità
L'utilizzo delle varianti di Chrome per fornire il controllo sull'attivazione di una nuova funzionalità è particolarmente utile per qualsiasi cosa che possa essere più rischiosa in qualche modo o che potrebbe influire sulle prestazioni.
Le varianti di Chrome ci consentono di fornire una nuova funzionalità a un sottoinsieme di utenti. Gli ingegneri di Chrome possono quindi verificare le differenze di rendimento o esaminare altri tipi di feedback del gruppo di varianti.
Disattivare una funzionalità
Le varianti di Chrome possono essere utilizzate come meccanismo di sicurezza per disattivare una funzionalità, anche se ciò accade raramente.
Ad esempio, una nuova funzionalità di rete potrebbe essere soggetta a un attacco Denial of Service. Le varianti di Chrome possono essere utilizzate per disattivare rapidamente questa funzionalità, poiché la configurazione delle varianti di Chrome viene scaricata ogni 30 minuti e le impostazioni vengono attivate ogni volta che riavvii Chrome.
Al contrario, l'aggiornamento di Chrome e l'attesa della propagazione della nuova versione a miliardi di utenti sarebbero molto più lenti.
Provare le modifiche a una funzionalità
Le varianti di Chrome possono essere utilizzate per convalidare modifiche e aggiornamenti. Ad esempio, potremmo ottimizzare la difficoltà del gioco Dino di Chrome offline per rendere l'interazione più divertente.
Le varianti di Chrome possono essere utilizzate anche per studiare gli effetti a lungo termine delle nuove funzionalità. A questo scopo, viene utilizzato il meccanismo delle varianti di Chrome per ritardare l'introduzione delle funzionalità per una piccola percentuale di utenti, forse l'1% o meno. Un gruppo di controllo può essere utile per verificare le modifiche e gli effetti collaterali che diventano visibili solo nel tempo.
Un gruppo di controllo può essere particolarmente importante per le modifiche all'interfaccia utente, in cui gli utenti probabilmente interagiscono con una funzionalità quando è nuova, ma potrebbero comportarsi in modo diverso nel lungo periodo.
Ad esempio, abbiamo lanciato un selettore di foto in Chrome, ma la funzionalità è stata temporaneamente ritardata per una piccola percentuale di utenti, per confrontare i risultati. Abbiamo distribuito il nuovo selettore di foto per Android a una percentuale elevata dei nostri utenti e inizialmente abbiamo notato un aumento significativo del numero di immagini che il gruppo ha condiviso sul web. Tuttavia, nei sei mesi in cui abbiamo avuto la variante di holdback, abbiamo notato una diminuzione significativa dell'aumento dell'utilizzo. Ciò è dovuto al fatto che la disponibilità del nuovo selettore di foto ha incoraggiato i siti ad aggiungere l'attributo accept agli elementi di input dei file, il che ha portato a una migliore esperienza per tutti gli utenti.
In che modo le varianti di Chrome vengono utilizzate per la convalida?
Se l'impostazione per contribuire a migliorare le funzionalità e le prestazioni di Chrome è attiva
(chrome://settings/syncSetup?search=improve
), Chrome può monitorare e inviare automaticamente
le metriche al backend di Chrome con User Metrics Analysis (UMA).
Puoi visualizzare esempi di statistiche anonime sull'utilizzo di Chrome all'indirizzo chromestatus.com/metrics, ad esempio la percentuale di caricamenti di pagine che utilizzano una proprietà CSS o una funzionalità HTML o JavaScript.
Le varianti di Chrome sono particolarmente utili per confrontare le statistiche di un gruppo di utenti con quelle di un altro. Ad esempio, una funzionalità può essere attivata per alcuni utenti e non per altri, quindi Chrome può confrontare le metriche per ciascun gruppo. Queste metriche potrebbero includere l'utilizzo della memoria, i tempi di caricamento delle pagine o l'utilizzo di una funzionalità del browser. Ciò consente agli ingegneri di Chrome di confrontare le prestazioni o altre metriche tra gli utenti che hanno attivato una funzionalità, gli utenti che l'hanno disattivata o gli utenti con diverse varianti della funzionalità.
Field trial
Ogni insieme di variazioni per una funzionalità è chiamato studio o field trial e ha una durata fissa. Al termine di uno studio, gli utenti inclusi in un gruppo di comportamento non predefinito ricevono l'impostazione predefinita di Chrome per la funzionalità: attivata o disattivata.
La maggior parte delle funzionalità controllabili tramite le varianti di Chrome corrisponde a un flag
che può essere impostato dalla pagina chrome://flags
. In alternativa, se
esegui Chrome dalla riga di comando,
puoi utilizzare i flag --enable-features
e --disable-features
per configurare
le varianti di Chrome.
Il flag --reset-variation-state
forza il ripristino dello stato delle varianti di Chrome per il client corrente. Ciò
significa che il client potrebbe passare a gruppi di varianti di Chrome diversi.
Varianti di Chrome per le aziende
Per i clienti aziendali, Chrome fornisce anche il criterio Varianti di Chrome per gestire le varianti di Chrome. Ti consigliamo di lasciare attivata la funzionalità Varianti di Chrome, in modo che Chrome possa fornire rapidamente correzioni di sicurezza fondamentali.