Interaction to Next Paint (INP)

Supporto dei browser

  • 96
  • 96
  • x
  • x

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 reattività indica 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 indica se, ad esempio, un articolo che aggiungi al carrello degli acquisti online viene effettivamente aggiunto, se è stato aperto un menu di navigazione mobile, se i contenuti di un modulo di accesso vengono autenticati dal server e così via.

Ovviamente, alcune interazioni richiedono più tempo di altre, ma nel caso di interazioni particolarmente complesse, è importante presentare rapidamente un feedback visivo iniziale per informare l'utente che qualcosa sta accadendo. Il frame successivo che il browser dipingerà è la prima opportunità per farlo.

Pertanto, lo scopo di INP non è misurare tutti gli effetti finali di un'interazione, come i recuperi della rete e gli aggiornamenti dell'interfaccia utente da altre operazioni asincrone, ma il tempo in cui viene bloccato il rendering next. 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 che segue, l'esempio a destra offre un feedback visivo immediato che segnala l'apertura di una fisarmonica. Nell'esempio a sinistra viene mostrata una scarsa reattività e come può creare esperienze utente scadenti.

Esempio di reattività scadente o buona. A sinistra, le attività lunghe impediscono l'apertura dell'accordion. Questo fa sì che l'utente faccia clic più volte pensando che l'esperienza non sia funzionante. Quando il thread principale raggiunge il ritardo, elabora gli input ritardati, determinando l'apertura e la chiusura inaspettata 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 fornisce indicazioni sulle 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 tutte le interazioni di clic, tocco e tastiera che si verificano durante l'intera durata della 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 segnalata 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 quindi riportato come di consueto, il che elimina ulteriormente gli outlier per assegnare un valore percepito dalla stragrande maggioranza degli utenti o migliore.

Un'interazione è un gruppo di gestori di eventi che si attivano durante lo stesso gesto logico dell'utente. Ad esempio, "tocca" Le interazioni su un dispositivo touchscreen includono più eventi, ad esempio 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 è costituita dalla 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 visualizza il frame successivo.

Cos'è un buon punteggio INP?

Blocca le etichette, ad esempio "Buono" o "scadente" di una metrica di reattività è difficile. 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, segmentato tra dispositivi mobili e computer:

  • Un INP inferiore o pari a 200 millisecondi indica che una pagina ha una buona reattività.
  • Un INP superiore a 200 millisecondi e inferiore o pari a 500 millisecondi indica che la reattività di una pagina richiede miglioramenti.
  • Un INP superiore a 500 millisecondi indica che una pagina ha una scarsa reattività.
. 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 offrono l'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 il mouse.
  • Toccare un dispositivo con un touchscreen.
  • Premere 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 negli 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 mostrare una differenza tra CrUX e RUM

Le interazioni possono essere costituite da più eventi. Ad esempio, una sequenza di tasti include gli eventi keydown, keypress e keyup. Le interazioni di tocco contengono eventi pointerup e pointerdown. L'evento con la durata maggiore nell'interazione è ciò che contribuisce alla latenza totale dell'interazione.

Rappresentazione di un'interazione più complessa contenente due interazioni. Il primo è un evento mousedown, che produce un frame prima di rilasciare il pulsante del mouse, che avvia un ulteriore lavoro finché non viene visualizzato un altro frame come risultato.
. 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 pulsante 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 successiva a First Input Delay (FID). Sebbene entrambe siano metriche di reattività, la funzione FID ha misurato solo il ritardo di input della prima interazione su 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 rendering del frame successivo.

Queste differenze indicano che sia INP che FID sono tipi diversi di metriche di reattività. Se la metrica FID era una metrica della reattività del 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 con la 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, come lo scorrimento o il passaggio del mouse sugli 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 che in laboratorio, in modo da simulare interazioni realistiche degli utenti.

Sul campo

Idealmente, il tuo percorso verso l'ottimizzazione di INP inizia 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 essere incluso nel Report sull'esperienza utente di Chrome (CrUX), puoi ottenere rapidamente dati sul campo relativi a 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 sulle pagine, sugli utenti o sulle interazioni degli utenti che presentano problemi di reattività. Riuscire ad attribuire l'INP alle interazioni individuali evita supposizioni e sprechi di sforzi.

Nel laboratorio

In modo ottimale, ti consigliamo di iniziare il test nel lab quando avrai a disposizione dati sul campo che suggeriscono che una pagina abbia interazioni lente. Con i dati sul campo, il lavoro di riproduzione di interazioni problematiche in laboratorio risulterà molto più semplice.

Tuttavia, è del tutto possibile che non si disponga di dati dei campi. 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 molto variabili, il che significa che i test in laboratorio potrebbero non far emergere interazioni con i problemi allo stesso modo dei dati sul campo. Inoltre, alcuni strumenti di lab non segnaleranno l'INP di una pagina perché osservano solo il caricamento di una pagina senza alcuna interazione. 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 esistono limitazioni relative alla valutazione dell'INP di una pagina negli strumenti del lab, 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 scoperti bug nelle API utilizzate per misurare le metriche e talvolta nelle definizioni delle metriche stesse. Di conseguenza, a volte devono essere apportate delle modifiche che possono apparire come miglioramenti o regressioni nei report e nelle dashboard interni.

Per aiutarti a gestire questa situazione, tutte le modifiche all'implementazione o alla definizione di queste metriche verranno riportate 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 First Contentful Paint
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 quando un utente avvia un'interazione e il frame successivo, per tutte o per 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 il mouse.
Esatto!
Scorrimento della 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.
Risposta errata: INP non considera lo zoom

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

Il tempo impiegato dal browser per elaborare i gestori di eventi di un'interazione.
Sbagliato: tiene conto solo della durata di elaborazione, non del ritardo di input o del tempo necessario per presentare il frame successivo
Il tempo medio necessario a tutte le interazioni su una pagina per produrre una risposta visiva.
Risposta errata: 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.
Sbagliato: tiene conto solo del ritardo di input, non del tempo di elaborazione e rendering
Il tempo che intercorre tra l'inizio dell'interazione e il momento in cui viene presentato completamente il frame successivo.
Esatto!

Qual è la differenza tra INP e FID?

INP misura il tempo necessario per la visualizzazione dei primi contenuti di una pagina, mentre FID misura l'adattabilità all'input dell'utente.
Sbagliato: descrive la prima visualizzazione con contenuti, non INP
INP considera l'intera durata di tutte le interazioni, mentre la funzione FID misura solo il ritardo di input della prima interazione.
Esatto!
INP e FID misurano i diversi timestamp nei quali una pagina diventa interattiva.
Risposta errata: INP e FID sono misure della velocità con cui la pagina risponde alle interazioni, indipendentemente dal momento in cui si verificano
Non c'è alcuna differenza; INP e FID sono 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 personalizzata per la misurazione del rendimento che non riporta i dati INP.
Risposta errata: l'INP viene misurato automaticamente utilizzando le API della piattaforma web e non si basa su pagine che registrano autonomamente il 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 esclusivamente tramite lo scorrimento e il passaggio del mouse, un'azione non considerata per INP.
Esatto!
La pagina è stata creata utilizzando un framework che ottimizza automaticamente per INP, quindi non è necessario segnalarlo.
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 le 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
Verificare le interazioni solo dopo che la pagina è stata completamente caricata e non è attiva.
Sbagliato: potrebbero mancare 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 a livello perimetrale, difficilmente incontrate 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