My Authors
Read all threads
18% of global Android Chrome users have Lite Mode enabled (aka Save-Data). Digging into the data, I now have more questions than answers. Is this a signal that users want #webperf? Or something else?
(cont…)
First impression: Save-Data gives users what they want, which is a different quality/performance tradeoff. And with @cloudinary’s q_auto it appears to yield a 10% greater consumption. Yay!
But then why is Lite Mode only at 5% in the Americas, while 30+% in Africa and Asia? Is it:
* intentional, users who want better web performance?
* enabled by default by android manufacturers?
* or just cargo-cult stories we tell, like 'enable dark mode to save battery’?
I recently discovered that first use of Android Chrome prompts the user to enable Lite Mode. The default is "on". Why would you ever want to disable 🚀super-duper-awesome-mode🧨?
Based on some experimentation, it doesn’t appear that all devices see this prompt. I couldn’t trigger the prompt on older Android 7 devices, but always prompted on Android 10 devices in India.

🤷🏻‍♂️So what does this mean? I have so many questions.
Let’s step back and understand the basics.
Lite-Mode (aka Save-Data) does 3 things:
🖼 proxy server-side rendered webpages and convert images to webp
🚀 force lazy load interventions
📡 add Save-Data HTTP headers
In #webperf circles, we have assumed that users with Save-Data enabled are signalling that they would like a reduced data experience and want a fasterrrr webpage.
Save-Data HTTP header is part of the NetInfo spec, and was intended to act as a signal that the user wants less data to be sent for webpages. wicg.github.io/netinfo/
For example, @Cloudinary will reduce the quality of images even more when q_auto feature is enabled and the user hints Save-Data cloudinary.com/blog/the_holy_…
In the chart above implies that @cloudinary’s q_auto really does help increase session length even more for Lite Mode users because the content is being adapted.

It appears that 10% more images are sent per session when doing content adaptation
Footnote on the data, this data was sampled over two months with a diverse set of web use cases. In order to reduce the data noise from bots, proxies and crawlers, we filtered on:
👉Android Chrome
👉HTTP/2 / TLS
👉Images (jpeg/webp/jp2/png)
But if the user is herded into enabling Lite-Mode, is the user really asking for a faster website? Should we really be adapting the UX because of the Save-Data hint? Are we providing an inferior experience that the user wasn't expecting?
Now I’m second guessing the assumption that Save-Data means a user wants a faster site and it is permission to reduce quality and take evasive actions. (Does opting out mean that they want a slooooowwwwwweeeerrrrr site?)
It is like a person who buys an 8K tv and is asked 'do you want to avoid buffering on Netflix?' Enabling the no-buffer mode just forces 480p all the time.

Does the user really know that this question might have changed their ongoing user experience?
I think the assumptions with Save-Data are wrong. We assumed that users wanted better performance, but if the opt-in is really just from the Chrome onboarding wizard, the hint is very misleading.
Adapting the content for Save-Data users does appear to yield a greater engagement. Maybe we should be asking why we wouldn’t do this for all users?
What action should we as front end developers do when we see Save-Data? Send less javascript? Optimize images and video? Progressively enhance the experience? Why not do all these things for all users?
How do we distinguish between lite-mode that is enabled by default by a user who doesn’t know any better vs. lite-mode that is enabled from user intention.
How should we be offering users value-confirmation when we adapted content from the save-data / lite mode signal? Not just images and video, but javascript and html too?
Tinfoil hat: Since Lite-Mode is a bundled service with proxied services and webperf interventions, perhaps users that opt-out are really signalling that they don’t want google to collect their data?
More questions:
* What data does lite mode’s proxy collect? How is it used?
* How does rendered & proxied requests impact ad impressions?
* How is server-rendered proxy requests triggered?
Conclusions?
👉I’m confused by Lite-Mode.
👉Adapting content for Save-data has great results, but probably should do this for everyone
👉Use progressive enhancement strategies instead to optimize for cpu and network variances
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with Colin Bendell

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!