Présentation de Chrome Dev Insider

Ben Galbraith
Ben Galbraith

Les développeurs nous disent souvent qu'il est difficile de suivre les changements qui se produisent sur le Web et de comprendre pourquoi ces changements se produisent. Nous lançons aujourd'hui une nouvelle série intitulée Chrome Dev Insider. Vous y découvrirez : (1) ce qui est intéressant et intéressant à l'actualité, (2) comment nous avons pris une décision sur un sujet clé (par exemple, la modification de FLOC) ou comment nous abordons notre travail avec l'écosystème (par exemple, Interop 2022) et (3) tout ce que vous devez savoir sur les chaînes d'agent.

Ce sur quoi nous travaillons s'inscrit dans le contexte de nos quatre priorités pour 2022:

  • Offrir une expérience utilisateur agréable:rendez les choses intuitives pour les utilisateurs, qu'il s'agisse de performances, de transactions, d'identité ou de transitions.
  • Développer les capacités du Web:soutenez l'évolution du rôle du Web, de la plate-forme de consommation de contenu à celle adaptée à un large éventail d'expériences, y compris celles qui nécessitent des intégrations avancées au niveau du matériel et du système d'exploitation.
  • Simplifier le développement Web:facilitez la prise de décision et améliorez la productivité des développeurs.
  • Améliorer la confidentialité sur le Web:répondez aux attentes des internautes en matière de protection de la confidentialité des données face à la sophistication croissante des développeurs en matière de suivi et de ciblage.

À la une: Interopérabilité 2022

Lorsque nous planifions nos feuilles de route, nous tenons compte des commentaires des développeurs afin d'identifier leurs principaux difficultés et besoins, entre autres. La compatibilité avec les navigateurs est un thème clé qui revient souvent pour que l'expérience soit la même dans tous les navigateurs. Au cours de l'année écoulée, nous avons collaboré avec cet écosystème pour répondre à cette question, dans le cadre de notre priorité visant à "simplifier le développement Web".

L'année dernière, Microsoft, Chrome et les acteurs de son écosystème ont annoncé Compat 2021. Tous les moteurs de navigateur populaires (Chromium, Gecko et Webkit) ont ainsi obtenu un score de plus de 90% dans les cinq domaines d'action clés identifiés pour l'année. Entre autres choses, Compat 2021 a permis de créer une base solide pour des fonctionnalités puissantes telles que la grille CSS (12% d'utilisation et une croissance constante) et CSS Flexbox (77% d'utilisation).

Le mois dernier, Apple, Bocoup, Google, Igalia, Microsoft et Mozilla se sont réunis en tant que supports pour résoudre les principaux problèmes de compatibilité des navigateurs identifiés par les développeurs Web, et se sont mis d'accord sur un benchmark commun. Résultat : Interop 2022, un projet visant à rendre la plate-forme plus homogène. Il se concentre sur 15 domaines prioritaires identifiés par les développeurs pour améliorer leur productivité.

Point sur une communauté: collaborer avec d'autres utilisateurs de navigateurs similaires

En pensant à Interop 2022, j'ai rencontré Robert Nyman et Philip Jägenstedt, qui ont pris part à ces conversations pour comprendre l'histoire. Voici le montage de l'éditeur.

Quel est le but 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é ont clairement été identifiés comme le principal problème pour les développeurs qui développent des solutions pour le Web. Pour en savoir plus, consultez le rapport 2020 sur la compatibilité des navigateurs MN. Nous avons ainsi obtenu suffisamment d'informations et de données exploitables pour lancer l'initiative Compat 2021, qui nous a permis de poursuivre ce travail et d'étendre ce champ d'application avec Interop 2022.

Philip:J'aimerais également mentionner web-platform-tests et l'état du CSS en 2021. Depuis plusieurs années, nous collaborons étroitement avec d'autres fournisseurs de navigateurs pour tester l'utilisation de WPT et nous voulions vraiment nous concentrer sur ce point. Les tests de ces fonctionnalités étant pour la plupart déjà écrits, nous devions simplement les examiner et ajouter la couverture manquante. Google a beaucoup investi dans wpt.fyi, mais c'est aussi grâce à Mozilla que nous devons remercier le succès de WPT qu'il est aujourd'hui. Bien sûr, Mozilla a aussi joué un rôle déterminant dans les enquêtes MDN DNA. Au-delà, vous pouvez consulter l'étude "State of CSS 2021" (Rapport sur l'état des CSS en 2021). Pour mettre en place une initiative comme Interop 2022, nous avons besoin de nouvelles informations sur les besoins des développeurs Web. C'est pourquoi nous avons collaboré avec Sacha, responsable de l'enquête, pour ajouter de nouvelles questions sur les problèmes de compatibilité des navigateurs. Cela nous a vraiment aidés dans le processus de planification de l'interopérabilité pour 2022.

Des enseignements ou des commentaires concernant Compat 2021 ?

Robert:J'ai été très utile de pouvoir mesurer les performances de chaque moteur de navigateur et d'obtenir des scores et des insights sur leurs performances. Cela nous a permis de suivre l'avancement, d'aborder et de résoudre les problèmes peu clairs ou nécessitant un ordre de priorité. Nous nous sommes également rendu compte que le nom "Interop" était plus adapté à cette initiative. Les termes compatibilité et interopérabilité sont généralement distingués par les fournisseurs de navigateurs. Le terme "compat" fait référence à la compatibilité du site, tandis que l'interopérabilité désigne deux navigateurs ou plus se comportant de la même manière. Dans cette terminologie, cet effort concerne l'interopérabilité, et le projet s'aligne donc 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, le prix est actuellement élevé pour nos développeurs, qui doivent faire face à des niveaux de compatibilité différents pour les fonctionnalités sur chaque moteur. Nous souhaitons 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 puissent se concentrer sur la création de la meilleure expérience possible au lieu de consacrer beaucoup de temps à résoudre les problèmes d'interopérabilité. Il est évident que, pour atteindre cet objectif, les fonctionnalités les plus demandées doivent être intégrées à tous les principaux moteurs de navigateur pour permettre aux développeurs de réussir sur la plate-forme Web.

Comment pouvons-nous collectivement faire avancer les choses lorsque des navigateurs qui ont des objectifs (parfois) différents se complètent ?

Philippe:Nous avons cherché à identifier des domaines qui partagent les mêmes centres d'intérêt, afin de trouver des collaborations gagnant-gagnant, dont les objectifs sont déjà globalement en adéquation. En donnant la priorité à un nombre limité de tâches à la fois, nous nous concentrons sur ces domaines, et nous avançons plus rapidement et obtenons une meilleure qualité que si nous travaillions simplement séparément. Voilà l'idée.

Je pense qu'il est important de reconnaître que cette approche basée sur le consensus présente des limites, lorsque les objectifs ne sont pas suffisamment alignés, nous devons aller de l'avant d'une autre manière. Parfois, il peut être utile d'apporter plus de preuves des besoins des développeurs Web ou des utilisateurs, mais en fin de compte, les fournisseurs de navigateurs peuvent livrer des produits qui ne bénéficient pas d'un large accord. Dans le meilleur des cas, l'intérêt de cette fonctionnalité est démontré par les développeurs Web qui l'essaient, constatent qu'elle répond à leurs besoins et demandent qu'elle soit disponible dans tous les navigateurs.

D'après l'interopérabilité 2022, est-ce que des fonctionnalités autres que la conception ou la mise en page arrivent dans le pipeline à un moment donné ?

Philip:Absolument ! En 2022, l'interopérabilité ne s'est pas limitée aux fonctionnalités de style et de mise en page, mais a fini par s'appuyer fortement sur 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 rencontraient le plus de problèmes concernant les différences entre les navigateurs. Plusieurs zones d'action, comme les éléments de formulaire et de boîte de dialogue, ne se limitent pas au CSS. Nous avons également mené des enquêtes concernant la modification des API et des événements de pointeur et de souris. J'espère que pour Interop 2023, nous disposerons de nouvelles données sur les besoins des développeurs sur le Web et que nous intégrerons davantage de fonctionnalités de ce type.

Principales modifications à venir

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

Le calendrier ci-dessous correspond aux délais prévus pour ces changements. Toutefois, il est possible que les versions des fonctionnalités soient modifiées.

Réduction user-agent

L'en-tête User-Agent et les interfaces JavaScript associées transmettent non seulement des informations utiles sur les navigateurs et les appareils, mais aussi une traçabilité et des informations inexactes. Plus problématique que la quantité quasi infinie de bugs d'analyse des chaînes UA, le fait qu'ils soient envoyés passivement aux serveurs pour toutes les demandes 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.

Nous prévoyons actuellement de réduire la chaîne UA existante en continuant à fournir la version majeure du navigateur à faible entropie, le nom de la plate-forme et la mobileité, en gelant les informations à entropie élevée. Pour les cas d'utilisation nécessitant des informations supplémentaires que celles contenues dans l'en-tête, nous fournissons l'API User-Agent Client Hints depuis Chrome 89.

Nous avons mené une phase d'évaluation pendant six mois afin d'expérimenter et de recueillir des commentaires, et nous sommes heureux de n'avoir reçu aucun commentaire concernant les dysfonctionnements malgré notre participation à plus de 200 participants.

API Local Fonts Access

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

Les polices locales sont depuis longtemps connues sous le nom de vecteur d'empreinte digitale. Bien que cette nouvelle API n'améliore pas la capacité à utiliser des polices pour le fingerprinting, Chrome exige que l'utilisateur accorde une nouvelle autorisation "local-fonts" pour un site avant de pouvoir utiliser la nouvelle API Local Font Access.

À l'avenir, nous prévoyons de vous demander d'accorder la même autorisation pour les polices locales avant d'utiliser toute autre API qui donne accès à des polices locales.

  • Calendrier:ciblage de Chrome 103 (juin 2022)
  • Incitation à l'action:découvrez l'API et comment l'utiliser pour commencer l'implémentation.

Faire fonctionner BFCache avec Cache-control: no-store

Nous avons identifié une opportunité significative d'améliorer la fréquence à laquelle le cache amélioré peut fournir des navigations en arrière-plan instantanées. Cela nécessite de modifier le comportement de BFCache sur les pages diffusées avec l'en-tête HTTP Cache-control: no-store. Nous proposons une proposition publique conçue pour éviter les mauvaises surprises en surveillant différents signaux (par exemple, évincer des pages du BFCache chaque fois qu'un cookie uniquement HTTP change) et en excluant des contextes uniques (par exemple, une stratégie de groupe pour les clients Enterprise/Edu). Il s'agit d'une opportunité à la fois complexe et passionnante, et nous aimerions recevoir des commentaires et des examens approfondis !

  • Calendrier:ciblage de Chrome 104 (juillet 2022), sans surprises majeures.
  • Incitation à l'action:consultez la proposition pour en savoir plus, y compris sur la mise en œuvre d'une implémentation en cours et les moyens d'envoyer des commentaires (scénarios réels dans lesquels notre approche pourrait générer de nouveaux obstacles, par exemple).

Grâce à cette série, j'espère pouvoir aider les membres de notre communauté de développeurs à se concentrer et à tisser des liens avec mon équipe et leur travail. Surveillez cet espace pour en savoir plus.

D'ici là, bonne sangle.

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