Présentation de Chrome Dev Insider

Ben Galbraith
Ben Galbraith

Les développeurs nous disent souvent qu'il est difficile de suivre les changements sur le Web et de comprendre pourquoi ils ont lieu. Aujourd'hui, nous lançons une nouvelle série intitulée Chrome Dev Insider. Nous y partagerons (1) les nouveautés et les actualités, (2) des informations sur la façon dont nous avons pris une décision sur un sujet clé (par exemple, le changement de FLOC) ou sur notre approche de l'écosystème (par exemple, Interop 2022), et (3) des informations vraiment importantes que vous devez connaître (par exemple, les modifications apportées aux chaînes d'agent utilisateur).

Nous vous parlerons de ce sur quoi nous travaillons dans le cadre de nos quatre priorités pour 2022:

  • Offrir une expérience utilisateur agréable:faites en sorte que les utilisateurs puissent effectuer des tâches de manière intuitive, que ce soit pour les performances, les transactions, l'identité ou les transitions.
  • Améliorer les fonctionnalités du Web:accompagnez l'évolution du rôle du Web, qui passe d'une plate-forme de consommation de contenus à une plate-forme pour un large éventail d'expériences, y compris celles qui nécessitent une intégration approfondie au niveau de l'OS et du matériel.
  • Simplifier le développement Web:facilitez la prise de décision et améliorez la productivité des développeurs.
  • Améliorer la confidentialité du Web:répondez aux attentes des utilisateurs du Web en matière de meilleure protection de la confidentialité des données face à la sophistication croissante des développeurs en matière de suivi et de ciblage.

Actualités: Interop 2022

Lorsque nous planifions nos feuilles de route, nous examinons les commentaires des développeurs pour comprendre, entre autres, leurs principaux problèmes et besoins. Un thème clé qui revient régulièrement est la compatibilité avec les navigateurs, qui permet de proposer une expérience identique dans tous les navigateurs. Au cours de l'année écoulée, nous avons travaillé avec l'écosystème pour aborder ce thème dans le cadre de notre priorité "simplifier le développement Web".

L'année dernière, Microsoft, Chrome et les acteurs de l'écosystème ont annoncé Compat 2021, qui a permis à tous les moteurs de navigateur populaires (Chromium, Gecko et Webkit) d'obtenir un score de plus de 90% dans les cinq principaux domaines d'intérêt identifiés pour l'année. Entre autres, la compatibilité 2021 a permis de créer une base solide pour des fonctionnalités puissantes telles que la grille CSS (12% d'utilisation et en constante augmentation) et la grille CSS Flexbox (77% d'utilisation).

Le mois dernier, Apple, Bocoup, Google, Igalia, Microsoft et Mozilla se sont réunis en tant que partenaires pour résoudre les principaux problèmes de compatibilité des navigateurs identifiés par les développeurs Web et s'accorder sur un benchmark commun. C'est ainsi qu'est né Interop 2022, un projet visant à rendre la plate-forme plus homogène. Le benchmark se concentre sur 15 domaines prioritaires identifiés par les développeurs comme essentiels pour améliorer leur productivité.

Infos exclusives: travailler avec nos pairs dans le domaine des navigateurs

Avec Interop 2022 à l'esprit, j'ai rencontré Robert Nyman et Philip Jägenstedt, qui ont participé à ces discussions, pour en savoir plus. Voici la version de l'éditeur de la façon dont tout s'est passé.

Quelle est l'origine de cette initiative ?

Robert:Tout a commencé en 2019, lorsque nous avons réalisé l'enquête MDN DNA 2019. Les problèmes de compatibilité se sont clairement révélés comme le principal problème des développeurs qui créent des applications pour le Web. Nous avons suivi cela de manière beaucoup plus détaillée dans le rapport sur la compatibilité des navigateurs MDN 2020. Nous avons ainsi obtenu suffisamment d'informations et de données exploitables pour lancer l'effort Compat 2021, qui nous a permis de poursuivre ce travail et d'élargir son champ d'application avec Interop 2022.

Philip:Je voudrais également mentionner web-platform-tests et State of CSS 2021. Nous collaborons depuis des années avec d'autres fournisseurs de navigateurs pour les tests à l'aide de WPT. Nous voulions vraiment nous appuyer sur cette collaboration. Les tests de ces fonctionnalités étaient déjà en grande partie rédigés. Il nous a donc suffi de les examiner et d'ajouter une couverture manquante. Google a beaucoup investi dans wpt.fyi, mais nous devons également remercier Mozilla d'avoir fait de WPT le succès qu'il est aujourd'hui. Mozilla a bien sûr également joué un rôle important dans les enquêtes sur l'ADN MDN. Vous pouvez également consulter l'état du CSS en 2021. Pour mettre en place un événement comme Interop 2022, nous avons besoin de nouvelles informations sur les besoins des développeurs Web. Nous avons donc travaillé avec Sacha, qui gère l'enquête, pour inclure de nouvelles questions sur les problèmes de compatibilité des navigateurs. Cela nous a vraiment aidés dans le processus de planification d'Interop 2022.

Avez-vous tiré des enseignements ou des commentaires de la conférence Compat 2021 ?

Robert:Il a été très utile de mesurer et d'obtenir des scores et des insights sur les performances de chaque moteur de navigateur. Nous avons ainsi pu suivre la progression et nous assurer de discuter et de résoudre les problèmes qui n'étaient pas clairs ou qui devaient être priorisés. Nous avons également rapidement compris que le nom "Interop" était plus approprié pour l'initiative. Les termes compatibilité et interopérabilité sont généralement distingués par les fournisseurs de navigateurs, la compatibilité faisant référence à la compatibilité du site, et l'interopérabilité à deux ou plusieurs navigateurs se comportant de la même manière. Dans cette terminologie, cet effort concerne l'interopérabilité. Le nom du projet a donc été aligné sur cette dénomination.

Quelle est notre vision ?

Robert:Pour que le Web reste ouvert, la diversité des navigateurs et des moteurs de rendu est essentielle. Malheureusement, cela a un coût élevé pour nos développeurs, qui doivent suivre les différents niveaux d'assistance des fonctionnalités dans chaque moteur. Notre vision est que les développeurs considèrent la plate-forme Web comme l'option la plus viable et la plus attrayante pour leurs besoins, et qu'ils peuvent se concentrer sur la création des meilleures expériences possibles au lieu de passer beaucoup de temps à résoudre les problèmes d'interopérabilité. Il est clair que pour atteindre cet objectif, les fonctionnalités les plus demandées doivent être disponibles dans tous les principaux moteurs de navigateur afin de permettre aux développeurs de réussir sur la plate-forme Web.

Comment faire avancer les choses collectivement lorsque des navigateurs aux objectifs (parfois) différents se réunissent ?

Philip:Notre approche a consisté à rechercher des domaines d'intérêt communs, afin de trouver des collaborations gagnant-gagnant où les objectifs sont déjà à peu près alignés. En hiérarchisant un nombre limité de tâches à réaliser en même temps, nous nous concentrons sur ces domaines, et nous avançons plus rapidement et obtenons une qualité supérieure que si nous travaillions simplement séparément. C'est l'idée.

Je pense qu'il est important de reconnaître que cette approche basée sur le consensus a ses limites. Lorsque les objectifs ne sont pas suffisamment alignés, nous devons trouver une autre façon de progresser. Il peut parfois être utile de fournir plus de preuves des besoins des développeurs Web ou des utilisateurs, mais les fournisseurs de navigateurs peuvent finalement proposer des éléments qui ne font pas l'objet d'un consensus général. Dans le meilleur des cas, la valeur de la fonctionnalité est ensuite démontrée par les développeurs Web qui l'essaient, constatent qu'elle répond à leurs besoins et demandent la même fonctionnalité dans tous les navigateurs.

Pour en revenir à Interop 2022, verrons-nous des fonctionnalités autres que de conception ou de mise en page dans le pipeline à un moment donné ?

Philip:Absolument ! Interop 2022 ne s'est pas limité aux fonctionnalités de style et de mise en page, mais s'est fortement orienté vers le CSS. En partie parce que l'état du CSS 2021 était récent, mais aussi parce que les développeurs Web nous ont indiqué que c'est là qu'ils rencontrent le plus de difficultés avec les différences entre les navigateurs. Plusieurs domaines d'intérêt, comme les éléments de formulaire et de boîte de dialogue, vont au-delà du CSS. Nous menons également des recherches sur les API de modification, ainsi que sur les événements de pointeur et de souris. J'espère que pour Interop 2023, nous disposerons de données plus récentes sur les besoins des développeurs sur le Web et que nous pourrons inclure davantage de fonctionnalités de ce type.

Principaux changements à venir

L'un des objectifs de cette série est d'informer les développeurs des modifications clés à venir, qui sont importantes pour améliorer l'expérience utilisateur et les fonctionnalités de la plate-forme.

Les délais mentionnés ci-dessous correspondent aux dates auxquelles nous prévoyons que ces changements seront effectués. Toutefois, il est possible que les versions de fonctionnalités changent.

Réduction user-agent

L'en-tête User-Agent et les interfaces JavaScript associées transmettent non seulement des informations utiles sur le navigateur et l'appareil, mais aussi un héritage de lignage et d'informations inexactes. Plus problématique que l'offre quasi infinie de bugs d'analyse de la chaîne UA est le fait qu'elle est passivement envoyée aux serveurs pour toutes les requêtes de navigation et de sous-ressources. Cela représente environ 10 bits d'entropie que les serveurs peuvent utiliser pour créer des identifiants de suivi stables lorsque les utilisateurs naviguent sur le Web.

Notre plan actuel consiste à réduire la chaîne UA existante en continuant à envoyer la version majeure du navigateur à faible entropie, le nom de la plate-forme et la mobilité, en congelant les informations à entropie élevée. Pour les cas d'utilisation qui nécessitent des informations supplémentaires que celles contenues dans l'en-tête, nous envoyons l'API User-Agent Client Hints depuis Chrome 89.

Nous avons effectué un test Origin pendant six mois pour tester et recueillir des commentaires. Nous avons été ravis de ne recevoir aucun commentaire lié à des erreurs, malgré la participation de plus de 200 personnes.

API Local Fonts Access

Chrome lance l'API Local Fonts Access. Bien que les sites puissent utiliser des polices locales depuis longtemps, cette API énumère la liste des polices locales et donne accès aux données de polices elles-mêmes. Cette fonctionnalité permet aux utilisateurs d'utiliser toutes leurs polices avec la conception Web et d'autres applications.

Les polices locales sont depuis longtemps connues comme un vecteur d'empreinte digitale. Bien que cette nouvelle API n'augmente pas la possibilité d'utiliser des polices pour l'empreinte digitale, Chrome exige qu'un utilisateur accorde une nouvelle autorisation "local-fonts" à un site avant qu'il puisse utiliser la nouvelle API Local Font Access.

À l'avenir, nous prévoyons d'exiger la même autorisation "polices locales" avant d'utiliser toute autre API qui permet d'accéder aux polices locales.

Faire fonctionner BFCache avec Cache-control: no-store

Nous avons identifié une opportunité importante d'améliorer la fréquence à laquelle le cache amélioré peut fournir des navigations avant/arrière instantanées. Pour ce faire, le comportement de BFCache sur les pages diffusées avec l'en-tête HTTP Cache-control: no-store doit être modifié. Nous avons une proposition publique conçue pour éviter les surprises importantes en surveillant divers signaux (par exemple, l'éviction des pages du BFCache chaque fois qu'un cookie HTTP uniquement est modifié) et des exceptions (par exemple, une stratégie de groupe pour les clients Enterprise/Edu) pour des contextes uniques. Il s'agit d'une opportunité complexe, mais passionnante. Nous aimerions avoir votre avis et votre analyse.

  • Calendrier:ciblage de Chrome 104 (juillet 2022), sauf surprise majeure.
  • Incitation à l'action:consultez la proposition pour en savoir plus, y compris comment activer une implémentation en cours de développement et comment partager des commentaires, par exemple sur des scénarios réels dans lesquels notre approche créerait de nouveaux obstacles.

Grâce à cette série, j'espère pouvoir donner à notre communauté de développeurs un sentiment de concentration et de connexion en les rapprochant de mon équipe et de son travail. Nous vous tiendrons informés.

En attendant, bonne navigation.

Qu'avez-vous pensé de la première édition de The Chrome Dev Insider ? Donnez-nous votre avis.