Понимание вариантов Chrome

Возможно, вы слышали о Chrome Variations, иногда называемых Chrome Field Trials, или даже о внутреннем кодовом названии Chrome Finch.

Все это названия одного и того же: механизма тестирования новых функций или изменений в браузере Chrome или в ChromeOS — операционной системе Chrome, работающей на устройствах Chromebook.

Что такое вариации Chrome?

Вариации Chrome позволяют Chrome активировать новую функцию, деактивировать функцию или попробовать изменение функции для подгруппы пользователей.

Не все функции Chrome реализованы с помощью вариаций Chrome. Однако команда Chrome может использовать вариации Chrome в любое время. Вариации Chrome можно использовать для:

  • Позвольте разработчикам Chrome быть особенно осторожными при внесении определённых изменений. Они могут заметить риск снижения производительности браузера или иметь другие опасения.
  • Проверка гипотезы об изменении или обновлении. Например, для определённого процента пользователей в группе Chrome Variations мы изменили параметры сетевого протокола QUIC , чтобы ускорить работу Chrome в реальных сетевых условиях пользователей.
  • Управление активацией пробной версии Origin . По умолчанию пробные версии Origin включены на всех страницах, предоставляющих действительный токен пробной версии. Однако в некоторых случаях функция может быть недоступна определённым пользователям, даже если они посещают страницу с действительным токеном пробной версии.

Как работают вариации Chrome?

Каждые 30 минут на компьютере или мобильном устройстве, а также при каждом запуске Chrome, браузер отправляет запрос к бэкэнду Chrome, чтобы получить файл конфигурации Chrome Variations, который называется начальным значением вариаций. Для предоставления начальных значений вариаций Chrome используется выделенный сервер. Chrome отправляет HTTPS-запрос к серверу, и сервер отвечает сжатым дельта- значением.

Информация о браузере и операционной системе отправляется в бэкэнд Chrome Variations. Начальное значение Chrome Variations отправляется в браузер, в котором есть начальное значение рандомизации.

Когда Chrome на вашем устройстве запрашивает начальный файл, он предоставляет номер версии и название операционной системы, на которой он работает. Файл, возвращаемый бэкендом Chrome Variations, используется для включения и выключения функций, а также для указания вариантов функций.

Chrome использует данные из файла начальных значений и локально сохранённое начальное значение рандомизации для случайного назначения браузера в группу вариантов. Браузер на вашем устройстве отслеживает, к какой группе вариантов он принадлежит.

Внедрение функций и каналы Chrome

Одно из важнейших применений Chrome Variations — постепенное внедрение изменений или новых функций для определённого процента пользователей Chrome. Это критически важно для такого сложного приложения, как Chrome, у которого миллиарды пользователей, тысячи типов устройств на разных платформах, десятки различных языков для миллионов различных приложений и веб-сайтов.

Chrome получает ценные отзывы об использовании и тестировании в версиях Chrome Canary, Dev и Beta. Мы можем использовать Chrome Variations для активации или деактивации функций в любом из этих каналов выпуска . Однако эти каналы в основном используются разработчиками и другими специалистами.

Пользователи стабильной версии Chrome взаимодействуют с Chrome по-разному, и их гораздо больше, поэтому нам всегда необходимо проводить валидацию в стабильной версии. Это позволяет нам решать любые проблемы, возникающие при обычном использовании браузера. Разработчики Chrome не всегда могут предсказать, как реальные пользователи отреагируют на изменения и новые функции в масштабе.

Вариации Chrome позволяют отслеживать использование и показатели стабильной версии Chrome. Измеряя влияние изменений в стабильной версии Chrome, мы можем предоставлять наилучшие функции и создавать лучший браузер, даже если компромиссы сложны.

Когда разработчики Chrome используют Chrome Variations?

Есть три основные причины, по которым Chrome нуждается в Chrome Variations.

Активировать новую функцию

Использование Chrome Variations для управления активацией новой функции особенно полезно в случаях, когда это может быть сопряжено с большим риском или может повлиять на производительность.

Вариации Chrome позволяют нам предоставлять новую функцию определённой группе пользователей. Разработчики Chrome могут затем проверить разницу в производительности или изучить другие отзывы от группы вариаций.

Отключить функцию

Вариации Chrome можно использовать в качестве защитного механизма для отключения функции, хотя это случается редко.

Например, новая сетевая функция может стать объектом атаки типа «отказ в обслуживании». Для быстрого отключения этой функции можно использовать Chrome Variations, поскольку конфигурация Chrome Variations загружается каждые 30 минут, а настройки активируются при каждом перезапуске Chrome.

Напротив, обновление Chrome и ожидание распространения новой версии среди миллиардов пользователей заняло бы гораздо больше времени.

Попробуйте внести изменения в функцию

Вариации Chrome можно использовать для проверки изменений и обновлений. Например, мы можем настроить сложность игры Chrome Offline Dino, чтобы сделать взаимодействие с ней более увлекательным.

Вариации Chrome также можно использовать для изучения долгосрочных эффектов новых функций. Это достигается с помощью механизма вариаций Chrome, позволяющего приостановить доступ к функциям для небольшой доли пользователей, возможно, 1% или меньше. Группа приостановки может быть полезна для отслеживания изменений и побочных эффектов, которые становятся заметны только со временем.

Группа задержки может быть особенно важна при изменениях пользовательского интерфейса, когда пользователи, скорее всего, будут взаимодействовать с новой функцией, но в долгосрочной перспективе ее поведение может измениться.

Например, мы запустили инструмент выбора фотографий в Chrome, но эта функция была временно недоступна небольшому числу пользователей для сравнения результатов. Мы предоставили новый инструмент выбора фотографий для Android значительному числу наших пользователей и изначально наблюдали значительный рост количества изображений, опубликованных группой в интернете. Однако за шесть месяцев, пока существовала эта возможность, рост использования значительно снизился. Это связано с тем, что доступность нового инструмента выбора фотографий побудила сайты добавлять атрибут «принять» к элементам ввода файлов, что улучшило взаимодействие с пользователем.

Как используются вариации Chrome для проверки?

Если включен параметр, помогающий улучшить функции и производительность Chrome ( chrome://settings/syncSetup?search=improve ), то Chrome может автоматически отслеживать и отправлять метрики в бэкэнд Chrome с помощью анализа пользовательских метрик (UMA).

Примеры анонимной статистики использования Chrome можно увидеть на сайте chromestatus.com/metrics , например, процент загрузок страниц, использующих свойство CSS или функцию HTML или JavaScript.

Вариации Chrome особенно полезны для сравнения статистики разных групп пользователей. Например, функция может быть включена для одних пользователей и отключена для других, и тогда Chrome может сравнивать метрики для каждой группы. Эти метрики могут включать использование памяти, время загрузки страницы или использование функции браузера. Это позволяет разработчикам Chrome сравнивать производительность и другие метрики между пользователями, у которых функция включена, пользователями, у которых она отключена, а также пользователями с разными вариациями функций.

Полевые испытания

Каждый набор вариаций функции называется исследованием или полевым испытанием и имеет фиксированную продолжительность. После завершения исследования все пользователи, включённые в группу поведения, отличную от стандартной, получают настройку Chrome по умолчанию для этой функции: либо включённую, либо отключённую.

Большинство функций, которыми можно управлять с помощью Chrome Variations, соответствуют флагу, который можно установить на странице chrome://flags . Кроме того, при запуске Chrome из командной строки можно использовать флаги --enable-features и --disable-features для настройки Chrome Variations.

Флаг --reset-variation-state принудительно сбрасывает состояние вариаций Chrome для текущего клиента. Это означает, что клиент может перейти в другие группы вариаций Chrome.

Варианты Chrome для предприятий

Для корпоративных клиентов Chrome также предоставляет политику «Вариации Chrome» для управления вариациями Chrome. Мы рекомендуем оставить вариации Chrome включёнными, чтобы Chrome мог быстро предоставлять критически важные исправления безопасности.

Узнать больше