Take amazon.com and run a performance test on it. You'll find out that amazon takes 25s to load fully, on desktop. Surprised? You should very well be! If you think about the fact that a page is recommended to load in under 1s, Amazon is way off the chart!
Repeat the test again, this time just take notes of what you see. It doesn't feel slow, does it?
The explanation for this phenomenon is to be found in perceived performance. As Denys Mishunov put it:
Performance is never about milliseconds, kilobytes or number of requests; it is not about mathematics. Performance is all about perception and psychology.
All of this to bring the following point home: it doesn’t matter how much time Amazon takes to load, what really matters is how fast users perceive it to have loaded. If I can get to the item I’m looking for in seconds, I am happy, Amazon is happy, everybody is happy.
They say that crafting good performance starts with measuring. But how do we measure a perception, a feeling, a sensation? We can count on two main tools: Time to First Paint and Time to First Meaningful Paint.
TTFP tells us when the first feedback happens. The first paint is that moment when we tell users "ok, you tapped the button and we are handling it". It's a powerful way to reassure visitors that stuff is happening and that more stuff is coming.
TTFMP, instead, tells us when the first useful content is presented. In other words, how soon does my user feel served and happy, because she got the content she came for? Remember that we go to Amazon to interact with the search bar or the categories list, most of the time. It doesn’t really matter how slow their footer is to load!
Perceived performance is one of those concepts that can mean the difference between a failed optimization and a successful one. Always, and I mean always, work for a better feeling, a greater experience, a more pleasant journey. Optimize the perception, not the actual numbers.
I read each and every comment, contribute to the conversation with your thoughts!