First Interactive Time indicates when a page is first expected to be usable and will respond to user input quickly. It can be a great metric to determine when users can reasonably expect to interact with a page, but it is important to understand how First Interactive is calculated to know if it is the right metric to monitor for your application.
Unlike performance and paint timings, there is no browser-supported API for interactive timings, and there is no standard definition for when a page is considered "interactive". Rigor tested multiple approaches for monitoring interactivity and settled on a solution for First Interactive time that yields consistent results without affecting check timings.
To calculate First Interactive, Rigor creates a PerformanceObserver to collect "longtask" entries that can block user interactivity while your page is loading. After the page load is complete, we analyze the "longtask" entries following the steps below:
- Find interactive windows where there is no "longtask" that takes more than 50ms to complete. Tasks shorter than 50ms won't be perceived by users so they are ignored.
- Starting at First Contentful Paint, begin searching for a 5 second interactive window.
- First Interactive is the start time of this 5 second interactive window, or DOM Load Time (whichever is later).
In cases where the page load completes before a 5 second interactive window is observed, First Interactive is set to the start of the last interactive window, and this is noted with an asterisk (*) on the run result page for transparency:
While Rigor's approach to calculate First Interactive works for most applications, you may want a measurement of interactivity that is customized for you. To do that, you can use the User Timing API to log an event when a specific element appears or when a certain resource has loaded, and Rigor will monitor it. User timings appear on run result pages and in the Performance KPIs report.
Why don't I see First Interactive data for my Firefox Real Browser check?
Currently First Interactive is only available for Chrome checks. You can update your check to use Chrome at any time via the Advanced settings on the check edit page.
Why does my First Interactive time look different in Rigor than in another performance applications?
Our approach is consistent with other performance applications that report First Interactive time, but there is no standard definition or method to calculate interactive timings, so implementation details can vary and lead to different results. First Interactive is also dependent on multiple other metrics (First Contentful Paint, DOM Load, etc.), so any difference in those values can amplify differences in interactive timings.