Les développeurs nous disent souvent qu'il est difficile de suivre les changements sur le Web et de comprendre pourquoi ils se produisent. Aujourd'hui, nous lançons une nouvelle série intitulée Chrome Dev Insider dans laquelle nous allons vous présenter : (1) ce qui est intéressant et digne d'intérêt médiatique, (2) un aperçu de la façon dont nous avons pris une décision concernant un sujet clé (par exemple, la modification de FLOC) ou notre collaboration avec l'écosystème (par exemple, Interop 2022) et (3) toute information importante à connaître concernant les chaînes user-agent (par exemple, ).
Voici les projets sur lesquels nous travaillons, qui s'inscrivent dans le contexte de nos quatre priorités pour 2022:
- Proposer des expériences utilisateur agréables:rendre les éléments intuitifs pour les utilisateurs. qu'il s'agisse de performances, de transactions, d'identités ou de transitions.
- Faire progresser les capacités du Web:soutenir l'évolution du rôle du Web, qui passe de 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 poussée au niveau du matériel et de l'OS.
- Simplification du développement Web:facilitez la prise de décision et améliorez la productivité des développeurs.
- Renforcer la confidentialité sur le Web:répondre aux besoins des internautes les attentes concernant une meilleure protection de la confidentialité des données alors que les développeurs sont de plus en plus sophistiqués en termes de suivi et de ciblage.
Dans l'actualité: Interop 2022
Pour planifier nos feuilles de route, nous tenons compte, entre autres, des commentaires des développeurs pour comprendre leurs principales difficultés et leurs principaux besoins. La compatibilité des navigateurs est l'un des thèmes clés qui reviennent régulièrement afin que l'expérience fonctionne de la même manière dans tous les navigateurs. L'année dernière, nous avons collaboré 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 domaines clés identifiés pour l'année. Entre autres, Compat 2021 a permis de créer une base solide pour des fonctionnalités puissantes telles que CSS Grid (12% d'utilisation et en constante augmentation) et CSS Flexbox (77% d'utilisation).
Le mois dernier, Apple, Bocoup, Google, Igalia, Microsoft et Mozilla se sont réunis en tant que supporters pour résoudre les principaux problèmes de compatibilité des navigateurs identifiés par les développeurs Web et se mettre d'accord sur une analyse comparative commune. Résultat : le projet Interop 2022 vise à 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é.
Information d'initié: collaboration avec d'autres utilisateurs de navigateurs
En pensant à Interop 2022, j'ai rencontré Robert Nyman et Philip Jägenstedt, qui ont participé à ces discussions pour en savoir plus. Voici une présentation du montage par l'éditeur.
Quelle est l'origine de cette initiative ?
Robert:Tout a commencé en 2019, avec l'enquête MDN DNA 2019. Les problèmes de compatibilité sont clairement le principal problème pour les développeurs qui créent des applications pour le Web. Pour en savoir plus, consultez le Rapport de compatibilité du navigateur MMDN 2020. Nous avons ainsi obtenu suffisamment d'informations et de données exploitables pour lancer le projet Compat 2021, qui nous a permis de poursuivre ce travail et d'étendre ce champ d'application avec Interop 2022.
Philip:Je voudrais également vous parler de web-platform-tests et de l'état du CSS 2021. Depuis des années, nous travaillons en étroite collaboration avec d'autres fournisseurs de navigateurs sur les tests avec WPT, et nous tenions vraiment à en tirer parti. Les tests de ces fonctionnalités étaient pour la plupart déjà rédigés, il nous suffit donc de les examiner et d'ajouter quelques couvertures manquantes. Google a beaucoup investi dans wpt.fyi, mais nous devons également remercier Mozilla pour avoir fait de WPT le succès qu'il est aujourd'hui. Bien sûr, Mozilla a également joué un rôle important dans les enquêtes MDN DNA. Au-delà, il y a le State of CSS 2021. Afin de mettre en place un projet comme Interop 2022, nous avons besoin d'informations récentes sur les besoins des développeurs Web. Nous avons donc collaboré avec Sacha, responsable de 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 de l'interopérabilité 2022.
Avez-vous des enseignements ou des commentaires sur Compat 2021 ?
Robert:C'était vraiment utile d'avoir des scores et des insights sur les performances de chaque moteur de navigateur. Cela nous a permis de suivre les progrès, de discuter et de résoudre les problèmes peu clairs ou à prioriser. Nous avons aussi vite réalisé que "Interop" était un meilleur nom pour cette initiative. Les termes compatibilité et interopérabilité sont généralement définis par les fournisseurs de navigateurs. Dans ce cas, "compat" fait référence à la compatibilité de sites, tandis que l'interopérabilité fait référence à au moins deux navigateurs qui se comportent de la même manière. Dans cette terminologie, cette initiative concerne l'interopérabilité. Le projet est donc aligné sur cette dénomination.
Quelle est notre vision à ce sujet ?
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 d'assistance différents pour les fonctionnalités de chaque moteur. Nous souhaitons que les développeurs considèrent la plate-forme Web comme l'option la plus viable et la plus intéressante pour leurs besoins. Ils peuvent ainsi 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 évident que, pour atteindre cet objectif, les fonctionnalités les plus demandées doivent s'intégrer à tous les principaux moteurs de navigation pour permettre réellement aux développeurs de réussir sur la plate-forme Web.
Comment pouvons-nous faire avancer le projet lorsque des navigateurs ayant des objectifs (parfois) différents sont réunis ?
Philip:Notre approche a consisté à rechercher des domaines d'intérêt commun, afin de trouver des collaborations gagnant-gagnant dont les objectifs sont déjà à peu près alignés. En privilégiant un nombre limité d'éléments sur lesquels travailler en même temps, nous concentrons notre attention sur ces domaines. Nous avançons plus rapidement et obtenons une meilleure qualité que si nous travaillions simplement séparément. C'est le principe.
Je pense qu'il est important de reconnaître qu'il existe des limites à cette approche basée sur le consensus, lorsque les objectifs ne sont pas suffisamment alignés, nous devons aller de l'avant d'une autre manière. Parfois, apporter plus de preuves des besoins des développeurs Web ou des utilisateurs peut aider, mais à terme, les fournisseurs de navigateurs peuvent livrer des éléments qui n'ont pas d'accord général. Dans le meilleur des cas, l'intérêt de cette fonctionnalité est ensuite démontré par les développeurs Web qui la testent, constatent qu'elle répond à leurs besoins et demandent la même fonctionnalité dans tous les navigateurs.
En ce qui concerne Interop 2022, est-ce que des fonctionnalités qui ne concernent pas la conception ou la mise en page sont-elles intégrées au pipeline ?
Philip:Absolument ! Interop 2022 ne se limitait pas aux fonctionnalités de style et de mise en page, mais elle s'est finalement fortement penchée sur le CSS. C'est en partie parce que State of CSS 2021 était à jour, mais aussi parce que les développeurs Web nous ont indiqué que c'est là qu'ils rencontrent le plus de problèmes avec les différences entre les navigateurs. Plusieurs domaines d'action, comme les éléments de formulaire et de boîte de dialogue, vont au-delà du CSS. Par ailleurs, nous menons des investigations concernant les API de modification et les événements de pointeur et de souris. J'espère que pour l'interopérabilité 2023, nous disposerons de plus de données à jour sur les besoins des développeurs sur le Web et que nous inclurons davantage de fonctionnalités de ce type dans notre effort.
Principaux changements à venir
L'un des objectifs de cette série est d'informer les développeurs des changements clés à venir. les choses qui sont importantes pour améliorer l'expérience utilisateur et les capacités de la plateforme.
Le calendrier mentionné ci-dessous correspond à la date à laquelle ces changements devraient se produire. Toutefois, il est possible que certaines versions des fonctionnalités soient modifiées.
Réduction user-agent
L'en-tête User-Agent (et les interfaces JavaScript associées) transmet des informations utiles sur le navigateur et l'appareil, mais inclut également une traçabilité et des informations inexactes. Ce problème est plus problématique que la quantité quasi infinie de bugs d'analyse des chaînes UA est le fait qu'elles sont envoyées 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.
Notre plan actuel consiste à 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 mobile, ce qui fige les informations sur l'entropie élevée. Pour les cas d'utilisation nécessitant des informations supplémentaires par rapport à celles contenues dans l'en-tête, nous fournissons l'API User-Agent Client Hints depuis Chrome 89.
Nous avons effectué une phase d'évaluation pendant six mois afin d'effectuer des tests et de recueillir des commentaires. Nous n'avons pas reçu de commentaires concernant une défaillance alors que nous avions plus de 200 participants.
- Chronologie : dans Chrome 101, nous avançons avec ce que nous appelons la phase 4, qui consiste à réduire les informations
MINOR.BUILD.PATCH
dans la chaîne UA à0.0.0
. Nous continuerons à prévenir les sites et à leur donner le temps de se préparer pour les phases 5 et ultérieures. Nous avons également créé des règles d'entreprise pour refuser ces modifications, et nous allons effectuer un essai avant arrêt jusqu'à Chrome 113 afin de laisser plus de temps aux sites pour se préparer à ces changements. - Incitation à l'action:Migrez votre site vers les hints client UA ou participez à l'évaluation avant arrêt.
API Local Fonts Access
Chrome lance l'API Local Font Access. Bien que les sites aient depuis longtemps la possibilité d'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 avec la conception Web et d'autres applications.
Les polices locales sont depuis longtemps connues sous le nom de vecteur de fingerprinting. Bien que cette nouvelle API n'augmente pas la possibilité d'utiliser les polices pour le fingerprinting, Chrome exige qu'un utilisateur accorde une nouvelle autorisation "local-fonts"
à un site avant de pouvoir utiliser la nouvelle API Local Font Access.
À l'avenir, nous prévoyons d'exiger que les mêmes attributs "local-fonts" l'autorisation doit être accordée avant d'utiliser toute autre API donnant accès aux polices locales.
- Chronologie:ciblage de Chrome 103 (juin 2022)
- Incitation à l'action:découvrez l'API et comment l'utiliser pour commencer à l'implémenter.
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 vers l'avant/arrière 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 avons élaboré une proposition publique visant à éviter les mauvaises surprises en surveillant différents signaux (par exemple, l'éviction de pages du cache amélioré à chaque modification d'un cookie HTTP uniquement) et en excluant des contextes uniques (par exemple, une stratégie de groupe pour les clients Enterprise/Education). Il s'agit d'une opportunité à la fois complexe et passionnante, et nous aimerions que nous l'examinions plus en détail et que nous aimerions connaître votre avis.
- Chronologie:ciblage de Chrome 104 (juillet 2022) sans mauvaise surprise.
- Incitation à l'action:consultez la proposition pour en savoir plus. Vous découvrirez par exemple comment activer une implémentation en cours et comment nous faire part de vos commentaires, par exemple des scénarios réels dans lesquels notre approche créerait d'autres 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. Restez à l'écoute et consultez régulièrement cette page pour en savoir plus.
En attendant, bonne continuation !
Qu'avez-vous pensé de la première édition de Chrome Dev Insider ? Donnez-nous votre avis.