Interaction to Next Paint (INP)

Supporto dei browser

  • Chrome: 96.
  • Edge: 96.
  • Firefox: non supportato.
  • Safari: non supportato.

Origine

I dati sull'utilizzo di Chrome mostrano che il 90% del tempo dell'utente su una pagina viene trascorso dopo il caricamento. Pertanto, è importante misurare attentamente l'adattabilità durante il ciclo di vita della pagina. Questo è ciò che viene valutato dalla metrica INP.

Una buona adattabilità significa che una pagina risponde rapidamente alle interazioni. Quando una pagina risponde a un'interazione, il browser visualizza un feedback visivo nel frame successivo visualizzato. Il feedback visivo ti indica, ad esempio, se un articolo che aggiungi a un carrello degli acquisti online viene effettivamente aggiunto, se si è aperto un menu di navigazione mobile, se i contenuti di un modulo di accesso vengono autenticati dal server e così via.

Alcune interazioni richiedono naturalmente più tempo di altre, ma per quelle particolarmente complesse è importante presentare rapidamente un feedback visivo iniziale per comunicare all'utente che sta succedendo qualcosa. Il frame successivo che il browser dipingerà è la prima opportunità per farlo.

Pertanto, lo scopo di INP non è misurare tutti gli effetti eventuali di un'interazione, come i recuperi di rete e gli aggiornamenti dell'interfaccia utente da altre operazioni asincrone, ma il tempo in cui viene bloccato il prossimo paint. Ritardando il feedback visivo, gli utenti potrebbero avere l'impressione che la pagina non risponda abbastanza rapidamente e INP è stato sviluppato per aiutare gli sviluppatori a misurare questa parte dell'esperienza utente.

Nel video seguente, l'esempio a destra fornisce un feedback visivo immediato sull'apertura di una sezione a scomparsa. L'esempio a sinistra mostra una scarsa reattività e come può creare esperienze utente negative.

Un esempio di reattività scarsa rispetto a una buona. A sinistra, le attività lunghe impediscono l'apertura dell'elenco a scomparsa. Di conseguenza, l'utente fa clic più volte, pensando che l'esperienza non funzioni. Quando il thread principale si aggiorna, elabora gli input in ritardo, con la conseguente apertura e chiusura imprevista dell'accordion. A destra, una pagina più reattiva apre l'accordion rapidamente e senza incidenti.

Questa guida spiega come funziona l'INP, come misurarlo e indica le risorse per migliorarlo.

Che cos'è INP?

L'INP è una metrica che valuta l'adattabilità complessiva di una pagina alle interazioni degli utenti osservando la latenza di tutti i clic, i tocchi e le interazioni da tastiera che si verificano durante la visita di un utente a una pagina. Il valore INP finale corrisponde all'interazione più lunga osservata, ignorando i valori anomali.

Dettagli su come viene calcolato l'INP

L'INP viene calcolato osservando tutte le interazioni effettuate con una pagina. Per la maggior parte dei siti, l'interazione con la latenza peggiore viene registrata come INP.

Tuttavia, per le pagine con un numero elevato di interazioni, interruzioni casuali possono determinare un'interazione a latenza insolitamente elevata su una pagina altrimenti reattiva. Maggiore è il numero di interazioni che si verificano su una determinata pagina, maggiori sono le probabilità che ciò si verifichi.

Per misurare meglio l'effettiva reattività delle pagine con un elevato numero di interazioni, ignoriamo un'unica interazione più elevata ogni 50 interazioni. La maggior parte delle esperienze sulle pagine non ha più di 50 interazioni, perciò più spesso viene segnalata l'interazione peggiore. Il 75° percentile di tutte le visualizzazioni di pagina viene poi registrato come di consueto, il che rimuove ulteriormente gli outlier per fornire un valore uguale o migliore a quello sperimentato dalla stragrande maggioranza degli utenti.

Un'interazione è un gruppo di gestori di eventi che si attivano durante lo stesso gesto logico dell'utente. Ad esempio, le interazioni "tocco" su un dispositivo touchscreen includono più eventi, come pointerup, pointerdown e click. Un'interazione può essere generata da JavaScript, CSS, controlli del browser integrati (ad esempio gli elementi del modulo) o una combinazione di questi.

La latenza di un'interazione è la singola durata più lunga di un gruppo di gestori di eventi che generano l'interazione, dal momento in cui l'utente inizia l'interazione a quello in cui il browser è in grado di visualizzare un frame.

Che cos'è un buon punteggio INP?

È difficile applicare etichette come "buono" o "scarso" a una metrica di adattabilità. Da un lato, vuoi incoraggiare pratiche di sviluppo che diano la priorità a una buona reattività. D'altra parte, occorre tenere conto del fatto che le capacità dei dispositivi che le persone utilizzano per stabilire aspettative realizzabili in termini di sviluppo sono molto variabili.

Per assicurarti di offrire esperienze utente con una buona reattività, una buona soglia da misurare è il 75° percentile dei caricamenti di pagine registrati sul campo, segmentati in base ai dispositivi mobili e ai computer:

  • Un valore INP inferiore o pari a 200 millisecondi indica che una pagina ha una buona adattabilità.
  • Un INP superiore a 200 millisecondi e inferiore o pari a 500 millisecondi indica che l'adattabilità di una pagina deve essere migliorata.
  • Un INP superiore a 500 millisecondi indica che una pagina ha una scarsa adattabilità.
I valori INP buoni sono pari o inferiori a 200 millisecondi, quelli bassi sono superiori a 500 millisecondi e qualsiasi intervallo intermedio deve essere migliorato.
I valori INP buoni sono pari o inferiori a 200 millisecondi. I valori scadenti sono maggiori di 500 millisecondi.

Che cos'è un'interazione?

Un diagramma che mostra un'interazione sul thread principale. L'utente inserisce un input mentre blocca l'esecuzione delle attività. L'input viene ritardato fino al completamento di queste attività, dopodiché vengono eseguiti i gestori di eventi puntatore, mouseup e clic. Successivamente, il rendering e il disegno vengono avviati fino a quando non viene visualizzato il frame successivo.
Il ciclo di vita di un'interazione. Si verifica un ritardo di input fino all'avvio dell'esecuzione dei gestori di eventi, probabilmente a causa di fattori come attività lunghe sul thread principale. I callback del gestore di eventi dell'interazione vengono quindi eseguiti e si verifica un ritardo prima che venga presentato il frame successivo.

Il principale fattore di interattività è spesso JavaScript, anche se i browser forniscono interattività tramite controlli non basati su JavaScript, come caselle di controllo, pulsanti di opzione e controlli basati su CSS.

Ai fini di INP, vengono osservati solo i seguenti tipi di interazione:

  • Fare clic con un mouse.
  • Toccare un dispositivo con un touchscreen.
  • Premendo un tasto su una tastiera fisica o sullo schermo.

Le interazioni avvengono nel documento principale o negli iframe incorporati nel documento, ad esempio facendo clic sul pulsante di riproduzione in un video incorporato. Gli utenti finali non sono consapevoli di cosa contiene o meno un iframe, pertanto è necessario utilizzare INP all'interno degli iframe per misurare l'esperienza utente per la pagina di primo livello. Poiché le API web JavaScript non hanno accesso ai contenuti degli iframe, questo potrebbe mostrarsi come una differenza tra CrUX e RUM

Le interazioni possono essere costituite da più eventi. Ad esempio, una pressione di tasti include gli eventi keydown, keypress e keyup. Le interazioni di tocco contengono eventi pointerup e pointerdown. L'evento con la durata più lunga all'interno dell'interazione contribuisce alla latenza totale dell'interazione.

Una rappresentazione di un'interazione più complessa contenente due interazioni. Il primo è un evento mousedown, che produce un frame prima che il tasto del mouse venga rilasciato, il che avvia un'altra operazione fino a quando non viene visualizzato un altro frame come risultato.
Una rappresentazione di un'interazione con più gestori di eventi. La prima parte dell'interazione riceve un input quando l'utente fa clic con un pulsante del mouse. Tuttavia, prima di rilasciare il tasto del mouse, viene visualizzato un frame. Quando l'utente rilascia il pulsante del mouse, deve essere eseguita un'altra serie di gestori di eventi prima della visualizzazione del frame successivo.

L'INP della pagina viene calcolato quando l'utente esce dalla pagina. Il risultato è un singolo valore rappresentativo dell'adattabilità complessiva della pagina durante il suo ciclo di vita. Un INP basso indica che una pagina è stata reattiva in modo affidabile all'input dell'utente.

Qual è la differenza tra INP e il First Input Delay (FID)?

INP è la metrica che sostituisce First Input Delay (FID). Sebbene entrambe siano metriche di adattabilità, FID misurava solo il tempo di risposta della prima interazione in una pagina. INP migliora il FID osservando tutte le interazioni su una pagina, a partire dal ritardo di input, fino al tempo necessario per eseguire i gestori di eventi e infine fino a quando il browser non esegue il paint del frame successivo.

Queste differenze indicano che sia INP che FID sono tipi diversi di metriche di reattività. Mentre il FID era una metrica di adattabilità al caricamento progettata per valutare la prima impressione della pagina sull'utente, l'INP è un indicatore più affidabile dell'adattabilità complessiva, indipendentemente dal momento in cui si verificano le interazioni nella vita di una pagina.

Cosa succede se non viene segnalato alcun valore INP?

È possibile che una pagina non restituisca alcun valore INP. Ciò può accadere per una serie di motivi, tra cui:

  • La pagina è stata caricata, ma l'utente non ha mai fatto clic, toccato o premuto un tasto sulla tastiera.
  • La pagina è stata caricata, ma l'utente ha interagito con essa utilizzando gesti che non vengono misurati, ad esempio lo scorrimento o il passaggio del mouse sopra gli elementi.
  • Un bot, ad esempio un crawler di ricerca o un browser headless, che non è stato sottoposto a script per interagire con la pagina, sta accedendo alla pagina.

Come misurare l'INP

L'INP può essere misurato sia sul campo sia in laboratorio, nella misura in cui puoi simulare interazioni utente realistiche.

Sul campo

Idealmente, il tuo percorso di ottimizzazione dell'INP inizierà con i dati sul campo. Nella migliore delle ipotesi, i dati dei campi forniti da Real User Monitoring (RUM) forniranno non solo il valore INP di una pagina, ma anche dati contestuali che evidenziano quale interazione specifica è stata responsabile del valore INP stesso, se l'interazione si è verificata durante o dopo il caricamento della pagina, il tipo di interazione (clic, pressione di un tasto o tocco) e altre tempistiche importanti che possono aiutarti a identificare quale parte dell'interazione ha influito sulla reattività.

Se il tuo sito web è idoneo per l'inclusione nel Report sull'esperienza utente di Chrome (CrUX), puoi ottenere rapidamente i dati sul campo per l'INP tramite CrUX in PageSpeed Insights (e altri Core Web Vitals). Come minimo, puoi ottenere un'immagine a livello di origine dell'INP del tuo sito web, ma in alcuni casi puoi anche ottenere dati a livello di URL.

Tuttavia, CrUX è in grado di indicare se esiste un problema, ma non è in grado di indicarti la causa. Una soluzione RUM può aiutarti a scoprire ulteriori dettagli su pagine, utenti o interazioni utente che presentano problemi di adattabilità. Riuscire ad attribuire l'INP alle interazioni individuali evita supposizioni e sprechi di sforzi.

Nel laboratorio

Idealmente, ti consigliamo di iniziare a eseguire i test nel lab quando disponi di dati sul campo che suggeriscono che le interazioni con una pagina sono lente. I dati sul campo semplificano notevolmente la riproduzione di interazioni problematiche in laboratorio.

Tuttavia, è del tutto possibile che tu non disponga di dati sul campo. Anche se l'INP può essere misurato in alcuni strumenti di laboratorio, il valore INP risultante per una pagina durante i test di laboratorio dipenderà dalle interazioni eseguite durante il periodo di misurazione. I comportamenti degli utenti possono essere imprevedibili e altamente variabili, il che significa che i test in laboratorio potrebbero non mostrare le interazioni con problemi nello stesso modo in cui possono farlo i dati sul campo. Inoltre, alcuni strumenti di laboratorio non registrano l'INP di una pagina perché osservano solo il caricamento di una pagina senza interazioni. In questi casi, il tempo di blocco totale (TBT) può essere una metrica proxy ragionevole per INP, ma di per sé non sostituisce l'INP.

Anche se gli strumenti del lab presentano delle limitazioni quando si tratta di valutare l'INP di una pagina, ci sono alcune strategie per riprodurre le interazioni lente nel lab. Le strategie includono seguire i flussi utente comuni e testare le interazioni lungo il percorso, nonché interagire con la pagina durante il caricamento (quando il thread principale è spesso più intenso) per identificare le interazioni lente durante quella parte cruciale dell'esperienza utente.

Come migliorare INP

È disponibile una raccolta di guide sull'ottimizzazione di INP per guidarti nel processo di identificazione delle interazioni lente sul campo e sull'utilizzo dei dati di laboratorio per identificare le cause e ottimizzarle.

Log delle modifiche

A volte vengono rilevati bug nelle API utilizzate per misurare le metriche e, a volte, nelle definizioni delle metriche stesse. Di conseguenza, a volte è necessario apportare modifiche, che possono essere visualizzate come miglioramenti o regressioni nelle dashboard e nei report interni.

Per aiutarti a gestire questo aspetto, tutte le modifiche all'implementazione o alla definizione di queste metriche verranno visualizzate in questo log delle modifiche.

Se hai un feedback per queste metriche, forniscilo nel gruppo Google web-vitals-feedback.

Verifica le tue conoscenze

Qual è l'obiettivo principale della metrica INP?

Per misurare il tempo necessario per la visualizzazione dei primi contenuti di una pagina.
Sbagliato: descrive la prima visualizzazione con contenuti
Per quantificare la stabilità visiva di una pagina e ridurre al minimo le variazioni di layout impreviste.
Sbagliato: descrive la variazione cumulativa del layout
Per valutare il tempo necessario affinché una pagina diventi completamente interattiva.
Sbagliato: si riferisce al tempo all'interazione, ma INP si concentra nello specifico sulla reattività all'input dell'utente
Per ridurre al minimo il tempo che intercorre tra l'avvio di un'interazione da parte dell'utente e la visualizzazione del frame successivo, per tutte o la maggior parte delle interazioni avviate dall'utente.
Esatto!

Quali dei seguenti tipi di interazione vengono osservati ai fini del calcolo dell'INP? (Seleziona tutte le opzioni pertinenti.)

Fare clic con un mouse.
Esatto!
Scorrere la pagina con la rotellina del mouse o il trackpad.
Sbagliato - INP non considera la possibilità di scorrere
Tocco su un touchscreen.
Esatto!
Passa il cursore del mouse sugli elementi.
Risposta errata: INP non valuta la possibilità di passare il mouse sopra
Premere un tasto sulla tastiera.
Esatto!
Aumentare o diminuire lo zoom nella pagina.
Non corretto: l'INP non tiene conto dello zoom

Com'è la "latenza" di un'interazione definita per INP?

Il tempo necessario al browser per elaborare i gestori di eventi di un'interazione.
Non corretto: viene presa in considerazione solo la durata dell'elaborazione, non il ritardo di inserimento o il tempo necessario per presentare il fotogramma successivo
Il tempo medio necessario per produrre una risposta visiva per tutte le interazioni su una pagina.
Non corretto: l'INP si concentra sull'interazione più lunga, non sulla media
Il tempo impiegato dal browser per iniziare a elaborare i gestori di eventi associati a un'interazione.
Non corretto: viene preso in considerazione solo il ritardo di inserimento, non il tempo di elaborazione e di rendering
Il tempo che intercorre dall'inizio dell'interazione al momento in cui il frame successivo è completamente visualizzato.
Esatto!

Qual è la differenza tra INP e FID?

INP misura il tempo necessario per visualizzare i primi contenuti di una pagina, mentre FID misura la reattività all'input utente.
Sbagliato: questo testo descrive la prima visualizzazione con contenuti, non INP
INP prende in considerazione la durata completa di tutte le interazioni, mentre FID misura solo il ritardo di input della prima interazione.
Esatto!
INP e FID misurano timestamp diversi in cui una pagina diventa interattiva.
Non corretto: INP e FID misurano la velocità con cui la pagina risponde alle interazioni, indipendentemente dal momento in cui si verificano
Non c'è differenza: INP e FID sono solo due nomi diversi per la stessa metrica.
Sbagliato: hanno definizioni distinte

In quali circostanze i dati INP potrebbero non essere disponibili per una pagina in strumenti come PageSpeed Insights?

La pagina utilizza una libreria di misurazione del rendimento personalizzata che non registra i dati INP.
Non corretto: l'INP viene misurato automaticamente utilizzando le API della piattaforma web e non si basa sulle pagine che segnalano autonomamente il proprio rendimento tramite librerie personalizzate.
I dati sulle interazioni degli utenti di Chrome non sono sufficienti per calcolare un valore INP significativo nel set di dati CrUX.
Esatto!
Gli utenti hanno interagito con la pagina solo tramite scorrimento e passaggio del mouse, che non vengono considerati per l'INP.
Esatto!
La pagina è creata utilizzando un framework che ottimizza automaticamente per l'INP, quindi non è necessario segnalarla.
Risposta errata: i framework possono essere utili per l'INP, ma la metrica è comunque pertinente e viene segnalata se i dati sono disponibili

Qual è la strategia più efficace per riprodurre interazioni lente in un ambiente di laboratorio?

Simulazione di un dispositivo di fascia alta con una connessione di rete lenta e inaffidabile per creare condizioni difficili.
Sbagliato: sebbene la rete possa svolgere un ruolo, le funzionalità del dispositivo hanno maggiori probabilità di esporre le interazioni lente
Testare le interazioni solo dopo che la pagina è stata caricata completamente e non è in uso.
Non corretto: potrebbero non essere rilevate le interazioni lente durante il caricamento
Interagire con la pagina durante il caricamento e seguire i flussi utente comuni per identificare potenziali colli di bottiglia.
Esatto!
Concentrarsi su interazioni complesse e con casi limite che è improbabile che vengano riscontrate dalla maggior parte degli utenti.
Risposta errata: i flussi di utenti comuni sono più pertinenti per identificare i problemi INP tipici

Questo quiz è stato generato da Gemini 1.5 ed è stato rivisto da persone. Condividi il tuo feedback