Возможно, вы слышали о Chrome Variations, иногда называемых Chrome Field Trials, или даже о внутреннем кодовом названии Chrome Finch.
Все это названия одного и того же: механизма тестирования новых функций или изменений в браузере Chrome или ChromeOS — операционной системе Chrome, работающей на устройствах Chromebook.
Что такое вариации Chrome?
Вариации Chrome позволяют Chrome активировать новую функцию, деактивировать функцию или попробовать изменение функции для подгруппы пользователей.
Не все в Chrome представлено с помощью Chrome Variations. Однако команда Chrome может использовать Chrome Variations, когда нам это нужно. Chrome Variations можно использовать для:
- Позвольте инженерам Chrome быть особенно осторожными при внесении определенных изменений. Они могут увидеть риск для производительности браузера или иметь другие опасения.
- Проверить гипотезу об изменении или обновлении. Например, для процента пользователей в группе Chrome Variations мы изменили параметры сетевого протокола QUIC , чтобы сделать Chrome быстрее для реальных сетевых условий пользователей.
- Управление активацией функции пробной версии Origin . По умолчанию пробные версии Origin включены на всех страницах, которые предоставляют действительный токен пробной версии. Но в некоторых случаях функция может быть недоступна для определенных пользователей, даже если они посещают страницу, которая предоставляет действительный токен пробной версии.
Как работают вариации Chrome?
Каждые 30 минут на компьютере или мобильном устройстве, или каждый раз при запуске Chrome, браузер делает запрос к бэкэнду Chrome, чтобы получить файл конфигурации Chrome Variations, который известен как семя вариаций. Существует выделенный сервер для предоставления семени Chrome Variations. Chrome делает HTTPS-запрос на сервер, и сервер отвечает сжатым дельта- семя.
Когда Chrome на вашем устройстве запрашивает файл seed, Chrome предоставляет номер версии и операционную систему, на которой он работает. Файл, возвращаемый бэкэндом Chrome Variations, используется для включения функций, выключения функций или указания вариаций в функции.
Chrome использует данные в файле seed и локально сохраненный randization seed для случайного назначения браузера в группу вариаций. Ваш браузер на вашем устройстве отслеживает, к какой группе вариаций он принадлежит.
Развертывание функций и каналы Chrome
Одно из самых важных применений Chrome Variations — постепенное внедрение изменений или новых функций для определенного процента клиентов Chrome. Это имеет решающее значение для такого сложного приложения, как Chrome, у которого миллиарды пользователей, тысячи типов устройств на разных платформах, десятки различных языков для миллионов различных приложений и веб-сайтов.
Chrome получает ценную обратную связь от использования и тестирования в Chrome Canary, Dev и Beta. Мы можем использовать Chrome Variations для активации или деактивации функций в любом из этих каналов выпуска . Однако эти каналы в основном используются разработчиками и другими специалистами.
Пользователи Chrome Stable взаимодействуют с Chrome по-разному и в гораздо большем количестве, поэтому нам всегда нужно проводить валидацию на канале Stable. Это позволяет нам решать любые проблемы, возникающие при обычном использовании браузера. Инженеры Chrome не всегда могут предсказать, как реальные пользователи отреагируют на изменения и новые функции в масштабе.
Chrome Variations позволяет проверять использование и показатели Chrome Stable. Измеряя влияние изменений в Chrome Stable, мы можем поставлять наилучшие возможные функции и создавать лучший браузер, даже если компромиссы сложны.
Когда инженеры Chrome используют Chrome Variations?
Есть три основные причины, по которым Chrome нуждается в вариациях Chrome.
Активировать новую функцию
Использование вариаций Chrome для обеспечения контроля над активацией новой функции особенно полезно в случаях, когда это может быть сопряжено с большим риском или может повлиять на производительность.
Chrome Variations позволяет нам предоставлять новую функцию подгруппе пользователей. Затем инженеры Chrome могут проверить различия в производительности или просмотреть другие типы отзывов от группы вариаций.
Отключить функцию
Вариации Chrome можно использовать в качестве защитного механизма для отключения функции, хотя это случается редко.
Например, новая сетевая функция может стать объектом атаки типа «отказ в обслуживании». Chrome Variations можно использовать для быстрого отключения этой функции, поскольку конфигурация Chrome Variations загружается каждые 30 минут, а настройки активируются каждый раз при перезапуске Chrome.
Напротив, обновление Chrome и ожидание распространения новой версии среди миллиардов пользователей заняло бы гораздо больше времени.
Попробуйте внести изменения в функцию
Chrome Variations можно использовать для проверки изменений и обновлений. Например, мы могли бы настроить сложность игры Chrome Offline Dino, чтобы сделать взаимодействие более увлекательным.
Chrome Variations также можно использовать для изучения долгосрочных эффектов новых функций. Это делается с помощью механизма Chrome Variations, чтобы задержать функции для небольшой доли пользователей, может быть, 1% или меньше. Группа задержки может быть полезна для проверки изменений и побочных эффектов, которые становятся заметны только со временем.
Группа сдерживания может быть особенно важна для изменений пользовательского интерфейса, когда пользователи, скорее всего, будут взаимодействовать с новой функцией, но в долгосрочной перспективе ее поведение может измениться.
Например, мы запустили фотовыборщик в Chrome, но эта функция была временно отложена для небольшого процента пользователей, чтобы сравнить результаты. Мы отправили новый Android Photo Picker большой доле наших пользователей и изначально увидели значительное увеличение количества изображений, которые группа поделилась в Интернете. Однако за шесть месяцев, пока у нас была вариация с отсрочкой, мы увидели, что рост использования значительно снизился. Это произошло потому, что доступность нового фотовыборщика побудила сайты добавлять атрибут accept к элементам ввода файла, что привело к улучшению опыта для всех пользователей.
Как используются вариации 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 Variations для текущего клиента. Это означает, что клиент может перейти в другие группы Chrome Variations.
Варианты Chrome для предприятий
Для корпоративных клиентов Chrome также предоставляет политику Chrome Variations для управления Chrome Variations. Мы рекомендуем оставить Chrome Variations включенными, чтобы Chrome мог быстро предоставлять критические исправления безопасности.