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. https://wicg.github.io/netinfo/ 
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
You can follow @colinbendell.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: