Un mecanismo para que Chrome pruebe nuevas funciones del navegador
Es posible que hayas oído hablar de las variaciones de Chrome o de las pruebas de campo de Chrome, o incluso del nombre interno interno, Chrome Finch.
Todos estos nombres se llaman para lo mismo: un mecanismo para probar nuevas funciones o cambios en el navegador Chrome, o en ChromeOS, el sistema operativo Chrome que se ejecuta en las Chromebooks.
¿Para qué se usan las variaciones de Chrome?
Las variaciones de Chrome permiten que Chrome active una función nueva, desactive una función o pruebe un cambio en una función para un subconjunto de usuarios.
No todo en Chrome se presenta con el mecanismo de variaciones de Chrome. Sin embargo, el equipo de Chrome puede usar las variaciones de Chrome siempre que necesitemos tener especial cuidado al realizar un cambio o cuando exista el riesgo de que un cambio afecte el rendimiento de formas no previstas. Un "cambio" puede significar una mejora del rendimiento en el código de Chrome, una actualización del aspecto o el funcionamiento del navegador, o, en ocasiones, incluso una modificación en una API de JavaScript.
Las variaciones de Chrome también se pueden usar para validar una hipótesis sobre un cambio o una actualización. Por ejemplo, para un porcentaje de usuarios en un grupo de variaciones de Chrome, intentamos ajustar los parámetros del protocolo de red QUIC a fin de hacer que Chrome sea más rápido en las condiciones reales de la red de los usuarios.
Otra área en la que puedes encontrar variaciones de Chrome es si trabajas con las pruebas de origen de Chrome. De forma predeterminada, se habilita una función de prueba de origen en todas las páginas que proporcionan un token de prueba válido, pero, en algunos casos, las variaciones de Chrome se usan para controlar la activación de una función. Esto significa que una función de prueba de origen puede no estar disponible para ciertos usuarios, incluso cuando visitan una página que proporciona un token de prueba válido. Se proporciona información sobre la proporción de usuarios aptos para la activación de una función de prueba de origen junto con la documentación y las actualizaciones de cada prueba de origen.
¿Cómo funcionan las variaciones de Chrome?
Cada 30 minutos en computadoras de escritorio o dispositivos móviles, o cada vez que inicias Chrome, el navegador realiza una solicitud al backend de Chrome para obtener el archivo de configuración de variaciones de Chrome, que se conoce como el inicio de las variaciones. En otras palabras, hay un servidor dedicado que proporciona valores iniciales de las variaciones de Chrome. Chrome realiza una solicitud HTTPS al servidor, y este responde con un valor inicial comprimido en delta.
Cuando Chrome en tu dispositivo se comunica con el backend de variaciones de Chrome para obtener el archivo de origen, también proporciona información sobre la versión de Chrome y el sistema operativo en el que se ejecuta. El archivo que muestra el backend de variaciones de Chrome se usa para activar o desactivar funciones, o especificar variaciones en una función.
Chrome usa los datos del archivo de origen y un valor inicial de aleatorización almacenado localmente para asignar el navegador a un grupo de variaciones de forma aleatoria. En otras palabras, el valor inicial de aleatorización, combinado con el archivo de origen del backend de variaciones de Chrome, se puede usar para activar o desactivar funciones en el navegador para un subconjunto de usuarios. El navegador, en tu dispositivo, realiza un seguimiento del grupo de variaciones al que pertenece.
Lanzamiento de funciones y canales de Chrome
Uno de los usos más importantes de las variaciones de Chrome es agregar gradualmente los cambios o las funciones nuevas a un porcentaje de clientes de Chrome. Esto es fundamental para una aplicación compleja como Chrome, que tiene miles de millones de usuarios, con miles de tipos de dispositivos en varias plataformas y que usa decenas de idiomas diferentes para millones de apps y sitios web diferentes.
Chrome recibe comentarios valiosos sobre el uso y las pruebas en Chrome Canary, la versión beta y el desarrollador. Podemos usar las variaciones de Chrome para activar o desactivar funciones en cualquiera de estos canales de versiones. Sin embargo, esos canales los usan principalmente los desarrolladores y otros especialistas. Los usuarios de la versión estable de Chrome interactúan con Chrome de manera diferente y en cantidades mucho mayores, por lo que siempre debemos validar en el canal estable. Esto nos permite solucionar los problemas que se encuentran en el uso normal del navegador. Los ingenieros de Chrome no siempre pueden predecir cómo los usuarios reales responderán a los cambios y a las funciones nuevas a gran escala.
Las variaciones de Chrome son un mecanismo fundamental para ayudar con esto, ya que permiten verificar el uso y las métricas de la versión estable de Chrome con una función activada o desactivada. Si medimos el impacto de los cambios en la versión estable de Chrome, podemos enviar las mejores funciones posibles y crear un navegador mejor, incluso cuando las compensaciones son complejas.
¿Cuándo usan los ingenieros de Chrome las variaciones de Chrome?
Hay tres razones principales por las que Chrome necesita variaciones de Chrome.
Activar una función nueva
El uso de las variaciones de Chrome para controlar la activación de una función nueva es particularmente útil para cualquier tarea que pueda ser más riesgosa de alguna manera o que pueda afectar el rendimiento.
Las variaciones de Chrome nos permiten brindar una nueva función a un subconjunto de usuarios. Luego, los ingenieros de Chrome pueden verificar si hay diferencias en el rendimiento o ver otros tipos de comentarios del grupo de variantes.
Cómo desactivar una función
Las variaciones de Chrome se pueden usar como un mecanismo de seguridad para desactivar una función, aunque esto rara vez sucede.
Por ejemplo, una nueva función de red puede ser objeto de un ataque de denegación del servicio. Las variaciones de Chrome se pueden usar para desactivar rápidamente una función como esta, ya que la configuración se descarga cada 30 minutos y la configuración se activa cada vez que reinicias Chrome. Por el contrario, actualizar Chrome y esperar a que la versión nueva se propague a miles de millones de usuarios sería mucho más lento.
Cómo probar cambios en un elemento
Por último, las variaciones de Chrome se pueden usar para validar los cambios y las actualizaciones. Por ejemplo, podemos ajustar la dificultad del juego del dinosaurio sin conexión de Chrome para que la interacción sea más divertida.
Las variaciones de Chrome también se pueden usar para estudiar los efectos a largo plazo de las funciones nuevas. Esto se logra mediante el mecanismo de variaciones de Chrome para retener funciones para una pequeña proporción de usuarios, tal vez el 1% o menos. Un grupo de aislamiento puede ser útil para verificar cambios y efectos secundarios que solo se hacen visibles con el tiempo.
Un grupo de aislamiento puede ser particularmente importante para los cambios en la interfaz de usuario, en los que es probable que los usuarios interactúen con una función cuando sea nueva, pero que podrían comportarse de manera diferente a largo plazo.
Por ejemplo, lanzamos un selector de fotos en Chrome, pero la función se suspendió temporalmente a un pequeño porcentaje de usuarios para comparar resultados. Enviamos el nuevo Selector de fotos de Android a una gran proporción de nuestros usuarios y, en un principio, vimos un aumento significativo en la cantidad de imágenes que ese grupo compartía en la Web. Sin embargo, en los seis meses en que tuvimos la variación de retención, vimos que el aumento en el uso disminuyó significativamente. Esto se debió a que la disponibilidad del nuevo selector de fotos recomendó a los sitios agregar el atributo de aceptación a los elementos de entrada del archivo, lo que mejoró la experiencia de todos los usuarios.
¿Cómo se usan las variaciones de Chrome para la validación?
Si el parámetro de configuración para ayudar a mejorar las funciones y el rendimiento de Chrome está habilitado (chrome://settings/syncSetup?search=improve
), Chrome puede supervisar y enviar métricas automáticamente al backend de Chrome mediante un mecanismo conocido como análisis de métricas del usuario (UMA). Puedes ver ejemplos de estadísticas de uso anónimas de Chrome en chromestatus.com/metrics, como el porcentaje de cargas de páginas que usan una propiedad de CSS o una función de HTML o JavaScript.
Las variaciones de Chrome son especialmente útiles para comparar estadísticas de un grupo de usuarios con otro. Por ejemplo, una función se puede activar para algunos usuarios y no para otros, y Chrome puede comparar métricas para cada grupo. Estas métricas pueden incluir el uso de memoria, los tiempos de carga de la página o el uso de una función del navegador. Esto permite a los ingenieros de Chrome comparar el rendimiento y otras métricas entre los usuarios que tienen una función activada, los que la tienen desactivada o los usuarios con diferentes variantes de funciones.
Pruebas de campo de las variaciones de Chrome
Cada conjunto de variaciones para una función se denomina estudio o prueba de campo, y cada una tiene una duración fija. Cuando finalice el estudio de una función, los usuarios incluidos en un grupo de comportamiento no predeterminado obtendrán el parámetro de configuración predeterminado de Chrome para la función, ya sea que esté habilitado o inhabilitado.
La mayoría de las funciones que se pueden controlar con las variaciones de Chrome corresponden a una marca que se puede configurar desde la página chrome://flags
. Como alternativa, si ejecutas Chrome desde la línea de comandos, puedes usar las marcas --enable-features
y --disable-features
para configurar las variaciones de Chrome.
La marca --reset-variation-state
fuerza el restablecimiento del estado de las variaciones de Chrome para el cliente actual. Esto significa que el cliente puede moverse a diferentes grupos de variaciones de Chrome.
Variaciones de Chrome para empresas
Para los clientes empresariales, Chrome también proporciona la política de ChromeVariations para administrar las variaciones de Chrome. Por supuesto, recomendamos dejar habilitadas las variaciones de Chrome para que Chrome pueda proporcionar rápidamente las correcciones críticas de seguridad.