Contact emails victor...@chromium.org, miketa...@chromium.org
Explainer https://github.com/WICG/ua-client-hints#explainer-reducing-user-agent-granularity Specification https://www.chromium.org/updates/ua-reduction is the closest thing that specifies Chrome’s UA Reduction plans today. As these changes land in Chromium and ship to 100% stable, the Compat Standard <https://compat.spec.whatwg.org/> will be updated in the UA String section <https://compat.spec.whatwg.org/#ua-string-pattern-chrome>, like we did for the Phase 4 and plan to do for Phase 5 changes. Summary As previously detailed on the Chromium Blog <https://blog.chromium.org/2021/09/user-agent-reduction-origin-trial-and-dates.html>, we intend to proceed with Phase 6 of the User-Agent Reduction plan <https://www.chromium.org/updates/ua-reduction/#sample-ua-strings-phase-6>. In Phase 6, we change the deviceModel token to “K” and change the androidVersion token to a static “10” string in Android User-Agent string. The navigator.platform will be a “Linux armv81” constant on the Android platform. Blink component Blink>Network>ClientHints TAG review https://github.com/w3ctag/design-reviews/issues/640 TAG review status Closed satisfied with concerns. Risks Interoperability and Compatibility Any time you modify the User-Agent string there is a risk of breaking existing patterns, like some content somewhere depending on the previous format. We do not expect interoperability risks, as each browser sends its own User-Agent string format. However there is a risk that - on the Android platform - content may rely on User-Agents to parse deviceModel and androidVersion information. To mitigate the risk of this change, we intend to slowly roll out the format via Finch on the Android platform and observe health metrics and bug reports. See timeline below on our slow roll out plan. This gives us the option to roll this back for the Android platform if major issues arise. Displaying a static androidVersion and a deviceModel token for Android clients will not create a problem syntactically. But the web can get pretty weird in ways we don't anticipate. For example, sites can rely on the deviceModel in the User-Agent string to determine whether the device is a mobile, laptop or desktop. Currently, we change the deviceModel to a static string, sites need to use client hints as the alternative to determine the right behavior. Hence the slow roll-out and incremental path towards User-Agent Reduction. Here is our proposed rollout plan in Chrome Stable channel (Canary/Dev/Beta has been enabled 50%), with the understanding that if we discover concerning breakage or regressions via health metrics or bug reports we will pause the rollout or roll back the feature entirely (and update this thread if so): Stage Duration Date Stable 1% (M110+) M110 stable release is shipping to 100% (a best guess) Feb 14, 2023 Stable 10% (M110/M111) ~4 weeks after previous stage Mar 14, 2023 Stable 50% (M110/M111) ~2 weeks Mar 28, 2023 TOT Default (M114) ~2 weeks after previous stage Apr 11, 2023 Stable 100% (M110=>M114) ~ Same business day as previous stage Apr 11, 2023 Web stakeholders can still test with the user agent reduction deprecation origin trial <https://developer.chrome.com/origintrials/#/view_trial/2608710084154359809> until M113 (late May) if they need more time to adapt to the coming changes. The UA-RD OT allows web stakeholders to request the legacy user-agent string values (i.e. non-reduced values). Gecko: Shipped/Shipping. Firefox has frozen (or capped) much of their UA string already. WebKit: Shipped/Shipping. Safari has already frozen everything in their desktop UA string except for Safari and WebKit versions. Also, UA reduction phase 6 will only apply to the Android platform. Web developers: Mixed signals. Various channels have different reactions. It’s similar for the UA reduction phase 4 and phase 5. Debuggability No special DevTools support needed. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? No (Only for Android) Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> ? No, because User-Agents vary across browsers. Flag name #reduce-user-agent-android-version-device-model Notes: The existing flag #reduce-user-agent will provide the same format User-Agent string on the Android platform since this is the last phase for User-Agent reduction. Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=1394819 Launch bug https://launch.corp.google.com/launch/4225291 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5177681979637760 -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7F7jKA4985JjpdzTr_XDkP%3DfS2pKaoBMStad9%3DujUzjuw%40mail.gmail.com.