Представляем Chrome Dev Insider

Бен Гэлбрейт
Ben Galbraith

Разработчики часто говорят нам, что сложно следить за изменениями в сети и понимать, почему эти изменения происходят. Сегодня мы начинаем новую серию под названием Chrome Dev Insider , в которой мы поделимся (1) тем, что круто и достойно новостей, (2) информацией о том, как мы приняли решение по ключевой теме (например, изменение FLOC ) или подходе к нашей работе с экосистемой (например, Interop 2022 ), и (3) любыми действительно важными вещами, о которых вам нужно знать (например, изменения в строках пользовательского агента ).

Когда мы делимся тем, над чем работаем, это будет в контексте наших четырех приоритетов на 2022 год:

  • Обеспечение приятного пользовательского опыта: сделайте все интуитивно понятным для пользователей; будь то производительность, транзакции, идентичность или переходы.
  • Расширение возможностей Интернета: поддержка развивающейся роли Интернета от платформы потребления контента до платформы для широкого спектра возможностей, включая те, которые требуют глубокой интеграции на уровне ОС и оборудования.
  • Упрощение веб-разработки: упростите принятие решений и повысьте производительность разработчиков.
  • Улучшение конфиденциальности в Интернете: оправдайте ожидания веб-пользователей в отношении лучшей защиты конфиденциальности данных в условиях постоянно растущей сложности разработчиков в отслеживании и таргетировании.

В новостях: Interop 2022

Планируя наши планы, мы обращаем внимание на отзывы разработчиков, чтобы, среди прочего, понять основные болевые точки и потребности веб-разработчиков. Ключевой темой, которая постоянно проявляется, является совместимость браузеров , благодаря которой взаимодействие во всех браузерах работает одинаково. В течение прошлого года мы работали с экосистемой над решением этой темы в рамках нашего приоритета «упрощение веб-разработки».

В прошлом году Microsoft, Chrome и игроки экосистемы объявили о конкурсе Compat 2021 , в результате которого все популярные браузерные движки (Chromium, Gecko и Webkit) набрали более 90% баллов в пяти ключевых областях, определенных на этот год. Помимо прочего, Compat 2021 привел к созданию прочной основы для таких мощных функций, как CSS Grid ( 12% использования и стабильный рост ) и CSS Flexbox ( 77% использования ).

А в прошлом месяце Apple, Bocoup, Google, Igalia, Microsoft и Mozilla объединились в качестве сторонников , чтобы решить основные проблемы совместимости браузеров, выявленные веб-разработчиками, и согласовать общий тест. Результатом стал Interop 2022 — проект, целью которого является привнесение большей однородности в платформу. Тест фокусируется на 15 приоритетных областях, определенных разработчиками как ключевые для повышения их производительности.

Инсайдерская информация: работа с коллегами по браузерам

Думая о Interop 2022, я поговорил с Робертом Найманом и Филипом Йегенстедтом , которые участвовали в этих беседах, чтобы узнать внутреннюю историю. Вот версия редактора того, как это получилось.

Каково происхождение этой инициативы?

Роберт: Все началось еще в 2019 году, когда мы провели опрос MDN DNA 2019 . Проблемы совместимости явно выделяются как основная проблема для разработчиков, создающих веб-приложения, и мы более подробно рассмотрели их в отчете о совместимости браузеров MDN за 2020 год . Это дало нам достаточно информации и практических данных, чтобы начать работу над Compat 2021 , что, в свою очередь, привело как к продолжению этой работы, так и к расширению ее масштабов с помощью Interop 2022.

Филипп: Еще хотелось бы упомянуть тесты веб-платформы и State of CSS 2021 . На протяжении многих лет мы тесно сотрудничали с другими поставщиками браузеров при тестировании с использованием WPT, и нам очень хотелось в этом поучаствовать. Тесты для этих функций в основном уже написаны, поэтому нам просто нужно было просмотреть тесты и добавить недостающее покрытие. Google вложил много средств в wpt.fyi, но мы также должны поблагодарить Mozilla за то, что WPT достиг такого успеха, каким он является сегодня. Mozilla, конечно, также сыграла большую роль в исследованиях ДНК MDN. Помимо этого, есть еще State of CSS 2021. Чтобы реализовать такой проект, как Interop 2022, нам нужны свежие данные о потребностях веб-разработчиков, поэтому мы работали с сопровождающим опроса Сашей, чтобы включить несколько новых вопросов о проблемах совместимости браузеров. Это действительно помогло нам в процессе планирования Interop 2022.

Есть ли какие-нибудь уроки или отзывы о Compat 2021?

Роберт: Было действительно полезно измерять и получать оценки, а также понимать , как работает каждый движок браузера, чтобы мы могли следить за прогрессом и обязательно обсуждать и решать проблемы, которые были неясны или нуждались в приоритезации. Мы также быстро поняли, что «Interop» — лучшее название для этой инициативы. Термины «совместимость» и «взаимодействие» обычно различаются поставщиками браузеров, где «совместимость» относится к совместимости сайтов, а «взаимодействие» относится к двум или более браузерам, ведущим себя одинаково. В этой терминологии речь идет о совместимости, и поэтому проект соответствует этому названию.

Каково наше видение здесь?

Роберт: Чтобы Интернет оставался открытым, разнообразие браузеров и механизмов рендеринга имеет решающее значение. К сожалению, в настоящее время это дорого обходится нашим разработчикам, которым приходится поддерживать разные уровни поддержки функций в каждом движке. Наше видение заключается в том, что разработчики рассматривают веб-платформу как наиболее жизнеспособный и наиболее привлекательный выбор для своих нужд и что они могут сосредоточиться на создании наилучшего возможного опыта, а не тратить много времени на решение проблем совместимости. И совершенно очевидно, что для достижения этой цели наиболее востребованные функции должны быть реализованы во всех основных браузерных движках, чтобы действительно позволить разработчикам добиться успеха на веб-платформе.

Как нам коллективно двигаться вперед, когда браузеры с (иногда) разными целями объединяются?

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

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

Возвращаясь к Interop 2022, увидим ли мы в какой-то момент в конвейере появление функций, не связанных с дизайном или макетированием?

Филипп: Абсолютно! Interop 2022 не ограничивался функциями стиля и макета, но в конечном итоге очень сильно опирался на CSS. Частично потому, что State of CSS 2021 был свежим, но также и потому, что веб-разработчики сказали нам, что именно здесь у них больше всего проблем с различиями между браузерами. Многие области внимания, такие как элементы форм и диалогов, выходят за рамки CSS, и мы также предпринимаем некоторые усилия по исследованию редактирования API и событий указателя и мыши. Я надеюсь, что к Interop 2023 у нас будет больше свежих данных о потребностях разработчиков в Интернете, и мы добавим больше таких функций.

Ключевые предстоящие изменения

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

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

Сокращение пользовательского агента

Заголовок User-Agent и связанные с ним JS-интерфейсы передают не только полезную информацию о браузере и устройстве, но также несут с собой наследие происхождения и неточную информацию. Более проблематичным, чем почти бесконечное количество ошибок анализа строк UA, является тот факт, что они пассивно отправляются на серверы для всех запросов навигации и подресурсов. Это представляет собой примерно 10 бит энтропии, которую серверы могут использовать для создания стабильных идентификаторов отслеживания, когда пользователи перемещаются по сети.

Наш текущий план состоит в том, чтобы сократить существующую строку UA, продолжив поставлять основную версию браузера с низкой энтропией, название платформы и мобильность , заморозив информацию с высокой энтропией . Для случаев использования, требующих дополнительной информации, кроме содержащейся в заголовке, мы поставляем API User-Agent Client Hints, начиная с Chrome 89.

Мы провели пробную версию Origin в течение 6 месяцев для экспериментов и получения отзывов и были рады, что не получили никаких отзывов о поломке, несмотря на то, что в ней участвовало более 200 участников.

API доступа к локальным шрифтам

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

Локальные шрифты уже давно известны как вектор отпечатков пальцев. Хотя этот новый API не расширяет возможности использования шрифтов для снятия отпечатков пальцев, Chrome требует, чтобы пользователь предоставил новое разрешение "local-fonts" для сайта, прежде чем он сможет использовать новый API локального доступа к шрифтам.

В будущем мы планируем потребовать предоставления такого же разрешения «local-fonts» перед использованием любого другого API, обеспечивающего доступ к локальным шрифтам.

Заставить BFCache работать с Cache-control: no-store

Мы обнаружили значительную возможность улучшить частоту, с которой кэш «Назад/Вперед» может обеспечивать мгновенную навигацию вперед/назад. Для этого необходимо изменить поведение BFCache на страницах, обслуживаемых с HTTP-заголовком Cache-control: no-store . У нас есть публичное предложение, призванное предотвратить значительные неожиданности путем мониторинга различных сигналов (например, удаление страниц из BFCache при каждом изменении файлов cookie только для HTTP) и исключений (например, групповая политика для клиентов Enterprise/Edu) для уникальных контекстов. Это сложная, но захватывающая возможность, и мы будем рады дополнительному изучению и отзывам!

  • Сроки: выход Chrome 104 (22 июля) при условии отсутствия серьезных сюрпризов.
  • Призыв к действию: ознакомьтесь с предложением для получения более подробной информации, в том числе о том, как обеспечить реализацию незавершенной работы, а также о способах обмена отзывами, например о реальных сценариях, в которых наш подход может создать новые препятствия.

Я надеюсь, что благодаря этой серии статей я смогу дать нашему сообществу разработчиков ощущение сосредоточенности и связи, приблизив их к моей команде и их работе. Так что следите за обновлениями и следите за обновлениями в этом пространстве.

А пока, счастливого пути.

Что вы думаете о первом выпуске The Chrome Dev Insider? Поделитесь своим отзывом .

,

Бен Гэлбрейт
Ben Galbraith

Разработчики часто говорят нам, что сложно следить за изменениями в сети и понимать, почему эти изменения происходят. Сегодня мы начинаем новую серию под названием Chrome Dev Insider , в которой мы поделимся (1) тем, что круто и достойно новостей, (2) информацией о том, как мы приняли решение по ключевой теме (например, изменение FLOC ) или подходе к нашей работе с экосистемой (например, Interop 2022 ), и (3) любыми действительно важными вещами, о которых вам нужно знать (например, изменения в строках пользовательского агента ).

Когда мы делимся тем, над чем работаем, это будет в контексте наших четырех приоритетов на 2022 год:

  • Обеспечение приятного пользовательского опыта: сделайте все интуитивно понятным для пользователей; будь то производительность, транзакции, идентичность или переходы.
  • Расширение возможностей Интернета: поддержка развивающейся роли Интернета от платформы потребления контента до платформы для широкого спектра возможностей, включая те, которые требуют глубокой интеграции на уровне ОС и оборудования.
  • Упрощение веб-разработки: упростите принятие решений и повысьте производительность разработчиков.
  • Улучшение конфиденциальности в Интернете: оправдайте ожидания веб-пользователей в отношении лучшей защиты конфиденциальности данных в условиях постоянно растущей сложности разработчиков в отслеживании и таргетировании.

В новостях: Interop 2022

Планируя наши планы, мы обращаем внимание на отзывы разработчиков, чтобы, среди прочего, понять основные болевые точки и потребности веб-разработчиков. Ключевой темой, которая постоянно проявляется, является совместимость браузеров , благодаря которой взаимодействие во всех браузерах работает одинаково. В течение прошлого года мы работали с экосистемой над решением этой темы в рамках нашего приоритета «упрощение веб-разработки».

В прошлом году Microsoft, Chrome и игроки экосистемы объявили о конкурсе Compat 2021 , в результате которого все популярные браузерные движки (Chromium, Gecko и Webkit) набрали более 90% баллов в пяти ключевых областях, определенных на этот год. Помимо прочего, Compat 2021 привел к созданию прочной основы для таких мощных функций, как CSS Grid ( 12% использования и стабильный рост ) и CSS Flexbox ( 77% использования ).

А в прошлом месяце Apple, Bocoup, Google, Igalia, Microsoft и Mozilla объединились в качестве сторонников , чтобы решить основные проблемы совместимости браузеров, выявленные веб-разработчиками, и согласовать общий тест. Результатом стал Interop 2022 — проект, целью которого является привнесение большей однородности в платформу. Тест фокусируется на 15 приоритетных областях, определенных разработчиками как ключевые для повышения их производительности.

Инсайдерская информация: работа с коллегами по браузерам

Думая о Interop 2022, я поговорил с Робертом Найманом и Филипом Йегенстедтом , которые участвовали в этих беседах, чтобы узнать внутреннюю историю. Вот версия редактора того, как это получилось.

Каково происхождение этой инициативы?

Роберт: Все началось еще в 2019 году, когда мы провели опрос MDN DNA 2019 . Проблемы совместимости явно выделяются как основная проблема для разработчиков, создающих веб-приложения, и мы более подробно рассмотрели их в отчете о совместимости браузеров MDN за 2020 год . Это дало нам достаточно информации и практических данных, чтобы начать работу над Compat 2021 , что, в свою очередь, привело как к продолжению этой работы, так и к расширению ее масштабов с помощью Interop 2022.

Филипп: Еще хотелось бы упомянуть тесты веб-платформы и State of CSS 2021 . На протяжении многих лет мы тесно сотрудничали с другими поставщиками браузеров при тестировании с использованием WPT, и нам очень хотелось в этом поучаствовать. Тесты для этих функций в основном уже написаны, поэтому нам просто нужно было просмотреть тесты и добавить недостающее покрытие. Google вложил много средств в wpt.fyi, но мы также должны поблагодарить Mozilla за то, что WPT достиг такого успеха, каким он является сегодня. Mozilla, конечно, также сыграла большую роль в исследованиях ДНК MDN. Помимо этого, есть еще State of CSS 2021. Чтобы реализовать такой проект, как Interop 2022, нам нужны свежие данные о потребностях веб-разработчиков, поэтому мы работали с сопровождающим опроса Сашей, чтобы включить несколько новых вопросов о проблемах совместимости браузеров. Это действительно помогло нам в процессе планирования Interop 2022.

Есть ли какие-нибудь уроки или отзывы о Compat 2021?

Роберт: Было действительно полезно измерять и получать оценки, а также понимать , как работает каждый движок браузера, чтобы мы могли следить за прогрессом и обязательно обсуждать и решать проблемы, которые были неясны или нуждались в приоритезации. Мы также быстро поняли, что «Interop» — лучшее название для этой инициативы. Термины «совместимость» и «взаимодействие» обычно различаются поставщиками браузеров, где «совместимость» относится к совместимости сайтов, а «взаимодействие» относится к двум или более браузерам, ведущим себя одинаково. В этой терминологии речь идет о совместимости, и поэтому проект соответствует этому названию.

Каково наше видение здесь?

Роберт: Чтобы Интернет оставался открытым, разнообразие браузеров и механизмов рендеринга имеет решающее значение. К сожалению, в настоящее время это дорого обходится нашим разработчикам, которым приходится поддерживать разные уровни поддержки функций в каждом движке. Наше видение заключается в том, что разработчики рассматривают веб-платформу как наиболее жизнеспособный и наиболее привлекательный выбор для своих нужд и что они могут сосредоточиться на создании наилучшего возможного опыта, а не тратить много времени на решение проблем совместимости. И совершенно очевидно, что для достижения этой цели наиболее востребованные функции должны быть реализованы во всех основных браузерных движках, чтобы действительно позволить разработчикам добиться успеха на веб-платформе.

Как нам коллективно двигаться вперед, когда браузеры с (иногда) разными целями объединяются?

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

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

Возвращаясь к Interop 2022, увидим ли мы в какой-то момент в конвейере появление функций, не связанных с дизайном или макетированием?

Филипп: Абсолютно! Interop 2022 не ограничивался функциями стиля и макета, но в конечном итоге очень сильно опирался на CSS. Частично потому, что State of CSS 2021 был свежим, но также и потому, что веб-разработчики сказали нам, что именно здесь у них больше всего проблем с различиями между браузерами. Множество областей внимания, таких как элементы форм и диалогов, выходят за рамки CSS, и мы также ведем некоторые исследования по редактированию API и событий указателя и мыши. Я надеюсь, что к Interop 2023 у нас будет больше свежих данных о потребностях разработчиков в Интернете, и мы добавим больше таких функций.

Ключевые предстоящие изменения

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

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

Сокращение пользовательского агента

Заголовок User-Agent и связанные с ним JS-интерфейсы передают не только полезную информацию о браузере и устройстве, но также несут с собой наследие происхождения и неточную информацию. Более проблематичным, чем почти бесконечное количество ошибок анализа строк UA, является тот факт, что они пассивно отправляются на серверы для всех запросов навигации и подресурсов. Это представляет собой примерно 10 бит энтропии, которую серверы могут использовать для создания стабильных идентификаторов отслеживания, когда пользователи перемещаются по сети.

Наш текущий план состоит в том, чтобы сократить существующую строку UA, продолжив поставлять основную версию браузера с низкой энтропией, название платформы и мобильность , заморозив информацию с высокой энтропией . Для случаев использования, требующих дополнительной информации, кроме содержащейся в заголовке, мы поставляем API User-Agent Client Hints, начиная с Chrome 89.

Мы провели пробную версию Origin в течение 6 месяцев для экспериментов и получения отзывов и были рады, что не получили никаких отзывов о поломке, несмотря на то, что в ней участвовало более 200 участников.

API доступа к локальным шрифтам

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

Локальные шрифты уже давно известны как вектор отпечатков пальцев. Хотя этот новый API не расширяет возможности использования шрифтов для снятия отпечатков пальцев, Chrome требует, чтобы пользователь предоставил новое разрешение "local-fonts" для сайта, прежде чем он сможет использовать новый API локального доступа к шрифтам.

В будущем мы планируем потребовать предоставления такого же разрешения «local-fonts» перед использованием любого другого API, обеспечивающего доступ к локальным шрифтам.

Заставить BFCache работать с Cache-control: no-store

Мы обнаружили значительную возможность улучшить частоту, с которой кэш «Назад/Вперед» может обеспечивать мгновенную навигацию вперед/назад. Для этого необходимо изменить поведение BFCache на страницах, обслуживаемых с HTTP-заголовком Cache-control: no-store . У нас есть публичное предложение, предназначенное для предотвращения значительных неожиданностей путем мониторинга различных сигналов (например, удаление страниц из BFCache при каждом изменении файлов cookie только для HTTP) и исключений (например, групповая политика для клиентов Enterprise/Edu) для уникальных контекстов. Это сложная, но захватывающая возможность, и мы будем рады дополнительному изучению и отзывам!

  • Сроки: выход Chrome 104 (22 июля) при условии отсутствия серьезных сюрпризов.
  • Призыв к действию: ознакомьтесь с предложением для получения более подробной информации, в том числе о том, как обеспечить реализацию незавершенной работы, а также о способах обмена отзывами, например о реальных сценариях, в которых наш подход может создать новые препятствия.

Я надеюсь, что благодаря этой серии статей я смогу дать нашему сообществу разработчиков ощущение сосредоточенности и связи, приблизив их к моей команде и их работе. Так что следите за обновлениями и следите за обновлениями в этом пространстве.

А пока, счастливого пути.

Что вы думаете о первом выпуске The Chrome Dev Insider? Поделитесь своим отзывом .

,

Бен Гэлбрейт
Ben Galbraith

Разработчики часто говорят нам, что сложно следить за изменениями в сети и понимать, почему эти изменения происходят. Сегодня мы начинаем новую серию под названием Chrome Dev Insider , в которой мы поделимся (1) тем, что круто и достойно новостей, (2) информацией о том, как мы приняли решение по ключевой теме (например, изменение FLOC ) или подходе к нашей работе с экосистемой (например, Interop 2022 ), и (3) любыми действительно важными вещами, о которых вам нужно знать (например, изменения в строках пользовательского агента ).

Когда мы делимся тем, над чем работаем, это будет в контексте наших четырех приоритетов на 2022 год:

  • Обеспечение приятного пользовательского опыта: сделайте все интуитивно понятным для пользователей; будь то производительность, транзакции, идентичность или переходы.
  • Расширение возможностей Интернета: поддержка развивающейся роли Интернета от платформы потребления контента до платформы для широкого спектра возможностей, включая те, которые требуют глубокой интеграции на уровне ОС и оборудования.
  • Упрощение веб-разработки: упростите принятие решений и повысьте производительность разработчиков.
  • Улучшение конфиденциальности в Интернете: оправдайте ожидания веб-пользователей в отношении лучшей защиты конфиденциальности данных в условиях постоянно растущей сложности разработчиков в отслеживании и таргетировании.

В новостях: Interop 2022

Планируя наши планы, мы обращаем внимание на отзывы разработчиков, чтобы, среди прочего, понять основные болевые точки и потребности веб-разработчиков. Ключевой темой, которая постоянно проявляется, является совместимость браузеров , благодаря которой взаимодействие во всех браузерах работает одинаково. В течение прошлого года мы работали с экосистемой над решением этой темы в рамках нашего приоритета «упрощение веб-разработки».

В прошлом году Microsoft, Chrome и участники экосистемы объявили о конкурсе Compat 2021 , в результате которого все популярные браузерные движки (Chromium, Gecko и Webkit) набрали более 90% баллов в пяти ключевых областях, определенных на этот год. Помимо прочего, Compat 2021 привел к созданию прочной основы для таких мощных функций, как CSS Grid ( 12% использования и стабильный рост ) и CSS Flexbox ( 77% использования ).

А в прошлом месяце Apple, Bocoup, Google, Igalia, Microsoft и Mozilla объединились в качестве сторонников , чтобы решить основные проблемы совместимости браузеров, выявленные веб-разработчиками, и согласовать общий тест. Результатом стал Interop 2022 — проект, целью которого является привнесение большей однородности в платформу. Тест фокусируется на 15 приоритетных областях, определенных разработчиками как ключевые для повышения их производительности.

Инсайдерская информация: работа с коллегами по браузерам

Думая о Interop 2022, я поговорил с Робертом Найманом и Филипом Йегенстедтом , которые участвовали в этих беседах, чтобы узнать внутреннюю историю. Вот версия редактора того, как это получилось.

Каково происхождение этой инициативы?

Роберт: Все началось еще в 2019 году, когда мы провели опрос MDN DNA 2019 . Проблемы совместимости явно выделяются как основная проблема для разработчиков, создающих веб-приложения, и мы более подробно рассмотрели их в отчете о совместимости браузеров MDN за 2020 год . Это дало нам достаточно информации и практических данных, чтобы начать работу над Compat 2021 , что, в свою очередь, привело как к продолжению этой работы, так и к расширению ее масштабов с помощью Interop 2022.

Филипп: Еще хотелось бы упомянуть тесты веб-платформы и State of CSS 2021 . На протяжении многих лет мы тесно сотрудничали с другими поставщиками браузеров при тестировании с использованием WPT, и нам очень хотелось в этом поучаствовать. Тесты для этих функций в основном уже написаны, поэтому нам просто нужно было просмотреть тесты и добавить недостающее покрытие. Google вложил много средств в wpt.fyi, но мы также должны поблагодарить Mozilla за то, что WPT достиг такого успеха, каким он является сегодня. Mozilla, конечно, также сыграла большую роль в исследованиях ДНК MDN. Помимо этого, есть еще State of CSS 2021. Чтобы реализовать такой проект, как Interop 2022, нам нужны свежие данные о потребностях веб-разработчиков, поэтому мы работали с сопровождающим опроса Сашей, чтобы включить несколько новых вопросов о проблемах совместимости браузеров. Это действительно помогло нам в процессе планирования Interop 2022.

Есть ли какие-нибудь уроки или отзывы о Compat 2021?

Роберт: Было действительно полезно измерять и получать оценки, а также понимать , как работает каждый движок браузера, чтобы мы могли следить за прогрессом и обязательно обсуждать и решать проблемы, которые были неясны или нуждались в приоритезации. Мы также быстро поняли, что «Interop» — лучшее название для этой инициативы. Термины «совместимость» и «взаимодействие» обычно различаются поставщиками браузеров, где «совместимость» относится к совместимости сайтов, а «взаимодействие» относится к двум или более браузерам, ведущим себя одинаково. В этой терминологии речь идет о совместимости, и поэтому проект соответствует этому названию.

Каково наше видение здесь?

Роберт: Чтобы Интернет оставался открытым, разнообразие браузеров и механизмов рендеринга имеет решающее значение. К сожалению, в настоящее время это дорого обходится нашим разработчикам, которым приходится поддерживать разные уровни поддержки функций в каждом движке. Наше видение заключается в том, что разработчики рассматривают веб-платформу как наиболее жизнеспособный и наиболее привлекательный выбор для своих нужд и что они могут сосредоточиться на создании наилучшего возможного опыта, а не тратить много времени на решение проблем совместимости. И совершенно очевидно, что для достижения этой цели наиболее востребованные функции должны быть реализованы во всех основных браузерных движках, чтобы действительно позволить разработчикам добиться успеха на веб-платформе.

Как нам коллективно двигаться вперед, когда браузеры с (иногда) разными целями объединяются?

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

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

Возвращаясь к Interop 2022, увидим ли мы в какой-то момент в конвейере появление функций, не связанных с дизайном или макетированием?

Филипп: Абсолютно! Interop 2022 не ограничивался функциями стиля и макета, но в конечном итоге очень сильно опирался на CSS. Частично потому, что State of CSS 2021 был свежим, но также и потому, что веб-разработчики сказали нам, что именно здесь у них больше всего проблем с различиями между браузерами. Многие области внимания, такие как элементы форм и диалогов, выходят за рамки CSS, и мы также предпринимаем некоторые усилия по исследованию редактирования API и событий указателя и мыши. Я надеюсь, что к Interop 2023 у нас будет больше свежих данных о потребностях разработчиков в Интернете, и мы добавим больше таких функций.

Ключевые предстоящие изменения

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

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

Сокращение пользовательского агента

Заголовок User-Agent и связанные с ним JS-интерфейсы передают не только полезную информацию о браузере и устройстве, но также несут с собой наследие происхождения и неточную информацию. Более проблематичным, чем почти бесконечное количество ошибок анализа строк UA, является тот факт, что они пассивно отправляются на серверы для всех запросов навигации и подресурсов. Это представляет собой примерно 10 бит энтропии, которую серверы могут использовать для создания стабильных идентификаторов отслеживания, когда пользователи перемещаются по сети.

Наш текущий план состоит в том, чтобы сократить существующую строку UA, продолжив поставлять основную версию браузера с низкой энтропией, название платформы и мобильность , заморозив информацию с высокой энтропией . Для случаев использования, требующих дополнительной информации, кроме содержащейся в заголовке, мы поставляем API User-Agent Client Hints, начиная с Chrome 89.

Мы провели пробную версию Origin в течение 6 месяцев для экспериментов и получения отзывов и были рады, что не получили никаких отзывов о поломке, несмотря на то, что в ней участвовало более 200 участников.

Местные шрифты доступа к API

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

Местные шрифты давно известны как вектор отпечатков пальцев. Хотя этот новый API не увеличивает способность использовать шрифты для отпечатков пальцев, Chrome требует, чтобы пользователь предоставил новое разрешение "local-fonts" для сайта, прежде чем он сможет использовать новый локальный API доступа к шрифтам.

В будущем мы планируем требовать, чтобы такое же разрешение «локальных фондов» было предоставлено перед использованием любого другого API, который обеспечивает доступ к местным шрифтам.

Заставлять BFCache работать с Cache-control: no-store

Мы определили значительную возможность для улучшения того, как часто кеш обратного/вперед может обеспечить мгновенные навигации назад/вперед. Это требует изменения в том, как BFCache ведет себя на страницах, обслуживаемых с контролем кэша: заголовок HTTP без магазина . У нас есть публичное предложение, предназначенное для предотвращения значительных сюрпризов путем мониторинга различных сигналов (например, выселения страниц из BFCache всякий раз, когда изменения в файле cookie только для HTTP) и вырезания (например, групповая политика для клиентов Enterprise/EDU) для уникальных контекстов. Это сложная, но захватывающая возможность, и мы хотели бы дополнительного изучения и отзывов!

  • Временная шкала: нацеливание на Chrome 104 (июль 22), при условии, что нет серьезных сюрпризов.
  • Призыв к действию: см. Предложение для получения более подробной информации, в том числе о том, как включить реализацию неверной работы, и способы обмена обратной связью, такими как фактические сценарии, в которых наш подход создаст новые препятствия.

Благодаря этой серии я надеюсь, что смогу дать нашему сообществу разработчиков чувство сосредоточенности и связи, приблизив их к моей команде и их работе. Так что следите за обновлениями и смотрите это место для получения дополнительных обновлений.

До тех пор, счастливые лямки.

Что вы думаете о первом издании Chrome Dev Insider? Поделитесь своими отзывами .

,

Бен Гэлбрейт
Ben Galbraith

Разработчики часто говорят нам, что трудно идти в ногу с изменениями в Интернете и понять, почему эти изменения происходят. Сегодня мы начинаем новую серию под названием Chrome Dev Insider , где мы поделимся (1) тем, что круто и достойно освещения, (2) понимание того, как мы приняли решение по ключевой теме (например, изменяющуюся флок ) или подходите к нашей работе с экосистемой (например, Interop 2022 ) и (3) любые действительно важные вещи, которые вам необходимо знать о (например, изменения в Interop 2022 ).

Поскольку мы делимся тем, над чем мы работаем, это будет в контексте наших четырех приоритетов на 2022 год:

  • Включение восхитительного опыта пользователей: сделать вещи интуитивно понятными для пользователей; Будь то производительность, транзакции, идентичность или переходы.
  • Добавление возможностей веб -сайта: Поддерживать развивающуюся роль Интернета от платформы потребления контента, до платформы для широкого спектра опыта, включая те, которые нуждаются в глубоких интеграциях на уровне ОС и оборудования.
  • Упрощение веб -разработки: облегчить принятие решений и повысить производительность разработчиков.
  • Улучшение конфиденциальности Интернета: обслуживать ожидания веб-пользователей в отношении лучшей защиты конфиденциальности данных перед лицом постоянно растущей сложности разработчика в отслеживании и таргетировании.

В новостях: Interop 2022

Поскольку мы планируем наши дорожные карты, мы смотрим на обратную связь разработчиков , чтобы понять главные болевые точки и потребности веб -разработчиков, среди прочего. Ключевой темой, которая неоднократно отображается, является совместимость браузера , что делает опыт работы одинаково в разных браузерах. За прошедший год мы работали с экосистемой, чтобы решить эту тему как часть нашего приоритета, чтобы «упростить веб -разработку».

В прошлом году игроки Microsoft, Chrome и Ecosystem анонсировали Compat 2021 , что привело к тому, что все популярные двигатели браузера (Chromium, Gecko и Webkit) достиг оценки 90+% в пяти ключевых направлениях, выявленных за год. Среди прочего, Compat 2021 привел к созданию прочной основы для мощных функций, таких как CSS GRID ( использование 12% и неуклонно растущее ) и CSS Flexbox ( 77% использование ).

А в прошлом месяце Apple, Bocoup, Google, Igalia, Microsoft и Mozilla объединились в качестве сторонников , чтобы решить проблемы совместимости ведущих браузеров, выявленные веб -разработчиками, и согласится с общим эталоном. Результатом является Interop 2022 , проект с целью привлечения большей однородности на платформу. Трингм фокусируется на 15 приоритетных областях, определенных разработчиками как ключ к повышению их производительности.

Scoop Insider: работа с нашими коллегами -браузером

С Interop 2022 Top Mind я сел с Робертом Ниманом и Филиппом Ягеншедтом , которые участвовали в этих разговорах, чтобы получить внутреннюю историю. Вот сокращение редактора того, как он собрался вместе.

Какова была Genesis этой инициативы?

Роберт: Все началось еще в 2019 году, когда мы провели опрос MDN DNA 2019 . Проблемы совместимости явно выделялись в качестве основной проблемы для разработчиков, создающих для Интернета, и мы более подробно рассказали в отчете о совместимости браузера MDN 2020 . Это дало нам достаточно информации и действенных данных, чтобы начать усилия Compat 2021 , что, в свою очередь, привело к продолжению этой работы, а также расширила эту область с помощью Interop 2022.

Филип: Я также хотел бы упомянуть тестирование веб-платформы и CSS 2021 . У нас было сильное сотрудничество с другими поставщиками браузеров по тестированию, используя WPT, и мы действительно хотели опираться на это. Тесты для этих функций были в основном уже написаны, поэтому нам просто нужно было просмотреть тесты и добавить некоторое недостающее покрытие. Google много инвестировал в Wpt.fyi, но у нас также есть Mozilla, чтобы поблагодарить за успех, которым он является сегодня. Мозилла, конечно, также имела большую руку в опросах ДНК MDN. Помимо них, есть также состояние CSS 2021. Чтобы собрать усилия, такие как Interop 2022, нам нужен свежий вклад в потребности веб -разработчиков, поэтому мы работали с Sacha Saacha, чтобы включить несколько новых вопросов по вопросам совместимости браузера. Это действительно помогло нам в процессе планирования Interop 2022.

Какие -нибудь знания или обратная связь от Compat 2021?

Роберт: Было действительно полезно измерить и иметь оценки и понимание того, как делается каждый двигатель браузера, чтобы мы могли следовать прогрессу и убедиться, что обсудить и решать проблемы, которые неясны или должны были быть приоритетными. Мы также быстро поняли, что «Interop» является лучшим названием для инициативы. Совместимость и совместимость терминов, как правило, различаются поставщиками браузеров, где Compat относится к COMBAT сайта, а взаимодействие относится к тому, что два или более браузера ведет себя одинаково. В этой терминологии эти усилия связаны с совместимостью, и поэтому проект соответствует этим именованию.

Какое наше видение здесь?

Роберт: Чтобы сохранить Интернет открытым, браузер и разнообразие двигателей имеют решающее значение. К сожалению, в настоящее время это идет по высокой цене для наших разработчиков, которые должны идти в ногу с различными уровнями поддержки для функций по каждому двигателю. Наше видение состоит в том, что разработчики видят в веб -платформе наиболее жизнеспособным вариантом и наиболее привлекательным выбором для их потребностей, и что они могут сосредоточиться на создании наилучшего возможного опыта, а не тратить много времени на разработку проблем совместимости. И совершенно ясно, что для достижения этой цели наиболее запрашиваемые функции должны приземлиться во всех основных двигателях браузера, чтобы действительно позволить разработчикам добиться успеха на веб -платформе.

Как мы коллективно продвигаем вещи вперед, когда браузеры с (иногда) различными целями объединяются?

Филипп: Наш подход заключался в том, чтобы искать области, представляющие общий интерес, найти те беспроигрышные сотрудничества, где цели уже примерно выровнены. И, расставляя приоритеты ограниченного количества вещей, над которыми нужно работать одновременно, мы привлекли внимание к этим областям и движемся вперед быстрее и получаем более высокое качество, чем если бы мы просто работали отдельно. Это идея.

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

Возвращаясь в Interop 2022, мы видим, что в какой-то момент в трубопровод не являются функциями, не являющимися дизайном или макетами?

Филип: Абсолютно! Interop 2022 не ограничивался функциями стиля и макета, но в конечном итоге он очень сильно склонялся к CSS. Отчасти потому, что состояние CSS 2021 было свежим, но также потому, что веб -разработчики сказали нам, что именно здесь у них есть наибольшие проблемы с различиями между браузерами. Многочисленные области фокусировки, такие как формы и элементы диалога, выходят за рамки CSS, и у нас также есть некоторые исследования по редактированию API и указателей и мыши. Я надеюсь, что для Interop 2023 у нас будет более свежие данные о потребностях разработчика в Интернете и включите в эти усилия больше таких функций.

Ключевые предстоящие изменения

Одним из намерений этой серии является дать разработчикам, когда они направляются на предстоящие ключевые изменения; Вещи, которые важны для улучшения пользовательского опыта и возможностей платформы.

Сроки, упомянутые ниже, являются, когда мы ожидаем, что эти изменения произойдут. Тем не менее, это возможные версии выпуска для функций могут измениться.

Пользовательский агент сокращение

Заголовок пользователя-агента -и связанные с ним интерфейсы JS-трансмитает не только полезную информацию о браузере и устройствах, но также несет с собой наследие линии и неточной информации. Более проблематичным, чем почти бесконечная поставка ошибок в строкости UA, является тот факт, что он пассивно отправляется на серверы для всех запросов на навигацию и суб-ресурса. Это представляет приблизительно 10 бит энтропии, которые серверы могут использовать для создания стабильных идентификаторов отслеживания, поскольку пользователи ориентируются в Интернете.

Наш текущий план состоит в том, чтобы уменьшить существующую строку UA, продолжая отправлять основную версию браузера с низкой энтропией, название платформы и мобильность , замораживая информацию о высокой энтропии . Для вариантов использования, которые требуют дополнительной информации, чем в заголовке, мы отправляем API клиента-пользователя, которые подсказывают клиент-агент с Chrome 89.

Мы провели испытание на происхождение в течение 6 месяцев для экспериментов и обратной связи и были рады, что не получили никаких обратных связей, связанных с поломкой, несмотря на то, что имели более 200 участников.

Местные шрифты доступа к API

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

Местные шрифты давно известны как вектор отпечатков пальцев. Хотя этот новый API не увеличивает способность использовать шрифты для отпечатков пальцев, Chrome требует, чтобы пользователь предоставил новое разрешение "local-fonts" для сайта, прежде чем он сможет использовать новый локальный API доступа к шрифтам.

В будущем мы планируем требовать, чтобы такое же разрешение «локальных фондов» было предоставлено перед использованием любого другого API, который обеспечивает доступ к местным шрифтам.

Заставлять BFCache работать с Cache-control: no-store

Мы определили значительную возможность для улучшения того, как часто кеш обратного/вперед может обеспечить мгновенные навигации назад/вперед. Это требует изменения в том, как BFCache ведет себя на страницах, обслуживаемых с контролем кэша: заголовок HTTP без магазина . У нас есть публичное предложение, предназначенное для предотвращения значительных сюрпризов путем мониторинга различных сигналов (например, выселения страниц из BFCache всякий раз, когда изменения в файле cookie только для HTTP) и вырезания (например, групповая политика для клиентов Enterprise/EDU) для уникальных контекстов. Это сложная, но захватывающая возможность, и мы хотели бы дополнительного изучения и отзывов!

  • Временная шкала: нацеливание на Chrome 104 (июль 22), при условии, что нет серьезных сюрпризов.
  • Призыв к действию: см. Предложение для получения более подробной информации, в том числе о том, как включить реализацию неверной работы, и способы обмена обратной связью, такими как фактические сценарии, в которых наш подход создаст новые препятствия.

Благодаря этой серии я надеюсь, что смогу дать нашему сообществу разработчиков чувство сосредоточенности и связи, приблизив их к моей команде и их работе. Так что следите за обновлениями и смотрите это место для получения дополнительных обновлений.

До тех пор, счастливые лямки.

Что вы думаете о первом издании Chrome Dev Insider? Поделитесь своими отзывами .