99% of web pages don’t actually need to do any computationally difficult tasks (in asymptotic or absolute terms) before rendering. Yet somehow, they take multiple seconds server-side and further seconds client-side since my browser has to fetch resources that weren’t included with the original page load and then run the infuriating amount of JavaScript littering the page.
Here’s how this should work: you should efficiently gather all necessary page resources server-side in a matter of milliseconds, blast them into a byte buffer, and send it all to me in the initial response. I’m OK with deferring large, noncritical resources like images, but your page should be formatted and interactive within 100ms+RTT. No dependencies on 6MB of JavaScript for a bunch of 140 character messages or a shopping cart, no making my browser submit 50 different requests for random critical page elements.
I’m willing to give companies like Facebook a few hundred more milliseconds since they sometimes have to do non-trivial computation, but somehow Google manages to stay more or less within my performance expectations.
I really like most of this article, but I’m concerned by a) the arbitrary five-second budget and b) the glossed-over vagueness of this model of the median user. Besides which, is it acceptable to ruin the user experience for half the audience? And as @wyager mentions, what the hell are you doing that takes five seconds?
Even 5 seconds sounds insane to me.
99% of web pages don’t actually need to do any computationally difficult tasks (in asymptotic or absolute terms) before rendering. Yet somehow, they take multiple seconds server-side and further seconds client-side since my browser has to fetch resources that weren’t included with the original page load and then run the infuriating amount of JavaScript littering the page.
Here’s how this should work: you should efficiently gather all necessary page resources server-side in a matter of milliseconds, blast them into a byte buffer, and send it all to me in the initial response. I’m OK with deferring large, noncritical resources like images, but your page should be formatted and interactive within 100ms+RTT. No dependencies on 6MB of JavaScript for a bunch of 140 character messages or a shopping cart, no making my browser submit 50 different requests for random critical page elements.
I’m willing to give companies like Facebook a few hundred more milliseconds since they sometimes have to do non-trivial computation, but somehow Google manages to stay more or less within my performance expectations.
I really like most of this article, but I’m concerned by a) the arbitrary five-second budget and b) the glossed-over vagueness of this model of the median user. Besides which, is it acceptable to ruin the user experience for half the audience? And as @wyager mentions, what the hell are you doing that takes five seconds?
[Comment removed by author]
As per this article https://janmr.com/blog/2015/04/time-budgets-for-the-web/
User feels that system reacts instantaneously, if response time 0.1s.