Potresti aver sentito parlare di Variazioni di Chrome, a volte note come Prove sul campo di Chrome o anche con il nome in codice interno Chrome Finch.
Si tratta di diversi nomi 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à, disattivare una funzionalità o provare una modifica alla 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 in qualsiasi momento. Le varianti di Chrome possono essere utilizzate per:
- Consente agli ingegneri di Chrome di prestare particolare attenzione nell'apportare una determinata variazione. Potrebbero rilevare un rischio per le prestazioni del browser o avere altri dubbi.
- Convalida un'ipotesi su una modifica o un aggiornamento. Ad esempio, per una percentuale di utenti in un gruppo di Variazioni di Chrome, abbiamo modificato i parametri del protocollo di rete QUIC per velocizzare Chrome in base alle condizioni di rete reali degli utenti.
- Controlla l'attivazione di una funzionalità di prova dell'origine. Per impostazione predefinita, le prove dell'origine sono abilitate su tutte le pagine che forniscono un token di prova valido. Tuttavia, in alcuni casi una funzionalità potrebbe non essere disponibile per alcuni 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 recuperare il file di configurazione di Variazioni di Chrome, noto come seed delle variazioni. È disponibile un server dedicato per fornire i seed delle varianti di Chrome. Chrome invia una richiesta HTTPS al server, che risponde con un seed compresso con delta.
Quando Chrome sul tuo dispositivo richiede il file seed, fornisce il numero di versione e il sistema operativo su cui è in esecuzione. Il file fornito dal backend di Chrome Variations viene utilizzato per attivare le funzionalità, disattivarle o specificare le varianti di una funzionalità.
Chrome utilizza i dati nel file seed e un seed di randomizzazione memorizzato localmente per assegnare in modo casuale il browser a un gruppo di variazioni. Il browser sul tuo dispositivo tiene traccia del gruppo di variazioni a cui appartiene.
Implementazione delle funzionalità e canali di Chrome
Uno degli utilizzi più importanti di Chrome Variations è implementare gradualmente modifiche o nuove funzionalità in una percentuale di client di Chrome. Questo è fondamentale per un'applicazione complessa come Chrome, che ha miliardi di utenti, migliaia di tipi di dispositivi su più piattaforme e utilizza dozzine 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à all'interno di uno di questi canali di rilascio. Tuttavia, questi canali vengono utilizzati principalmente da sviluppatori e altri esperti.
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 predire in che modo gli utenti reali risponderanno a modifiche e nuove funzionalità su larga scala.
Le varianti di Chrome consentono di controllare l'utilizzo e le metriche di Chrome Stable. Misurando l'impatto delle modifiche in Chrome Stable, possiamo rilasciare 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 di Chrome Variations.
Attivare una nuova funzionalità
L'utilizzo delle varianti di Chrome per fornire il controllo sull'attivazione di una nuova funzionalità è particolarmente utile per tutto ciò che potrebbe essere più rischioso 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 di denial-of-service. Puoi utilizzare le varianti di Chrome per attivare rapidamente questa funzionalità, poiché la configurazione di Chrome Variations 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 sarebbe molto più lento.
Provare le modifiche a una funzionalità
Le varianti di Chrome possono essere utilizzate per convalidare modifiche e aggiornamenti. Ad esempio, potremmo perfezionare la difficoltà del gioco Dino offline di Chrome per rendere l'interazione più divertente.
Le varianti di Chrome possono essere utilizzate anche per studiare gli effetti a lungo termine delle nuove funzionalità. Per farlo, viene utilizzato il meccanismo delle varianti di Chrome per trattenere le funzionalità per una piccola percentuale di utenti, forse meno dell'1%. Un gruppo di blocco può essere utile per verificare la presenza di modifiche ed effetti collaterali che diventano visibili solo nel tempo.
Un gruppo di blocco può essere particolarmente importante per le modifiche all'interfaccia utente, in cui gli utenti sono propensi a interagire 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 ritirata da una piccola percentuale di utenti per confrontare i risultati. Abbiamo rilasciato il nuovo selettore di foto per Android a un numero elevato di utenti e inizialmente abbiamo registrato un aumento significativo del numero di immagini condivise dal gruppo sul web. Tuttavia, nei sei mesi in cui abbiamo applicato la variazione di blocco, abbiamo registrato un calo significativo dell'aumento dell'utilizzo. Questo perché la disponibilità del nuovo selettore di foto incoraggiava i siti ad aggiungere l'attributo accept agli elementi di input file, il che ha portato a un'esperienza migliore 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 l'analisi delle metriche utente (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, in modo che Chrome possa confrontare le metriche per ciascun gruppo. Queste metriche possono includere l'utilizzo della memoria, i tempi di caricamento delle pagine o l'utilizzo di una funzionalità del browser. In questo modo, i tecnici di Chrome possono confrontare il rendimento o altre metriche tra gli utenti che hanno attivato una funzionalità, quelli che l'hanno disattivata o quelli con varianti diverse della funzionalità.
Prove sul campo
Ogni insieme di varianti per una funzionalità è chiamato studio o sperimentale sul campo e ciascuno ha una durata fissa. Al termine di uno studio, tutti 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à che possono essere controllate da Variazioni 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
obbliga a reimpostare lo stato di Variazioni di Chrome per il client corrente. Ciò significa che il cliente potrebbe passare a diversi gruppi di varianti di Chrome.
Varianti di Chrome per le aziende
Per i clienti aziendali, Chrome fornisce anche il criterio relativo alle varianti di Chrome per gestire le varianti di Chrome. Ti consigliamo di lasciare le varianti di Chrome attive, in modo che Chrome possa fornire rapidamente correzioni di sicurezza fondamentali.