Entender as variações do Chrome

Você já deve ter ouvido falar das variações do Chrome, às vezes conhecidas como testes de campo do Chrome ou até mesmo pelo codinome interno, Chrome Finch.

Todos esses nomes se referem à mesma coisa: um mecanismo para testar novos recursos ou mudanças no navegador Chrome ou no ChromeOS, o sistema operacional do Chrome que é executado em Chromebooks.

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

Com as variações, o Chrome pode ativar, desativar ou tentar mudar um recurso para um subconjunto de usuários.

Nem tudo no Chrome é introduzido usando as variações do Chrome. No entanto, a equipe do Chrome pode usar as variações sempre que precisar. As variações do Chrome podem ser usadas para:

  • Permitir que os engenheiros do Chrome tenham cuidado especial ao fazer uma determinada mudança. Eles podem perceber um risco para o desempenho do navegador ou ter outras preocupações.
  • 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, modificamos os parâmetros do protocolo de rede QUIC para tornar o Chrome mais rápido nas condições de rede reais dos usuários.
  • Controle a ativação de um recurso de teste de origem. Por padrão, os testes de origem são ativados em todas as páginas que fornecem um token de teste válido. No entanto, em alguns casos, um recurso pode não estar disponível para alguns usuários, mesmo que eles acessem uma página que fornece um token de teste válido.

Como as variações do Chrome funcionam?

A cada 30 minutos no computador ou dispositivo móvel ou sempre que você inicia o Chrome, o navegador faz uma solicitação ao back-end do Chrome para receber o arquivo de configuração do Chrome Variations, conhecido como semente das variações. Há um servidor dedicado para fornecer sementes do Chrome Variations. O Chrome faz uma solicitação HTTPS para o servidor, e o servidor responde com uma semente compactada delta.

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

Quando o Chrome no seu dispositivo solicita o arquivo de semente, ele fornece o número da versão e o sistema operacional em que está sendo executado. O arquivo retornado pelo back-end do Chrome Variations é usado para ativar, desativar ou especificar variações em um recurso.

O Chrome usa os dados no arquivo de semente e uma semente de randomização armazenada localmente para atribuir aleatoriamente o navegador a um grupo de variação. O navegador no seu dispositivo rastreia a que grupo de variação ele pertence.

Lançamento do recurso e canais do Chrome

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

O Chrome recebe feedback valioso 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.

Os usuários do Chrome Stable interagem com o Chrome de maneira diferente e em números muito maiores. Por isso, sempre precisamos validar no canal Stable. Isso nos permite resolver problemas encontrados no uso normal do navegador. Os engenheiros do Chrome não conseguem sempre prever como os usuários reais vão reagir às mudanças e aos novos recursos em grande escala.

Com as variações, é possível verificar o uso e as métricas do Chrome Stable. Ao medir o impacto das mudanças no Chrome Stable, podemos enviar 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?

Há três motivos principais para o Chrome precisar das variações.

Ativar um novo recurso

O uso das variações do Chrome para controlar a ativação de um novo recurso é especialmente útil para tudo o que possa ser mais arriscado ou que possa afetar o desempenho.

As variações do Chrome permitem que ofereçamos um novo recurso a um subconjunto de usuários. 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 estar sujeito a um ataque de negação de serviço. As variações do Chrome podem ser usadas para ativar rapidamente esse recurso, já que a configuração das variações do Chrome é feita 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 que a nova versão seja propagada para bilhões de usuários seria muito mais lento.

Testar mudanças em um recurso

As variações do Chrome podem ser usadas para validar mudanças e atualizações. Por exemplo, podemos ajustar a dificuldade do jogo do 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 longo prazo dos novos recursos. Isso é feito usando o mecanismo de variações do Chrome para reter recursos para uma pequena proporção de usuários, talvez 1% ou menos. Um grupo de retenção pode ser útil para verificar mudanças e efeitos colaterais que só se tornam visíveis com o tempo.

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

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

Como as variações do Chrome são usadas para 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 com a análise de métricas do usuário (UMA).

Confira exemplos de estatísticas de uso anônimo do Chrome em chromestatus.com/metrics, 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 as 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 as métricas de cada grupo. Essas métricas podem incluir o uso de memória, o tempo de carregamento da 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 variações diferentes do recurso.

Avaliações em campo

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

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

A flag --reset-variation-state força a redefinição do estado das variações do Chrome para o cliente atual. Isso significa que o cliente pode migrar para diferentes grupos de variações do Chrome.

Variações do Chrome para empresas

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

Saiba mais