Contact emails
pani...@chromium.org, mariak...@chromium.org
Spec
Link to explainer: https://github.com/spanicker/device-ram
Summary
A header and API to surface device capability for memory i.e. device RAM.
This is to enable web apps to customize content depending on device RAM constraint.
Motivation
Developers need “device-class” signal for:
1. Serving “light” version of the site or specific components, for low end devices:
Serve Google "search lite" - a 10KB search results page used in EM.
Serve a light version of video player in Facebook
Serve lightweight tile images in Google Maps
2. Normalizing Metrics: analytics need to be able to normalize their metrics against the device-class. For instance, a 100ms long task on a Pixel is a more severe issue vs. on a low end device.
Device memory is an especially useful signal for this. Low memory devices devices (under 512MB, 512MB - 1GB) are widely used in emerging markets.
(For details on why “Device Class” is not directly exposed, see here)
Privacy
Restricting to a ceiling value (rounded down to the nearest power of two), as opposed to exact value, significantly mitigates fingerprinting. This could be further restricted, if necessary, to returning values only for low memory cases (eg. 1GB or less).
Interoperability and Compatibility Risk
Low. The header would not be sent on browsers where this is not available, and the API would not be available -- for customizing content.
Edge: Positive signal (public-web-perf meeting agenda - doc comments)
Firefox: No signals
Safari: No signals
Web developers: Positive (positive signals from Facebook, Google Search, Google Maps, Akamai etc.)
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://bugs.chromium.org/p/chromium/issues/detail?id=710702
Link to entry on the feature dashboard
https://www.chromestatus.com/feature/5741299856572416
Requesting approval to ship?
No
--
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.
It clarifies, but I think it makes sense to group all of this device class related information together (navigator.deviceInformation? navigator.deviceClass?) but simply add them one by one into the API.The API is mostly my concern, not the header (though a combined header would be good, the the proxy concerns were mentioned).While it is not the same, there is performance.memory.jsHeapSizeLimit which kind of hints at the same goal in a way.Oh, if there are no plans to standardize it, when will it be removed? :)Off topic, yeah.
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
----Kentaro Hara, Tokyo, Japan
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.