Google Chrome Engineering Manager Addy Osmani has taken to the web to reveal that the search giant plans to finally get serious about data savings and implement native lazy-loading features in Chrome 75. That's when the company hopes to add support for a new attribute called "loading" and applied to images, iframes, and similar elements for potentially drastically reduced page loading.
The attribute will be usable to prevent those elements from loading until just before a user scrolls down to them, shortening the initial loading time and reducing data downloaded when a longer page is first opened. The loading attribute can be assigned with a 'lazy', 'eager', or 'auto' value. As their names imply, those attributes will cause lazy-loading to occur on an element in Chrome by default, force an element to load up on the initial page launch for more important larger assets, or will let the browser decide.
A brief history and big benefits to end users
Lazy-loading is not, conceptually, a new feature as individual web developers have been using similar features for over a decade. The feature was also already available in Chrome's Canary Channel. As of Chrome 75, this will be the first time that Chrome allows developers to readily define how they work on an individual basis for each element in the Stable Channel.
In essence, developers will be able to ensure their pages load faster by setting elements that can be loaded quickly just before they come into the user's view to do so. That also has implications for end users since, as highlighted by the Googler's examples, the data savings can be enormous.
The most prominent of those examples center around a snapshot of a photo-intensive page that loads approximately 10MB — 10000KB — of image data when first launched. That not only slows Chrome down since all of the images need to be loaded up but burns through the data used by the site's visitors. With lazy loading enabled, the initial load size drops to just 250KB.
That's obviously an extreme example since most websites don't begin to approach the size in question but it would represent a data savings of roughly 98-percent. That means it would be significantly impactful for users on limited service plans or for those living in areas where internet speeds are comparatively slow.
Can users choose to turn on lazy loading by default?
For now, the browser and web developers will be responsible for lazy-loading attributes on iframes or images so site owners shouldn't lose out too much in terms of ad revenue. That won't necessarily be ideal for users since a site could feasibly choose to load up all of a page's advertisements with an "eager" attribute while leaving the rest of the content to load incrementally.
End user-controlled lazy loading isn't out of the question either.
Mr. Osmani says that side of the feature under consideration would most likely be implemented with a client-side 'hint' that would convey a user's loading preferences to the web page. He also indicates that's nowhere near completion just yet. So users probably shouldn't expect that to arrive in Chrome 75 alongside lazy-loading itself.
For now, users in the consumer-ready Stable version of Chrome or Chrome OS can turn on lazy-loading by access the "chrome://flags" URL and searching for "lazy." The two experimental flags that need to be enabled are "Enable lazy image loading" and "Enable lazy frame loading."