Improving INP and FID with production profiling
On March 12 Google began promoting INP (Interaction to Next Paint) into a Core Web Vital metric in an effort to push performance beyond page loads.
I am an engineer that has spent more than a decade building developer tools and user interfaces at companies like Sentry, Specto (acquired by Sentry) and Algolia. Outside of work, I have also contributed to a number of pupular open source repositories - there is a good chance that some of the code I've written has ran on your device at some point.
I am curious by nature, which has lead me to doing many things (some questionable). Highlights include running a poker affiliate business back when I was 16, to coaching basketball, and later software engineering, building the first search analytics SDK at Algolia to performance profilers at Specto and Sentry, to currently working as a design engineer.
Outside of work, my time is dedicated to my family, and occasionally a game of basketball.
On March 12 Google began promoting INP (Interaction to Next Paint) into a Core Web Vital metric in an effort to push performance beyond page loads.
Since enabling browser profiling on our Sentry.io dashboard a month ago, we have collected over 2M profiles and learned a lot about how our users experience our dashboard."
Profiling is an important tool in every developer’s toolkit because it provides a granular view into the execution of your program from your production environment"
Some things just take time
Algolia's architecture is heavily redundant, hosting every application on at least three different servers (called clusters). We do this to ensure the greatest possible reliability. This underpins our SLA, ensuring a 99.99(9)% uptime, allowing you to reliably ship enterprise-grade search without having to worry about the underlying infrastructure.
Earlier this week I attended the first ever WeLoveSpeed conference in Bordeaux, which was the first ever edition of a conference in France, whose primary focus was web performance.
Performance is a core feature of Algolia. Our search engine delivers millisecond results across millions of records. It was originally designed for mobile devices where the resources are very limited, but was after transformed into an online API that now runs as an NGINX module. Our front-end libraries are written in a way that allows us to express that same speed on the client and ensure a high quality experience across devices.
A while ago I built a pen based on Ramotion's pull to refresh concept. It's a really cool concept and I wanted to see if I can make it work on the web. Seeing as many people liked the end result, I thought it would be interesting to provide a follow up post on how I tackled the challenge and hopefully provide someone with a better understanding of how it all works.