m...@chromium.org, be...@chromium.org, igri...@chromium.org, si...@chromium.org
Spec
https://tools.ietf.org/html/draft-grigorik-http-client-hints-03#section-7
Summary
The “Save-Data” header field is a boolean that, in requests, indicates client’s explicit opt-in for reduced data usage, due to high transfer costs, slow connection speeds, or other reasons. When communicated to origins, it allows them to deliver alternate content honoring such preference - e.g. smaller image and video resources, alternate "light mode" markup, etc.
(Note: this is a successor to RQ i2i [1] based on feedback from that and related threads)
Motivation
Users on very slow networks (e.g., 2G) sometimes must wait too long for high fidelity pages to load, and users on very expensive networks (e.g. roaming) sometimes must pay too much to retrieve high fidelity content. An origin or transcoding proxy that receives the Save-Data header can improve page load time and/or reduce costs by returning an alternate (“light”) version of the requested resource.
Today developers are forced to rely on variety of other unstable signals: past performance data, measured RTT, IP subnet masks, device fingerprinting, etc. By contrast, Save-Data provides a stable, user controlled, and more accurate signal to developers - e.g. a user may be on a fast connection but roaming (expensive) and wants to save data, and without Save-Data there is no easy or standard way to detect and adapt the experience to account for this.
Compatibility risk
Low. Origins and proxies that do not make use of Save-Data hint can safely ignore it.
Ongoing technical constraints
None.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
OWP launch tracking bug?
https://code.google.com/p/chromium/issues/detail?id=485640#c9
Link to entry on the feature dashboard
https://www.chromestatus.com/feature/5720139752275968
Requesting approval to ship?
Yes
[1] https://groups.google.com/a/chromium.org/forum/#!msg/net-dev/gaNYM3vKNfY/j8iHsV9yHCAJ
+1A few questions:* Any word from other browser vendors regarding that specific Client-Hint? Most of them have been receptive to the notion of Client-Hints in general, so there's no reason to think they'd object to the concept, but would be nice to get their feedback on this.
* In terms of UI, are we planning to expose an explicit user setting for this, or will it at first be flipped on when "data saver" is on?
* Is the plan to implement it as part of Blink (along with the other Client Hints at loader/FrameFetchContext)?
On Wed, Sep 30, 2015 at 2:13 PM, Yoav Weiss <yo...@yoav.ws> wrote:+1A few questions:* Any word from other browser vendors regarding that specific Client-Hint? Most of them have been receptive to the notion of Client-Hints in general, so there's no reason to think they'd object to the concept, but would be nice to get their feedback on this.Opera folks are on-board (cc'ed). I'm hoping other proxy-browsers will follow as well.* In terms of UI, are we planning to expose an explicit user setting for this, or will it at first be flipped on when "data saver" is on?For Chrome, the latter. The hint will be sent as long as user has "Data Saver" feature enabled in Chrome.* Is the plan to implement it as part of Blink (along with the other Client Hints at loader/FrameFetchContext)?I'll defer to Ben on this one :)
On Wed, Sep 30, 2015 at 8:47 PM, Ben Greenstein <be...@chromium.org> wrote:Contact emails
m...@chromium.org, be...@chromium.org, igri...@chromium.org, si...@chromium.org
Spec
https://tools.ietf.org/html/draft-grigorik-http-client-hints-03#section-7
Summary
The “Save-Data” header field is a boolean that, in requests, indicates client’s explicit opt-in for reduced data usage, due to high transfer costs, slow connection speeds, or other reasons. When communicated to origins, it allows them to deliver alternate content honoring such preference - e.g. smaller image and video resources, alternate "light mode" markup, etc.
(Note: this is a successor to RQ i2i [1] based on feedback from that and related threads)
Motivation
Users on very slow networks (e.g., 2G) sometimes must wait too long for high fidelity pages to load, and users on very expensive networks (e.g. roaming) sometimes must pay too much to retrieve high fidelity content. An origin or transcoding proxy that receives the Save-Data header can improve page load time and/or reduce costs by returning an alternate (“light”) version of the requested resource.
Today developers are forced to rely on variety of other unstable signals: past performance data, measured RTT, IP subnet masks, device fingerprinting, etc. By contrast, Save-Data provides a stable, user controlled, and more accurate signal to developers - e.g. a user may be on a fast connection but roaming (expensive) and wants to save data, and without Save-Data there is no easy or standard way to detect and adapt the experience to account for this.
Compatibility risk
Low. Origins and proxies that do not make use of Save-Data hint can safely ignore it.
Ongoing technical constraints
None.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
OWP launch tracking bug?
https://code.google.com/p/chromium/issues/detail?id=485640#c9
Link to entry on the feature dashboard
https://www.chromestatus.com/feature/5720139752275968
Requesting approval to ship?
Yes
[1] https://groups.google.com/a/chromium.org/forum/#!msg/net-dev/gaNYM3vKNfY/j8iHsV9yHCAJ
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/net-dev/CADXXVKrDam1Ar2u_UVfHu16S_uyFfiqtwcK%3DGbSsv2A49djk_w%40mail.gmail.com.--
You received this message because you are subscribed to the Google Groups "net-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to net-dev+u...@chromium.org.
To post to this group, send email to net...@chromium.org.
On Wed, Sep 30, 2015 at 5:16 PM, 'Ilya Grigorik' via net-dev <net...@chromium.org> wrote:On Wed, Sep 30, 2015 at 2:13 PM, Yoav Weiss <yo...@yoav.ws> wrote:+1A few questions:* Any word from other browser vendors regarding that specific Client-Hint? Most of them have been receptive to the notion of Client-Hints in general, so there's no reason to think they'd object to the concept, but would be nice to get their feedback on this.Opera folks are on-board (cc'ed). I'm hoping other proxy-browsers will follow as well.* In terms of UI, are we planning to expose an explicit user setting for this, or will it at first be flipped on when "data saver" is on?For Chrome, the latter. The hint will be sent as long as user has "Data Saver" feature enabled in Chrome.* Is the plan to implement it as part of Blink (along with the other Client Hints at loader/FrameFetchContext)?I'll defer to Ben on this one :)Here's the initial CL to wire the flag up: https://chromiumcodereview.appspot.com/1310743003/.Quick description of the CL: A flag will live in content/, and be associated with each navigation. All resources for a single navigation will use the same lo-fi mode setting (favicons presumably shouldn't, because we don't want to remember low quality icons them - that needs to be looked into). The flag will be attached by content, so there will be no Blink changes. In the CL, a header is attached by the data saver code, but we'll want to add the hint header in content, of course.
On Wed, Sep 30, 2015 at 11:21 PM, Matt Menke <mme...@chromium.org> wrote:On Wed, Sep 30, 2015 at 5:16 PM, 'Ilya Grigorik' via net-dev <net...@chromium.org> wrote:On Wed, Sep 30, 2015 at 2:13 PM, Yoav Weiss <yo...@yoav.ws> wrote:+1A few questions:* Any word from other browser vendors regarding that specific Client-Hint? Most of them have been receptive to the notion of Client-Hints in general, so there's no reason to think they'd object to the concept, but would be nice to get their feedback on this.Opera folks are on-board (cc'ed). I'm hoping other proxy-browsers will follow as well.* In terms of UI, are we planning to expose an explicit user setting for this, or will it at first be flipped on when "data saver" is on?For Chrome, the latter. The hint will be sent as long as user has "Data Saver" feature enabled in Chrome.* Is the plan to implement it as part of Blink (along with the other Client Hints at loader/FrameFetchContext)?
I'll defer to Ben on this one :)Here's the initial CL to wire the flag up: https://chromiumcodereview.appspot.com/1310743003/.Quick description of the CL: A flag will live in content/, and be associated with each navigation. All resources for a single navigation will use the same lo-fi mode setting (favicons presumably shouldn't, because we don't want to remember low quality icons them - that needs to be looked into). The flag will be attached by content, so there will be no Blink changes. In the CL, a header is attached by the data saver code, but we'll want to add the hint header in content, of course.Thanks! :) IIUC, the LoFi flag maps directly to "Save-Data: 1". Is that correct?
I remember that at an earlier stage, there were discussions about a "placeholder" state, as well as "compressed" and "original". How comfortable are we with a boolean Save-Data in the long run?
The issue that we ran into with RQ was that it quickly became unwieldy as we tried to re-use the same mechanism to communicate preferences for image compression settings/quality, video quality, etc. It was hard to reason about from spec and cross-browser implementation standpoint, and even harder from cache perspective.FWIW, the intent behind Save-Data is to separate out the common intent from the "how". That is, there are many different mechanisms to deliver data reduction, and opt-in any one them is what Save-Data is all about... which is why it was proposed as a boolean. That said, I could be convinced that perhaps we should change it to a keyword (e.g. "on"), such that it can be extended (as a list) in the future.. For now, it would be:- (no Save-Data header) -- user has not enabled any form of data savings mechanisms.- Save-Data: on -- user has enabled some/any form of data savings mechanism.If and when there is an explicit opt-out user preference for such features we could extend the above to include "off" state as well. Yay/nay?
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Is there any signal from other user agents about this feature?