I have some concerns that we won't be able to use this format for Android
WebView. I realise we're not currently shipping UA reduction for WebView,
but AFAIK we are still hoping to do so at some point in the future.

WebView's UA format is mandated by Android's CTS compatibility tests. I
relaxed the test criteria some time ago to allow the device model and
Android build ID to be omitted (though WebView currently still includes
this information), but the test currently requires these fields to either
be entirely absent, or to exactly match the underlying OS properties. It
also does not allow the less-granular OS version to be omitted or spoofed.

It'd be good to have a long term plan for what we're going to do with the
UA and with UA-CH in WebView that matches Chrome as closely as possible.

On Tue, 17 Jan 2023 at 11:02, Victor Tan <victor...@chromium.org> wrote:

> 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
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7F7jKA4985JjpdzTr_XDkP%3DfS2pKaoBMStad9%3DujUzjuw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAEV-rjcX%3D1sj8bO%2BUdNRjgMwaRHm7ytB24oH4S1GvU0QrYKTzg%40mail.gmail.com.

Reply via email to