Pro-tip: If your webpage has a lot of images, it is very useful to add loading="lazy" attribute to all of them. You'll save on network traffic and users who do not read whole article won't DDoS your server.
Sites that want to do that already have plenty of more sophisticated tools for that. And if they don't use user tracking and only collect "basic scroll data" anonymously, honesty, I don't see the problem. "How far/quickly did people read my article?" is useful information to have and (again, without tracking) doesn't seem like a privacy problem.
> Sites that want to do that already have plenty of more sophisticated tools for that.
Most of which require javascript. Lazy loading is implemented in browsers/HTML so blocking JS won't help prevent tracking/fingerprinting there. There are a lot of other means to collect data without resorting to JS too though. The expectation isn't that you can prevent all your data from being collected, but you can (and should) prevent as much of it as you can, when you can.
In the case of lazy loading, disabling it not only prevents that data from being collected but it does so at basically zero cost to you (for all but the slowest or most metered connections) and in fact will likely improve your experience since many people find lazy loading annoying in the first place.
> if they don't use user tracking and only collect "basic scroll data" anonymously, honesty, I don't see the problem
If people weren't evil there wouldn't be a problem but since there are plenty of people who are, and you can't know which sites are only collecting "basic scrolling data" and not associating that to an IP and/or selling or handing that data over to third parties the only sensible thing to do is prevent anyone from collecting that data.
Sorry if that data is useful, I'm sure that it is, but it's also frankly nobody else's business and the fact that web-developers have largely refused to self-regulate and be responsible with our data means that smart users will do everything they can to keep as much of it out of other people's hands as possible. It'd sure be a better internet if we could all blindly trust random websites with our data when it is (on its own) low risk, but we can't so here we are.
It is also a degradation of UX to wait 10 seconds for a long page of images to load before you can read the first few lines of text -
which most people won't wait, and then google punishes your page, then no one finds it, then page load speed doesn't matter I suppose when it's just you reloading your own page to not watch images load.
I think it depends on many factors actually. While there are other methods that can be used to defer / delay loading of images (and videos and others) - and there are methods to 'preload fonts' and tricks like font-swap css..
I do believe that deferring the loading of large or many images and other assets can increase the speed to which the browser shows things on the screen, and 'time to interactive'; how long before you can scroll or click.
So depending on how a page is built, not doing anything to defer the loading of many images / other assets (that are not to be displayed 'above the fold' ) can increase or decrease the time it takes to render the text on the initial screen.
"Lazy loading images and video reduces initial page load time, initial page weight, and system resource usage, all of which have positive impacts on performance." - [1]
You may not notice this often if you have a fast internet connection, someone with a limited bandwidth, limited phone memory and the like may experience the issues more.
I believe this is aggravated with layout shifts do to fonts loading late / changing and image height / width not being known until after loading..
I spend a not-so-insignificant amount of time using google's pagespeed testing
(https://pagespeed.web.dev/analysis/https-www-netmeister-org-... )
and other tools to find issues that can be enhanced to fix page load speed, and time to interact, etc.. in order to fix these issues for site pages that others may not notice using a fast connection or benefiting from cached imagery.
"Lazy loading is a strategy to identify resources as non-blocking (non-critical) and load these only when needed. It's a way to shorten the length of the critical rendering path, which translates into reduced page load times." - [2]
A prior generation of Web content had progressively-loaded images: a low-resolution (and sometimes monochrome) initially, followed by a higher-resolution image.
I'm not sure of the specific implementation(s) used, but progressive JPEP (PJPEG) Is A Thing:
Dithering is to an extent a design decision, but given that most images are not actually informative but provide site styling and branding, reduced quality on most images isn't a bad trade-off. Where representational fidelity is required, vector formats, line art, SVG, and the like may be more appropriate.
14 comments
[ 2.8 ms ] story [ 45.2 ms ] threadThere are add-ons that remove lazy loading but in firefox you can also try setting dom.image-lazy-loading.enabled to false
Most of which require javascript. Lazy loading is implemented in browsers/HTML so blocking JS won't help prevent tracking/fingerprinting there. There are a lot of other means to collect data without resorting to JS too though. The expectation isn't that you can prevent all your data from being collected, but you can (and should) prevent as much of it as you can, when you can.
In the case of lazy loading, disabling it not only prevents that data from being collected but it does so at basically zero cost to you (for all but the slowest or most metered connections) and in fact will likely improve your experience since many people find lazy loading annoying in the first place.
> if they don't use user tracking and only collect "basic scroll data" anonymously, honesty, I don't see the problem
If people weren't evil there wouldn't be a problem but since there are plenty of people who are, and you can't know which sites are only collecting "basic scrolling data" and not associating that to an IP and/or selling or handing that data over to third parties the only sensible thing to do is prevent anyone from collecting that data.
Sorry if that data is useful, I'm sure that it is, but it's also frankly nobody else's business and the fact that web-developers have largely refused to self-regulate and be responsible with our data means that smart users will do everything they can to keep as much of it out of other people's hands as possible. It'd sure be a better internet if we could all blindly trust random websites with our data when it is (on its own) low risk, but we can't so here we are.
which most people won't wait, and then google punishes your page, then no one finds it, then page load speed doesn't matter I suppose when it's just you reloading your own page to not watch images load.
I do believe that deferring the loading of large or many images and other assets can increase the speed to which the browser shows things on the screen, and 'time to interactive'; how long before you can scroll or click.
So depending on how a page is built, not doing anything to defer the loading of many images / other assets (that are not to be displayed 'above the fold' ) can increase or decrease the time it takes to render the text on the initial screen.
"Lazy loading images and video reduces initial page load time, initial page weight, and system resource usage, all of which have positive impacts on performance." - [1]
You may not notice this often if you have a fast internet connection, someone with a limited bandwidth, limited phone memory and the like may experience the issues more.
I believe this is aggravated with layout shifts do to fonts loading late / changing and image height / width not being known until after loading..
I spend a not-so-insignificant amount of time using google's pagespeed testing (https://pagespeed.web.dev/analysis/https-www-netmeister-org-... ) and other tools to find issues that can be enhanced to fix page load speed, and time to interact, etc.. in order to fix these issues for site pages that others may not notice using a fast connection or benefiting from cached imagery.
"Lazy loading is a strategy to identify resources as non-blocking (non-critical) and load these only when needed. It's a way to shorten the length of the critical rendering path, which translates into reduced page load times." - [2]
[1] https://web.dev/articles/lazy-loading
[2] https://developer.mozilla.org/en-US/docs/Web/Performance/Laz...
I'm not sure of the specific implementation(s) used, but progressive JPEP (PJPEG) Is A Thing:
<https://imagekit.io/blog/progressive-jpeg/>
Lazy-load + progressive JPEG might be a further optimised solution.
Then there's the Low-Tech Magazine approach to highly optimised, low-bandwidth dithered images:
<https://solar.lowtechmagazine.com/about/the-solar-website/#h...>
Dithering is to an extent a design decision, but given that most images are not actually informative but provide site styling and branding, reduced quality on most images isn't a bad trade-off. Where representational fidelity is required, vector formats, line art, SVG, and the like may be more appropriate.
https://en.wikipedia.org/wiki/SoftBank_Group#SoftBank_Corp.