O que são as variações do Chrome?

Um mecanismo para o Chrome testar novos recursos do navegador

Você já deve ter ouvido falar das Variações do Chrome, ou dos testes de campo do Chrome, ou talvez até do codinome interno, o Chrome Finch.

Esses nomes são a mesma coisa: um mecanismo para testar novos recursos ou mudanças no navegador Chrome ou no Chrome OS, o sistema operacional Chrome executado nos Chromebooks.

Para que as variações do Chrome são usadas?

As variações do Chrome permitem que o Chrome ative, desative um recurso ou teste uma alteração em um recurso para um subconjunto de usuários.

Nem tudo no Chrome é introduzido pelo mecanismo de variações do Chrome. No entanto, a equipe do Chrome pode usar as variações sempre que for necessário ter cuidado especial ao fazer mudanças ou quando houver um risco de que uma mudança possa afetar o desempenho de maneiras inesperadas. Uma "mudança" pode significar uma melhoria de desempenho no código do Chrome, uma atualização na aparência ou no funcionamento do navegador ou, às vezes, até mesmo uma modificação em uma API JavaScript.

As variações do Chrome também podem ser usadas para validar uma hipótese sobre uma mudança ou atualização. Por exemplo, para uma porcentagem de usuários em um grupo de variações do Chrome, tentamos ajustar os parâmetros do protocolo de rede QUIC para tornar o Chrome mais rápido para as condições reais da rede dos usuários.

Você também pode encontrar variações do Chrome se trabalhar com os testes de origem do Chrome. Por padrão, um recurso de teste de origem é ativado em todas as páginas que fornecem um token de teste válido. No entanto, em alguns casos, as variações do Chrome são usadas para controlar a ativação de um recurso. Isso significa que um recurso de teste de origem pode não estar disponível para determinados usuários, mesmo quando eles acessam uma página que fornece um token de teste válido. As informações sobre a proporção de usuários qualificados para a ativação de um recurso de teste de origem são fornecidas com a documentação e as atualizações de cada teste.

Como funcionam as variações do Chrome?

A cada 30 minutos em computadores ou dispositivos móveis, ou toda vez que você inicia o Chrome, o navegador solicita ao back-end do Chrome o arquivo de configuração de variações do Chrome, conhecido como as sementes. Em outras palavras, há um servidor dedicado para fornecer sugestões de variações do Chrome. O Chrome faz uma solicitação HTTPS ao servidor, e o servidor responde com uma semente compactada em delta.

Informações sobre o
navegador e o sistema operacional que vão para o back-end de variações do Chrome. A semente de variações do Chrome vai para
o navegador, que tem uma semente de randomização.

Quando o Chrome no dispositivo entra em contato com o back-end de variações do Chrome para acessar o arquivo original, ele também fornece informações sobre a versão do Chrome e o sistema operacional em que ele está sendo executado. O arquivo retornado pelo back-end de variações do Chrome é usado para ativar ou desativar recursos ou especificar variações em um recurso.

O Chrome usa os dados no arquivo seed e uma semente de randomização armazenada localmente para atribuir aleatoriamente o navegador a um grupo de variações. Em outras palavras, a semente de randomização, combinada com o arquivo de sugestão do back-end de variações do Chrome, pode ser usada para ativar ou desativar recursos no navegador para um subconjunto de usuários. O navegador, no seu dispositivo, registra a qual grupo de variações ele pertence.

Lançamento de recursos e canais do Chrome

Um dos usos mais importantes das variações do Chrome é lançar gradualmente mudanças ou novos recursos para uma porcentagem de usuários. Isso é essencial para um aplicativo complexo como o Chrome, que tem bilhões de usuários, milhares de tipos de dispositivos em várias plataformas e dezenas de linguagens diferentes para milhões de apps e sites.

O Chrome recebe feedbacks valiosos de uso e testes no Chrome Canary, Dev e Beta. Podemos usar as variações do Chrome para ativar ou desativar recursos em qualquer um desses canais de lançamento. No entanto, esses canais são usados principalmente por desenvolvedores e outros especialistas. Como os usuários do Chrome Stable interagem com o Chrome de maneira diferente e em números muito maiores, sempre precisamos validar no Canal Stable. Isso nos permite eliminar quaisquer problemas encontrados no uso normal do navegador. Os engenheiros do Chrome nem sempre conseguem prever como usuários reais responderão a mudanças e novos recursos em grande escala.

As variações do Chrome são um mecanismo crucial para ajudar com isso, possibilitando a verificação do uso e das métricas do Chrome Stable com um recurso ativado ou desativado. Ao medir o impacto das mudanças no Chrome Stable, podemos oferecer os melhores recursos possíveis e criar um navegador melhor, mesmo quando as compensações são complexas.

Quando os engenheiros do Chrome usam as variações do Chrome?

Existem três motivos principais para o Chrome precisar de variações do Chrome.

Ativar um novo recurso

O uso de variações do Chrome para fornecer controle sobre a ativação de um novo recurso é particularmente útil para qualquer coisa que possa ser mais arriscada de alguma forma ou que possa afetar o desempenho.

As variações do Chrome permitem lançar um novo recurso para um subconjunto de usuários. Em seguida, os engenheiros do Chrome podem verificar diferenças no desempenho ou analisar outros tipos de feedback do grupo de variação.

Desativar um recurso

As variações do Chrome podem ser usadas como um mecanismo de segurança para desativar um recurso, embora isso aconteça raramente.

Por exemplo, um novo recurso de rede pode ficar sujeito a um ataque de negação de serviço. As variações do Chrome podem ser usadas para desativar rapidamente um recurso como esse, já que o download da configuração de variações do Chrome é feito a cada 30 minutos, e as configurações são ativadas sempre que você reinicia o Chrome. Por outro lado, atualizar o Chrome e esperar a nova versão ser propagada para bilhões de usuários seria muito mais lento.

Testar alterações em um recurso

Por fim, as variações do Chrome podem ser usadas para validar alterações e atualizações. Por exemplo, podemos ajustar a dificuldade do jogo Dinossauro off-line do Chrome para tornar a interação mais divertida.

As variações do Chrome também podem ser usadas para estudar os efeitos de novos recursos a longo prazo. Isso é feito usando o mecanismo de variações do Chrome para restringir recursos para uma pequena proporção de usuários, talvez 1% ou menos. Um grupo de restrição pode ser útil para verificar se há mudanças e efeitos colaterais que só se tornam visíveis com o tempo.

Um grupo de restrição pode ser particularmente importante para mudanças na interface do usuário, em que é provável que os usuários interajam com um recurso quando ele é novo, mas podem se comportar de maneira diferente a longo prazo.

Por exemplo, lançamos uma funcionalidade de seletor de fotos no Chrome, mas o recurso foi temporariamente impedido de uma pequena porcentagem de usuários, para comparar os resultados. Enviamos o novo seletor de fotos do Android para uma alta proporção de usuários e, inicialmente, notamos um aumento significativo no número de imagens que esse grupo compartilha na Web. No entanto, nos seis meses em que tivemos a variação da restrição, vimos o aumento no uso diminuir significativamente. Isso aconteceu porque a disponibilidade do novo seletor de fotos incentivou os sites a adicionar o atributo Accept aos elementos de entrada do arquivo, o que levou a uma experiência melhor para todos os usuários.

Como as variações do Chrome são usadas na validação?

Se a configuração para ajudar a melhorar os recursos e o desempenho do Chrome estiver ativada (chrome://settings/syncSetup?search=improve), o Chrome poderá monitorar e enviar métricas automaticamente para o back-end do Chrome usando um mecanismo conhecido como análise de métricas do usuário (UMA, na sigla em inglês). Acesse chromestatus.com/metrics para exemplos de estatísticas de uso anônimo do Chrome, como a porcentagem de carregamentos de página que usam uma propriedade CSS ou um recurso HTML ou JavaScript.

As variações do Chrome são especialmente úteis para comparar estatísticas de um grupo de usuários com outro. Por exemplo, um recurso pode ser ativado para alguns usuários e não para outros, e o Chrome pode comparar métricas de cada grupo. Essas métricas podem incluir uso de memória, tempos de carregamento de página ou o uso de um recurso do navegador. Isso permite que os engenheiros do Chrome comparem o desempenho ou outras métricas entre usuários que ativaram um recurso, usuários que desativaram o recurso ou usuários com diferentes variações de recursos.

Testes de campo de variações do Chrome

Cada conjunto de variações de um recurso é chamado de estudo ou teste de campo, e cada um tem uma duração fixa. Quando o estudo de um recurso é concluído, todos os usuários incluídos em um grupo de comportamentos não padrão recebem a configuração padrão do Chrome para o recurso: ativado ou desativado.

A maioria dos recursos que podem ser controlados pelas variações do Chrome corresponde a uma flag que pode ser definida na página chrome://flags. Como alternativa, se você executar o Chrome na linha de comando, use as sinalizações --enable-features e --disable-features para configurar as variações do Chrome.

Variações do Chrome para empresas

Para clientes corporativos, o Chrome também oferece a política ChromeVariações para gerenciar as variações. Obviamente, recomendamos deixar as variações do Chrome ativadas para que o Chrome possa fornecer rapidamente correções de segurança críticas.

Saiba mais