Comprendre les variantes Chrome

Vous avez peut-être entendu parler des variantes Chrome, parfois appelées "Chrome Field Trials" ou "Chrome Finch" (nom de code interne).

Il s'agit de la même chose: un mécanisme permettant de tester de nouvelles fonctionnalités ou des modifications apportées au navigateur Chrome ou à ChromeOS, le système d'exploitation Chrome exécuté sur les Chromebooks.

Que sont les variantes Chrome ?

Les variantes Chrome permettent à Chrome d'activer une nouvelle fonctionnalité, de la désactiver ou de tester un changement de fonctionnalité pour un sous-ensemble d'utilisateurs.

Les variantes Chrome ne sont pas utilisées pour toutes les nouveautés de Chrome. Toutefois, l'équipe Chrome peut utiliser les variantes Chrome à tout moment. Les variantes Chrome peuvent être utilisées pour:

  • Autorisez les ingénieurs Chrome à être particulièrement prudents lorsqu'ils effectuent une certaine modification. Ils peuvent voir un risque pour les performances du navigateur ou avoir d'autres préoccupations.
  • Valider une hypothèse concernant un changement ou une mise à jour Par exemple, pour un pourcentage d'utilisateurs d'un groupe de variantes Chrome, nous avons modifié les paramètres du protocole réseau QUIC afin de rendre Chrome plus rapide en fonction des conditions réseau réelles des utilisateurs.
  • Contrôler l'activation d'une fonctionnalité de test d'origine Par défaut, les essais d'origine sont activés sur toutes les pages qui fournissent un jeton d'essai valide. Toutefois, dans certains cas, une fonctionnalité peut ne pas être disponible pour certains utilisateurs, même s'ils accèdent à une page qui fournit un jeton d'essai valide.

Comment fonctionnent les variantes Chrome ?

Toutes les 30 minutes sur ordinateur ou mobile, ou chaque fois que vous démarrez Chrome, le navigateur envoie une requête au backend Chrome pour obtenir le fichier de configuration des variantes Chrome, appelé graine des variantes. Un serveur dédié fournit les graines Chrome Variations. Chrome envoie une requête HTTPS au serveur, et le serveur répond avec un germe compressé delta.

Les informations sur le navigateur et le système d'exploitation sont envoyées au backend des variantes Chrome. Le grain de Chrome Variations est envoyé au navigateur, qui dispose d'un grain de randomisation.

Lorsque Chrome sur votre appareil contacte le fichier de graine, il fournit le numéro de version et le système d'exploitation sur lequel il s'exécute. Le fichier renvoyé par le backend des variantes Chrome permet d'activer ou de désactiver des fonctionnalités, ou de spécifier des variantes d'une fonctionnalité.

Chrome utilise les données du fichier de graine et un graine de randomisation stocké localement pour attribuer de manière aléatoire le navigateur à un groupe de variantes. Votre navigateur, sur votre appareil, garde la trace du groupe de variantes auquel il appartient.

Déploiement de la fonctionnalité et canaux Chrome

L'une des utilisations les plus importantes des variantes Chrome consiste à déployer progressivement des modifications ou de nouvelles fonctionnalités auprès d'un pourcentage de clients Chrome. C'est crucial pour une application complexe comme Chrome, qui compte des milliards d'utilisateurs, avec des milliers de types d'appareils sur plusieurs plates-formes, utilisant des dizaines de langues différentes pour des millions d'applications et de sites Web différents.

Chrome reçoit des commentaires précieux sur l'utilisation et les tests dans Chrome Canary, en développement et en version bêta. Nous pouvons utiliser les variantes Chrome pour activer ou désactiver des fonctionnalités dans l'un de ces canaux de publication. Toutefois, ces canaux sont principalement utilisés par les développeurs et d'autres spécialistes.

Les utilisateurs de Chrome Stable interagissent avec Chrome différemment et en bien plus grand nombre. Nous devons donc toujours effectuer des validations sur le canal stable. Cela nous permet de résoudre les problèmes rencontrés lors de l'utilisation normale du navigateur. Les ingénieurs Chrome ne peuvent pas toujours prédire comment les utilisateurs réels réagiront aux modifications et aux nouvelles fonctionnalités, à grande échelle.

Les variantes Chrome permettent de vérifier l'utilisation et les métriques de Chrome stable. En mesurant l'impact des modifications apportées à Chrome stable, nous pouvons proposer les meilleures fonctionnalités possibles et créer un meilleur navigateur, même lorsque les compromis sont complexes.

Quand les ingénieurs Chrome utilisent-ils les variantes Chrome ?

Chrome a besoin des variantes Chrome pour trois raisons principales.

Activer une nouvelle fonctionnalité

L'utilisation des variantes Chrome pour contrôler l'activation d'une nouvelle fonctionnalité est particulièrement utile pour tout élément qui pourrait être plus risqué d'une manière ou d'une autre, ou qui pourrait affecter les performances.

Les variantes Chrome nous permettent de proposer une nouvelle fonctionnalité à un sous-ensemble d'utilisateurs. Les ingénieurs Chrome peuvent ensuite vérifier les différences de performances ou examiner d'autres types de commentaires du groupe de variantes.

Désactiver une fonctionnalité

Les variantes Chrome peuvent être utilisées comme mécanisme de sécurité pour désactiver une fonctionnalité, bien que cela soit rare.

Par exemple, une nouvelle fonctionnalité de mise en réseau peut faire l'objet d'une attaque de déni de service. Vous pouvez utiliser les variantes Chrome pour activer rapidement cette fonctionnalité, car la configuration des variantes Chrome est téléchargée toutes les 30 minutes et les paramètres sont activés chaque fois que vous redémarrez Chrome.

À l'inverse, la mise à jour de Chrome et l'attente de la propagation de la nouvelle version auprès de milliards d'utilisateurs serait beaucoup plus lente.

Essayer des modifications apportées à une fonctionnalité

Les variantes Chrome peuvent être utilisées pour valider les modifications et les mises à jour. Par exemple, nous pourrions affiner la difficulté du jeu Chrome Dino hors connexion pour rendre l'interaction plus amusante.

Vous pouvez également utiliser les variantes Chrome pour étudier les effets à long terme des nouvelles fonctionnalités. Pour ce faire, nous utilisons le mécanisme de variations Chrome pour retenir des fonctionnalités pour une petite proportion d'utilisateurs, peut-être 1% ou moins. Un groupe de retenue peut être utile pour vérifier les modifications et les effets secondaires qui ne deviennent visibles qu'avec le temps.

Un groupe de retenue peut être particulièrement important pour les modifications de l'interface utilisateur, car les utilisateurs sont susceptibles d'interagir avec une fonctionnalité lorsqu'elle est nouvelle, mais peuvent se comporter différemment à long terme.

Par exemple, nous avons lancé un sélecteur de photos dans Chrome, mais cette fonctionnalité a été temporairement retenue pour un faible pourcentage d'utilisateurs afin de comparer les résultats. Nous avons déployé le nouveau sélecteur de photos Android auprès d'une grande partie de nos utilisateurs. Nous avons d'abord constaté une augmentation significative du nombre d'images partagées par ce groupe sur le Web. Toutefois, au cours des six mois où nous avons appliqué la variation de la retenue, nous avons constaté que l'augmentation de l'utilisation a diminué de manière significative. En effet, la disponibilité du nouveau sélecteur de photos a encouragé les sites à ajouter l'attribut accept aux éléments d'entrée de fichier, ce qui a permis d'améliorer l'expérience pour tous les utilisateurs.

Comment les variantes Chrome sont-elles utilisées pour la validation ?

Si le paramètre permettant de contribuer à l'amélioration des fonctionnalités et des performances de Chrome est activé (chrome://settings/syncSetup?search=improve), Chrome peut surveiller et envoyer automatiquement des métriques au backend Chrome avec l'analyse des métriques utilisateur (UMA).

Vous pouvez consulter des exemples d'informations statistiques anonymes sur l'utilisation de Chrome sur chromestatus.com/metrics, comme le pourcentage de chargements de pages qui utilisent une propriété CSS ou une fonctionnalité HTML ou JavaScript.

Les variations Chrome sont particulièrement utiles pour comparer les statistiques d'un groupe d'utilisateurs à celles d'un autre. Par exemple, une fonctionnalité peut être activée pour certains utilisateurs et non pour d'autres. Chrome peut ensuite comparer les métriques de chaque groupe. Ces métriques peuvent inclure l'utilisation de la mémoire, les temps de chargement des pages ou l'utilisation d'une fonctionnalité de navigateur. Cela permet aux ingénieurs Chrome de comparer les performances ou d'autres métriques entre les utilisateurs qui ont activé une fonctionnalité, ceux qui l'ont désactivée ou ceux qui ont des variantes de la fonctionnalité.

Concours de chiens de chasse

Chaque ensemble de variantes d'une fonctionnalité est appelé étude ou test sur le terrain, et chacun a une durée fixe. Une fois une étude terminée, tous les utilisateurs qui ont été inclus dans un groupe de comportement autre que par défaut reçoivent le paramètre Chrome par défaut pour la fonctionnalité : activé ou désactivé.

La plupart des fonctionnalités pouvant être contrôlées par les variantes Chrome correspondent à un indicateur pouvant être défini sur la page chrome://flags. Si vous exécutez Chrome à partir de la ligne de commande, vous pouvez également utiliser les indicateurs --enable-features et --disable-features pour configurer les variantes Chrome.

L'indicateur --reset-variation-state force la réinitialisation de l'état des variantes Chrome pour le client actuel. Cela signifie que le client peut passer à différents groupes de variantes Chrome.

Variantes Chrome pour les entreprises

Pour les clients professionnels, Chrome fournit également la règle Chrome Variations pour gérer les variantes de Chrome. Nous vous recommandons de laisser les variantes Chrome activées afin que Chrome puisse fournir rapidement des correctifs de sécurité essentiels.

En savoir plus