Intent to implement: saveData attribute in Network Information API

73 views
Skip to first unread message

Ben Greenstein

unread,
Oct 6, 2017, 2:55:04 PM10/6/17
to blink-dev, Tarun Bansal, Ariel Posner
Contact emails

Summary
The saveData attibute is a boolean that indicates a client’s explicit opt-in for reduced data usage, due to high transfer costs, slow connection speeds, or other reasons. It's use allows JavaScript to make decisions that result in reduced data use, such as to load smaller images and video resources, or reduce buffering or predictive actions.

Motivation
A "Save-Data" request header is already one of several Client Hints that a client can send to indicate device and agent specific preferences. The "Save-Data" header is useful in cases where a server can deliver completely different content to data use-sensitive users. However, in order for sites to adapt the behavior of JavaScript on their pages to be more data efficient a JavaScript API is more effective. For example, with such an API, an adaptive streaming video player could lower the default quality or decrease pre-buffering when the client prefers reduced data usage.

Risks: Interoperability and Compatibility, Ergonomics, and Activation
Firefox: No public signals
Edge: No public signals
Safari: No public signals
Web developers: No signals
None. This attribute is informational, but doesn't expose new information to sites. Sites already can know which clients are data sensitive.
 
Debuggability
It would be nice for DevTools to have a toggle to enable/disable Data Saver from the Network Tab. Developers can already toggle this from Settings on Android and from the Data Saver extension on other platforms.

Ongoing technical constraints
None.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes, although there's currently no way to enable Data Saver on WebView. 

Link to entry on the feature dashboard

Requesting approval to ship?
No

Addy Osmani

unread,
Oct 6, 2017, 3:15:41 PM10/6/17
to blink-dev, tba...@chromium.org, apo...@chromium.org, be...@chromium.org
Similar to https://github.com/WICG/netinfo/issues/42, I'm excited for the saveData boolean to be available via Service Worker's `install` handle.

I noticed the ChromeStatus entry doesn't yet reference a crbug for implementing. Do we have one filed yet, Ben? Once an implementation is ready for testing, DevRel would be happy to write samples to kick the wheels on it :)

Ian Kilpatrick

unread,
Oct 6, 2017, 3:25:23 PM10/6/17
to Addy Osmani, blink-dev, tba...@chromium.org, apo...@chromium.org, be...@chromium.org
(note: the new intent to implement process now requires a TAG review to be kicked off or an explanation for why it is being skipped)

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a7ac2395-91ee-4ba6-927f-9d90c8a88789%40chromium.org.

Ben Greenstein

unread,
Oct 6, 2017, 7:12:52 PM10/6/17
to Ian Kilpatrick, Addy Osmani, blink-dev, tba...@chromium.org, apo...@chromium.org
I added a bug URL (https://bugs.chromium.org/p/chromium/issues/detail?id=772566#c1) to the status entry and requested a TAG review (https://github.com/w3ctag/design-reviews/issues/204).  Thanks.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpSpaQtDT5jDtnEMg4EttYO5_2gCj%2B0xEDsapcUfufOYUg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages