Talvez você já tenha 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 do Chrome, o navegador pode ativar ou desativar um recurso ou testar uma mudança para um subconjunto de usuários.
Nem tudo no Chrome é apresentado usando as variações do Chrome. No entanto, a equipe do Chrome pode usar as variações sempre que necessário. 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.
- Controla 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. Mas, em alguns casos, um recurso pode não estar disponível para determinados usuários, mesmo que eles acessem uma página que forneça 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 das variações do Chrome, conhecido como seed de variações. Há um servidor dedicado para fornecer seeds de variações do Chrome. O Chrome faz uma solicitação HTTPS ao servidor, e ele responde com uma semente compactada por delta.
Quando o Chrome no seu dispositivo solicita o arquivo de inicialização, ele fornece o número da versão e o sistema operacional em que está sendo executado. O arquivo retornado pelo back-end das variações do Chrome é usado para ativar ou desativar recursos 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 acompanha a qual grupo de variação ele pertence.
Lançamento de recursos e canais do Chrome
Um dos usos mais importantes das variações do Chrome é a introdução gradual de mudanças ou novos recursos para uma porcentagem de clientes do Chrome. Isso é fundamental 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 do uso e dos 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 nem sempre conseguem prever como os usuários reais vão responder a mudanças e novos recursos em grande escala.
Com as variações do Chrome, é possível verificar o uso e as métricas do Chrome Stable. Ao medir o impacto das mudanças no Chrome Stable, podemos lançar 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 do Chrome.
Ativar um novo recurso
Usar as variações do Chrome para controlar a ativação de um novo recurso é especialmente útil para qualquer coisa que possa ser mais arriscada de alguma forma 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 ficar sujeito a um ataque de negação de serviço. As variações do Chrome podem ser usadas para desativar rapidamente esse recurso, já que a configuração das variações do Chrome é baixada 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 de 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 especialmente 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. Lançamos o novo seletor de fotos do Android para uma grande proporção dos nossos usuários e, inicialmente, notamos um aumento significativo no número de imagens compartilhadas na Web por esse grupo. 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 resultou em 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 navegador poderá monitorar e enviar métricas automaticamente para o back-end do Chrome com a análise de métricas do usuário (UMA, na sigla em inglês).
Confira exemplos das 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 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 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
Cada conjunto de variações de um recurso é chamado de estudo ou teste de campo, e cada um tem uma duração fixa. Quando 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: 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 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 mudar 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 de variações do Chrome para gerenciar as variações do Chrome. Recomendamos deixar as variações do Chrome ativadas para que o navegador possa fornecer rapidamente correções de segurança críticas.