But it is an opt-in feature, which is not supported in older browsers.
In modern frontend development we are heavily optimizing images now. Lazy loading is one thing, the other is optimizing sizes (based on viewports) and optimizing formats (if possible).
This often means you generate (and cache) images on the fly or at build-time, including resizing, cropping, compressing and so on.
As someone who browses the source of a lot of commercial web sites, I can say it's still dead common.
There's been a lot of static about new technologies coming that will make this unnecessary, but that don't help anyone today.
Would it be possible to download just the headers of images first to get the metadata?
Facebook claims they're doing this with the facebook.com redesign, for example: https://engineering.fb.com/web/facebook-redesign/
Chromium based browsers now natively support lazy-loading.
You could wait for layout and then load, but that would incur another big penalty (especially on JS-rendered pages).
<img loading="lazy" ... />
simply add the property to your html images and the browser will automatically load them when in the viewport (i.e. just the ones you actually see)
further details: https://caniuse.com/#feat=loading-lazy-attr
https://html.spec.whatwg.org/multipage/urls-and-fetching.htm...
I understand the desire to parallelize resources, but if my download speed is maxed out, it's clear what should get priority. I'm also aware that lazy loading exists, but as a user I find this causes content to load too late. I do want the page to preload content, I just wish stuff in my viewport got priority.
At minimum, it seems to me there ought to be a way for developers to specify loading order.