Gli sviluppatori ci dicono spesso che è difficile stare al passo con i cambiamenti sul web e capire perché avvengono. Oggi lanciamo una nuova serie chiamata Chrome Dev Insider in cui condivideremo (1) le novità più interessanti e le notizie più recenti, (2) informazioni su come abbiamo preso una decisione su un argomento chiave (ad esempio la modifica di FLOC) o su come approcciamo il nostro lavoro con l'ecosistema (ad esempio Interop 2022) e (3) informazioni davvero importanti che devi conoscere (ad esempio le modifiche alle stringhe user agent).
Le novità che condivideremo saranno nel contesto delle nostre quattro priorità per il 2022:
- Offrire esperienze utente piacevoli:rendi tutto intuitivo per gli utenti, che si tratti di rendimento, transazioni, identità o transizioni.
- Miglioramento delle funzionalità del web: supporta il ruolo in evoluzione del web da piattaforma di consumo di contenuti a piattaforma per una vasta gamma di esperienze, incluse quelle che richiedono integrazioni approfondite a livello di sistema operativo e hardware.
- Semplificazione dello sviluppo web: semplifica il processo decisionale e aumenta la produttività degli sviluppatori.
- Migliorare la privacy del web: soddisfare le aspettative degli utenti del web in termini di una migliore protezione della privacy dei dati, nonostante la crescente sofisticatezza degli sviluppatori in termini di monitoraggio e targeting.
In evidenza: Interop 2022
Quando pianifichiamo le nostre roadmap, esaminiamo i feedback degli sviluppatori per comprendere, tra le altre cose, i principali problemi e le principali esigenze degli sviluppatori web. Un tema chiave che si ripete spesso è la compatibilità del browser, che consente a un'esperienza di funzionare allo stesso modo su tutti i browser. Nell'ultimo anno, abbiamo collaborato con l'ecosistema per affrontare questo tema nell'ambito della nostra priorità di "semplificare lo sviluppo web".
L'anno scorso, Microsoft, Chrome e gli attori dell'ecosistema hanno annunciato Compat 2021, che ha portato tutti i motori dei browser più diffusi (Chromium, Gecko e Webkit) a ottenere un punteggio superiore al 90% nelle cinque aree di attenzione principali identificate per l'anno. Tra le altre cose, Compat 2021 ha permesso di creare una base solida per funzionalità potenti come CSS Grid (12% di utilizzo e in costante crescita) e CSS Flexbox (77% di utilizzo).
Il mese scorso, Apple, Bocoup, Google, Igalia, Microsoft e Mozilla si sono unite come supporter per risolvere i problemi di compatibilità dei principali browser identificati dagli sviluppatori web e concordare un benchmark comune. Il risultato è Interop 2022, un progetto con l'obiettivo di rendere la piattaforma più omogenea. Il benchmark si concentra su 15 aree prioritarie identificate dagli sviluppatori come fondamentali per migliorare la produttività.
Informazioni privilegiate: collaborazione con i nostri pari nel browser
Con Interop 2022 in primo piano, ho incontrato Robert Nyman e Philip Jägenstedt, che hanno partecipato a queste conversazioni, per scoprire di più. Ecco il montaggio dell'editor di come è stato realizzato.
Qual è la genesi di questa iniziativa?
Robert: Tutto è iniziato nel 2019, quando abbiamo condotto il sondaggio MDN DNA 2019. I problemi di compatibilità si sono chiaramente distinti come il problema principale per gli sviluppatori che creano contenuti per il web e abbiamo approfondito l'argomento nel report sulla compatibilità dei browser di MDN 2020. Questo ci ha fornito informazioni e dati strategici sufficienti per avviare l'iniziativa Compat 2021, che a sua volta ha portato sia a continuare questo lavoro sia ad ampliarne l'ambito con Interop 2022.
Philip: vorrei anche menzionare web-platform-tests e State of CSS 2021. Collaboriamo da anni con altri fornitori di browser per i test utilizzando WPT e volevamo davvero sfruttare questa collaborazione. I test per queste funzionalità erano già stati scritti per la maggior parte, quindi dovevamo solo esaminarli e aggiungere una copertura mancante. Google ha investito molto in wpt.fyi, ma dobbiamo ringraziare anche Mozilla per aver reso WPT il successo che è oggi. Anche Mozilla ha dato un grande contributo ai sondaggi del DNA di MDN. Oltre a queste, c'è anche lo State of CSS 2021. Per organizzare un evento come Interop 2022, abbiamo bisogno di un nuovo contributo sulle esigenze degli sviluppatori web, quindi abbiamo collaborato con il gestore del sondaggio Sacha per includere alcune nuove domande sui problemi di compatibilità dei browser. Questo ci ha aiutato molto nella procedura di pianificazione di Interop 2022.
Qualche apprendimento o feedback da Compat 2021?
Robert: è stato molto utile misurare e avere punteggi e approfondimenti sul rendimento di ciascun motore del browser, in modo da poter seguire l'avanzamento e assicurarci di discutere e risolvere i problemi non chiari o che dovevano essere assegnati come priorità. Inoltre, ci siamo resi conto rapidamente che "Interop" era un nome migliore per l'iniziativa. I termini compatibilità e interoperabilità sono in genere distinti dai fornitori di browser, dove compatibilità si riferisce alla compatibilità del sito e interoperabilità a due o più browser che si comportano allo stesso modo. In questa terminologia, questo impegno riguarda l'interoperabilità, pertanto il progetto è stato allineato a questa denominazione.
Qual è la nostra visione?
Robert: per mantenere aperto il web, è fondamentale la diversità di browser e motori di rendering. Purtroppo, al momento questo ha un costo elevato per i nostri sviluppatori, che devono stare al passo con i diversi livelli di supporto delle funzionalità di ciascun motore. La nostra visione è che gli sviluppatori considerino la piattaforma web come l'opzione più praticabile e la scelta più interessante per le loro esigenze e che possano concentrarsi sulla creazione delle migliori esperienze possibili invece di dedicare molto tempo alla risoluzione di problemi di interoperabilità. È molto chiaro che, per raggiungere questo obiettivo, le funzionalità più richieste devono essere disponibili in tutti i principali motori dei browser per consentire agli sviluppatori di avere successo sulla piattaforma web.
Come possiamo fare progressi collettivamente quando i browser con obiettivi (a volte) diversi si uniscono?
Philip: il nostro approccio è stato cercare aree di interesse comune, per trovare collaborazioni vantaggiose per entrambe le parti in cui gli obiettivi sono già approssimativamente in linea. Inoltre, assegnando la priorità a un numero limitato di attività su cui lavorare contemporaneamente, mettiamo in evidenza queste aree, avanziamo più velocemente e otteniamo una qualità superiore rispetto a quanto faremmo se lavorassimo separatamente. È questa l'idea.
Penso che sia importante riconoscere che questo approccio basato sul consenso ha dei limiti: se gli obiettivi non sono sufficientemente in linea, dobbiamo procedere in qualche altro modo. A volte può essere utile fornire ulteriori prove delle esigenze degli sviluppatori web o degli utenti, ma alla fine i fornitori di browser possono rilasciare funzionalità che non sono ampiamente accettate. Nel migliore dei casi, il valore della funzionalità viene dimostrato dagli sviluppatori web che la provano, scoprono che soddisfa le loro esigenze e richiedono la stessa funzionalità in tutti i browser.
Tornando a Interop 2022, prevediamo che a un certo punto nella pipeline verranno inserite funzionalità diverse da quelle di design o layout?
Philip: Assolutamente. Interop 2022 non si è limitato alle funzionalità di stile e layout, ma ha finito per orientarsi molto verso il CSS. In parte perché lo State of CSS 2021 era recente, ma anche perché gli sviluppatori web ci hanno detto che è qui che hanno più problemi con le differenze tra i browser. Più aree di messa a fuoco, come gli elementi di moduli e finestre di dialogo, vanno oltre il CSS e stiamo anche conducendo alcune indagini sulle API di modifica e sugli eventi del cursore e del mouse. Mi auguro che per Interop 2023 avremo più dati aggiornati sulle esigenze degli sviluppatori sul web e che includeremo altre funzionalità simili.
Modifiche principali imminenti
Uno degli obiettivi di questa serie è fornire agli sviluppatori un avviso sulle modifiche chiave imminenti, ovvero elementi importanti per migliorare l'esperienza utente e le funzionalità della piattaforma.
Le tempistiche indicate di seguito sono le date in cui prevediamo che queste modifiche verranno apportate. Tuttavia, è possibile che le versioni rilasciate delle funzionalità cambino.
Riduzione dello user agent
L'intestazione User-Agent e le relative interfacce JS associate trasmettono non solo informazioni utili sul browser e sul dispositivo, ma comportano anche una serie di informazioni imprecise e non aggiornate. Più problematico dell'offerta quasi infinita di bug di analisi delle stringhe UA è il fatto che viene inviata passivamente ai server per tutte le richieste di navigazione e risorse secondarie. Ciò rappresenta circa 10 bit di entropia che i server possono utilizzare per creare identificatori di monitoraggio stabili mentre gli utenti navigano sul web.
Il nostro piano attuale è ridurre la stringa UA esistente continuando a inviare la versione principale del browser, il nome della piattaforma e l'indicatore di dispositivo mobile a bassa entropia, bloccando le informazioni ad alta entropia. Per i casi d'uso che richiedono informazioni aggiuntive rispetto a quelle contenute nell'intestazione, forniamo l'API User-Agent Client Hints da Chrome 89.
Abbiamo eseguito una prova di Origin per 6 mesi per la sperimentazione e il feedback e siamo felici di non aver ricevuto feedback relativi a interruzioni nonostante la partecipazione di oltre 200 utenti.
- Cronologia: in Chrome 101, stiamo procedendo con la cosiddetta Fase 4: ridurre le informazioni
MINOR.BUILD.PATCH
nella stringa UA a0.0.0
. Inoltre, continueremo a dare un preavviso ai siti e a concedere loro il tempo di prepararsi per le fasi 5 e successive. Abbiamo anche creato criteri aziendali per disattivare queste modifiche e eseguiremo una prova di ritiro fino alla versione 113 di Chrome per dare ai siti più tempo per prepararsi a queste modifiche. - Invito all'azione: esegui la migrazione del tuo sito a UA Client Hints o partecipa alla prova relativa al ritiro.
API Local Fonts Access
Chrome sta lanciando l'API Local Font Access. Sebbene i siti siano in grado di utilizzare i caratteri locali da molto tempo, questa API enumera l'elenco dei caratteri locali e fornisce l'accesso ai dati dei caratteri stessi. Questa funzionalità consente agli utenti di utilizzare tutti i loro caratteri con il design web e altre applicazioni.
I caratteri locali sono noti da tempo come vettore di fingerprinting. Sebbene questa nuova API non aumenti la possibilità di utilizzare i caratteri per il fingerprinting, Chrome richiede che un utente conceda una nuova autorizzazione "local-fonts"
a un sito prima di poter utilizzare la nuova API Local Font Access.
In futuro, prevediamo di richiedere la stessa autorizzazione "local-fonts" prima di utilizzare qualsiasi altra API che fornisca l'accesso ai caratteri locali.
- Tempistiche: targeting di Chrome 103 (giugno 2022)
- Invito all'azione: scopri di più sull'API e su come utilizzarla per iniziare a implementarla.
Far funzionare BFCache con Cache-control: no-store
Abbiamo identificato un'opportunità significativa per migliorare la frequenza con cui la cache back-forward può fornire navigazioni avanti/indietro istantanee. Ciò richiede una modifica del comportamento di BFCache nelle pagine pubblicate con l'intestazione HTTP Cache-Control: no-store. Abbiamo una proposta pubblica progettata per evitare sorprese significative monitorando vari indicatori (ad esempio l'eliminazione delle pagine dalla cache BF ogni volta che un cookie solo HTTP cambia) e esclusioni (ad esempio i criteri di gruppo per i clienti Enterprise/Edu) per contesti unici. Si tratta di un'opportunità complessa, ma entusiasmante, e ci farebbe piacere ricevere ulteriori approfondimenti e feedback.
- Tempistiche: targeting Chrome 104 (luglio 2022), salvo imprevisti.
- Invito all'azione:consulta la proposta per ulteriori dettagli, tra cui come attivare un'implementazione in corso e i modi per condividere feedback, ad esempio scenari reali in cui il nostro approccio potrebbe creare nuovi ostacoli.
Con questa serie, spero di riuscire a dare alla nostra community di sviluppatori un senso di concentrazione e connessione avvicinandola al mio team e al suo lavoro. Continua a seguirci per altri aggiornamenti.
A presto.
Che cosa ne pensi della prima edizione di The Chrome Dev Insider? Condividi il tuo feedback.