Que sont les variantes Chrome ?

Un mécanisme permettant à Chrome de tester les nouvelles fonctionnalités du navigateur

Vous avez peut-être entendu parler des variantes Chrome, des essais Chrome Field Trials ou même du nom de code interne Chrome Finch.

Tous ces noms correspondent à la même chose: un mécanisme permettant de tester de nouvelles fonctionnalités ou des modifications du navigateur Chrome, ou encore Chrome OS, le système d'exploitation Chrome qui s'exécute sur les Chromebooks.

À quoi servent les variantes Chrome ?

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

Dans Chrome, tous les éléments ne sont pas introduits par le biais du mécanisme des variantes de Chrome. Cependant, l'équipe Chrome peut utiliser des variantes Chrome chaque fois que nous devons faire preuve de prudence avant d'apporter une modification, ou en cas de risque qu'une modification affecte les performances d'une manière inattendue. Une "modification" peut entraîner une amélioration des performances du code de Chrome, une mise à jour de l'apparence ou du fonctionnement du navigateur, ou parfois même une modification d'une API JavaScript.

Les variantes Chrome peuvent également être utilisées pour valider une hypothèse concernant une modification ou une mise à jour. Par exemple, pour un certain pourcentage d'utilisateurs d'un groupe de variantes Chrome, nous avons essayé d'ajuster les paramètres du protocole réseau QUIC afin d'accélérer la vitesse de Chrome pour les conditions réelles du réseau.

Vous pouvez également rencontrer des variantes Chrome si vous utilisez les phases d'évaluation de Chrome. Par défaut, une phase d'évaluation est activée sur toutes les pages qui fournissent un jeton d'essai valide. Toutefois, dans certains cas, les variantes Chrome sont utilisées pour contrôler l'activation d'une fonctionnalité. Cela signifie qu'une fonctionnalité d'évaluation peut ne pas être disponible pour certains utilisateurs, même lorsqu'ils consultent une page fournissant un jeton d'essai valide. Les informations sur la proportion d'utilisateurs éligibles à l'activation d'une phase d'évaluation sont fournies dans la documentation et dans les mises à jour de chaque phase d'évaluation.

Comment fonctionnent les variantes Chrome ?

Toutes les 30 minutes sur ordinateur ou sur 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é source des variantes. En d'autres termes, il existe un serveur dédié pour fournir les valeurs initiales des variantes Chrome. Chrome envoie une requête HTTPS au serveur, qui répond avec une valeur initiale compressée par delta.

Les informations sur le navigateur et le système d'exploitation sont transférées vers le backend des variantes Chrome. La valeur de départ des variantes Chrome est dirigée vers le navigateur, qui possède une valeur de départ de randomisation.

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

Chrome utilise les données du fichier source et une graine de randomisation stockée localement pour attribuer de manière aléatoire le navigateur à un groupe de variantes. En d'autres termes, la valeur de départ de la randomisation, combinée au fichier source du backend des variantes Chrome, peut être utilisée pour activer ou désactiver des fonctionnalités dans le navigateur, pour un sous-ensemble d'utilisateurs. Votre navigateur, sur votre appareil, suit le groupe de variantes auquel il appartient.

Déploiement des fonctionnalités et versions de Chrome

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

Chrome reçoit des commentaires précieux sur l'utilisation et les tests dans Chrome Canary, les développeurs et les versions bêta. Nous pouvons utiliser les variantes Chrome pour activer ou désactiver des fonctionnalités dans n'importe laquelle de ces versions disponibles. Toutefois, ces canaux sont principalement utilisés par les développeurs et d'autres spécialistes. Les utilisateurs de la version stable de Chrome interagissent avec Chrome différemment et en nombre beaucoup plus important. Nous devons donc toujours valider la version 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, à grande échelle, comment les utilisateurs réels réagiront aux modifications et aux nouvelles fonctionnalités.

Les variantes Chrome sont un mécanisme essentiel pour y parvenir, car elles permettent de vérifier l'utilisation et les métriques de la version stable de Chrome à l'aide d'une fonctionnalité activée ou désactivée. En mesurant l'impact des modifications apportées à la version stable de Chrome, nous pouvons proposer les meilleures fonctionnalités et améliorer le navigateur, même lorsque les compromis sont complexes.

Dans quel cas les ingénieurs Chrome utilisent-ils les variantes Chrome ?

Les variantes Chrome sont nécessaires pour trois raisons principales.

Activer une nouvelle fonctionnalité

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

Les variantes Chrome nous permettent de déployer une nouvelle fonctionnalité auprès d'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é, mais cela arrive rarement.

Par exemple, une nouvelle fonctionnalité de mise en réseau peut faire l'objet d'une attaque par déni de service. Les variantes Chrome peuvent être utilisées pour désactiver rapidement une fonctionnalité de ce type, car leur configuration est téléchargée toutes les 30 minutes et les paramètres sont activés à chaque redémarrage de Chrome. En revanche, la mise à jour de Chrome et l'attente de la propagation de la nouvelle version à des milliards d'utilisateurs sont beaucoup plus lentes.

Essayer de modifier un élément

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

Les variantes Chrome peuvent également servir à étudier les effets à long terme de nouvelles fonctionnalités. Pour ce faire, le mécanisme des variantes Chrome permet de bloquer certaines fonctionnalités pour une petite proportion d'utilisateurs (1% ou moins). Un groupe non exposé peut être utile pour vérifier les modifications et les effets secondaires qui ne deviennent visibles qu'au fil du temps.

Un groupe non exposé à l'annonce peut être particulièrement important pour les modifications de l'interface utilisateur, où 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 réservée à un petit pourcentage d'utilisateurs afin de comparer les résultats. Nous avons envoyé le nouveau sélecteur de photos d'Android à un grand nombre de nos utilisateurs et avons constaté une augmentation significative du nombre d'images partagées sur le Web par ce groupe. Toutefois, nous avons constaté une baisse significative de l'utilisation au cours des six mois où la variante retenue était appliquée. En effet, le lancement du nouveau sélecteur de photos a encouragé les sites à ajouter l'attribut "accepter" aux éléments de saisie des fichiers, ce qui a amélioré l'expérience de tous les utilisateurs.

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

Si le paramètre permettant d'améliorer les fonctionnalités et les performances de Chrome est activé (chrome://settings/syncSetup?search=improve), Chrome peut automatiquement surveiller et envoyer des métriques au backend de Chrome à l'aide d'un mécanisme appelé UMA (User Metrics Analysis). Vous pouvez consulter des exemples de statistiques d'utilisation anonymes de Chrome sur la page chromestatus.com/metrics, comme le pourcentage de chargements de pages utilisant une propriété CSS ou une fonctionnalité HTML ou JavaScript.

Les variantes Chrome sont particulièrement utiles pour comparer les statistiques d'un groupe d'utilisateurs à un autre. Par exemple, il est possible d'activer une fonctionnalité pour certains utilisateurs uniquement, et Chrome peut comparer les métriques pour 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é du 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 présentent différentes variantes de fonctionnalités.

Tests en situation réelle des variantes Chrome

Chaque ensemble de variantes d'une caractéristique s'appelle une étude ou un essai en situation réelle, et chacune a une durée fixe. Lorsqu'une étude pour une fonctionnalité est terminée, le paramètre Chrome par défaut de cette fonctionnalité est activé ou désactivé pour tout utilisateur inclus dans un groupe de comportement autre que celui par défaut.

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

Variantes Chrome pour les entreprises

Pour les entreprises clientes, Chrome propose également la règle ChromeVariations pour gérer ces variantes. Bien entendu, 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