Hi Ashley, thank you for bringing this to our attention! This API should only be available on *desktop only,* and we're in the process of updating various resources / code ASAP to reflect that.
On Thu, May 15, 2025 at 9:53 AM Ashley Newson <ashleynew...@google.com> wrote: > Hi folks, > > I see that the Language Detection API blink feature has been flipped to > enabled-by-default for all platforms. (Congratulations!) > > As a result, this web API is now exposed on Android WebView. I gave it a > try on a demo page, but the feature isn't hooked up to an implementation > for this platform. Additionally, I'm not sure it provides an accurate > availability result. There's a risk this will cause bugs and compatibility > problems for apps loading web content that tries to use it. Subsequent > discussion elsewhere confirmed that it is known to not work on WebView. > > Based on this I2S and ChromeStatus entry, I only see immediate plans to > ship on desktop platforms, suggesting the feature was in being > trialed/tested on all platforms (including WebView) other than iOS. I > believe the feature is now also enabled (working) on Android Chrome too, > but that's technically not a desktop platform. > > So long as there's no support for Android WebView, we should avoid > enabling the feature for this platform and it should not appear in > //android_webview/test/data/web_tests/virtual/stable/webexposed/global-interface-listing-expected.txt > > Enabled by default in: > https://chromium-review.googlesource.com/c/chromium/src/+/6547240 > Proposed M137 merge: > https://chromium-review.googlesource.com/c/chromium/src/+/6551336 > > Demo URI: > https://chrome.dev/web-ai-demos/translation-language-detection-api-playground/ > > Context about WebView: > - > https://chromium.googlesource.com/chromium/src/+/main/android_webview/README.md > - go/webview <https://goto.google.com/webview> > > Ashley Newson > On Monday, 5 May 2025 at 12:12:40 UTC+1 Yoav Weiss (@Shopify) wrote: > >> LGTM3 >> >> On Mon, May 5, 2025 at 11:11 AM Daniel Bratell <brat...@gmail.com> wrote: >> >>> LGTM2 >>> >>> /Daniel >>> On 2025-05-02 16:49, Chris Harrelson wrote: >>> >>> Thanks for these clarifications! >>> >>> LGTM1 >>> >>> On Wed, Apr 30, 2025 at 8:39 PM 'Domenic Denicola' via blink-dev < >>> blin...@chromium.org> wrote: >>> >>>> >>>> >>>> On Thu, May 1, 2025 at 8:08 AM Chris Harrelson <chri...@chromium.org> >>>> wrote: >>>> >>>>> >>>>> >>>>> On Wed, Apr 30, 2025, 3:56 PM Deepti Bogadi <dbo...@chromium.org> >>>>> wrote: >>>>> >>>>>> Hi Chris, >>>>>> >>>>>> Yes, the intent is to ship section 4 from the linked specification. >>>>>> >>>>>> Regarding Mozilla, we have no signal from them. >>>>>> >>>>> >>>>> Have you reached out to discuss? I'm concerned there might be multiple >>>>> incompatible translation apis under development. >>>>> >>>> >>>> First, let's clarify that this is a discussion about translator APIs, >>>> whereas this Intent to Ship is for a language detector API. So although >>>> multiple translator APIs might be worrying for a translator I2S, I am >>>> hopeful it doesn't need to be treated as a blocker for language detector. >>>> >>>> Anyway, we indeed have had ongoing discussions with Mozilla, both >>>> one-off and in the WebML Community Group, about this subject. >>>> >>>> The status of their translator explainer is a bit unclear. As you can >>>> see, it hasn't been presented to any community group or working group. When >>>> we'd previously asked their WebML CG representatives about it, they said >>>> they were monitoring the space and weren't yet ready to present an >>>> alternative. They haven't given any negative signals on our proposed >>>> translator API (nor official positive ones). >>>> >>>> It's also worth noting that the mozilla/explainers proposal is strictly >>>> less powerful than the WebML CG one that we're developing. That is, theirs >>>> can be polyfilled on top of ours, but not vice-versa. So if the >>>> mozilla/explainers proposal got traction in the future, we could add it as >>>> well, either natively or via a JavaScript polyfill. >>>> >>>> It's also worth noting that some of the use cases that partners have >>>> used the translator API for during the origin trial are not possible with >>>> the mozilla/explainers proposal. Some examples: >>>> >>>> - Translating audio, in conjunction with web speech APIs for speech >>>> recognition and generation; >>>> - Translating user search terms, including translating them *away* from >>>> the user's preferred language. (E.g., prompting a Spanish-speaking user >>>> on >>>> an English e-commerce site with: "You entered 'zapatos'. Did you mean to >>>> search for 'shoes'?") >>>> >>>> >>>> Hope this helps! >>>> >>>> >>>>> >>>>>> Thanks, >>>>>> Deepti >>>>>> >>>>>> On Wed, Apr 30, 2025 at 8:15 AM Chris Harrelson <chri...@chromium.org> >>>>>> wrote: >>>>>> >>>>>>> Hi, I see that Mozilla has published an explainer >>>>>>> <https://github.com/mozilla/explainers/blob/main/translation.md> >>>>>>> for an (alternate?) translation API. I realize that their explainer may >>>>>>> not >>>>>>> cover language detection, but language detection is part of a larger >>>>>>> spec >>>>>>> linked here that includes translation. Have you talked to them about it? >>>>>>> >>>>>>> Also, is this intent just proposing to ship section 4 from the >>>>>>> linked specification? >>>>>>> >>>>>>> On Mon, Apr 28, 2025 at 4:34 PM Deepti Bogadi <dbo...@chromium.org> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Alex, >>>>>>>> >>>>>>>> Overall we have received positive feedback from the developers. A >>>>>>>> more recent snapshot of the quantitative feedback was shared at >>>>>>>> BlinkOn: >>>>>>>> bit.ly/blinkon-2025-builtin-ai (slide 34). >>>>>>>> >>>>>>>> We are working with our partners who are excited >>>>>>>> <https://github.com/webmachinelearning/translation-api/issues/36> to >>>>>>>> use this API. I am also sharing our latest OT feedback >>>>>>>> <https://github.com/webmachinelearning/meetings/blob/main/telcons/2025-02-26-cg-minutes.md> >>>>>>>> stats >>>>>>>> across various APIs. >>>>>>>> >>>>>>>> Finally, from the latest OT sign up numbers, we were already order >>>>>>>> of magnitude above a typical OT which suggests lots of interest in what >>>>>>>> this API enables. >>>>>>>> >>>>>>>> Hope this helps. Let me know if you have further questions. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Deepti >>>>>>>> >>>>>>>> On Mon, Apr 28, 2025 at 11:13 AM Alex Russell < >>>>>>>> sligh...@chromium.org> wrote: >>>>>>>> >>>>>>>>> Hey Deepti, >>>>>>>>> >>>>>>>>> Are you able to summarize developer feedback from the OT? >>>>>>>>> >>>>>>>>> Best, >>>>>>>>> >>>>>>>>> Alex >>>>>>>>> >>>>>>>>> On Friday, April 25, 2025 at 1:58:12 PM UTC-7 Deepti Bogadi wrote: >>>>>>>>> >>>>>>>>>> Contact emails >>>>>>>>>> >>>>>>>>>> dom...@chromium.org, fer...@chromium.org, kenji...@chromium.org, >>>>>>>>>> ay...@chromium.org, mem...@chromium.org, chris...@chromium.org, >>>>>>>>>> dbo...@chromium.org >>>>>>>>>> >>>>>>>>>> Explainer >>>>>>>>>> >>>>>>>>>> https://github.com/WICG/translation-api/blob/main/README.md >>>>>>>>>> >>>>>>>>>> Specification >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> https://webmachinelearning.github.io/translation-api/#language-detector-api >>>>>>>>>> >>>>>>>>>> Note that although the translator API and language detector APIs >>>>>>>>>> both live in a single specification, they can be implemented >>>>>>>>>> independently, >>>>>>>>>> and this Intent is only for the language detector API. >>>>>>>>>> >>>>>>>>>> Summary >>>>>>>>>> >>>>>>>>>> A JavaScript API for detecting the language of text, with >>>>>>>>>> confidence levels. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Blink component >>>>>>>>>> >>>>>>>>>> Blink>AI>Language Detection >>>>>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAI%3ELanguage%20Detection%22> >>>>>>>>>> >>>>>>>>>> TAG review >>>>>>>>>> >>>>>>>>>> https://github.com/w3ctag/design-reviews/issues/948 >>>>>>>>>> >>>>>>>>>> TAG review status >>>>>>>>>> >>>>>>>>>> Issues addressed >>>>>>>>>> >>>>>>>>>> The TAG had a number of questions and suggestions, particularly >>>>>>>>>> around API shape, all of which were addressed and incorporated into >>>>>>>>>> the >>>>>>>>>> design. >>>>>>>>>> >>>>>>>>>> Origin Trial Name >>>>>>>>>> >>>>>>>>>> Language Detector API >>>>>>>>>> >>>>>>>>>> Chromium Trial Name >>>>>>>>>> >>>>>>>>>> LanguageDetectionAPI >>>>>>>>>> >>>>>>>>>> Origin Trial documentation link >>>>>>>>>> >>>>>>>>>> https://github.com/WICG/translation-api/blob/main/README.md >>>>>>>>>> >>>>>>>>>> WebFeature UseCounter name >>>>>>>>>> >>>>>>>>>> kV8LanguageDetector_Detect_Method >>>>>>>>>> >>>>>>>>>> Risks >>>>>>>>>> Interoperability and Compatibility >>>>>>>>>> >>>>>>>>>> This feature, like all built-in AI features, has inherent >>>>>>>>>> interoperability risks due to the use of AI models whose behavior is >>>>>>>>>> not >>>>>>>>>> fully specified. See some general discussion in >>>>>>>>>> https://www.w3.org/reports/ai-web-impact/#interop. >>>>>>>>>> >>>>>>>>>> By providing a high-level API with clear output formats, as well >>>>>>>>>> as a capabilities API for detecting what a given browser supports, we >>>>>>>>>> believe we can guide web developers toward using the API in an >>>>>>>>>> interoperable way that does not depend on the specific models that a >>>>>>>>>> given >>>>>>>>>> browser or browser version uses. >>>>>>>>>> >>>>>>>>>> Gecko: No signal ( >>>>>>>>>> https://github.com/mozilla/standards-positions/issues/1015) >>>>>>>>>> >>>>>>>>>> WebKit: No signal ( >>>>>>>>>> https://github.com/WebKit/standards-positions/issues/339) >>>>>>>>>> >>>>>>>>>> Web developers: Positive ( >>>>>>>>>> https://github.com/WICG/proposals/issues/147) >>>>>>>>>> >>>>>>>>>> Other signals: >>>>>>>>>> >>>>>>>>>> Ergonomics >>>>>>>>>> >>>>>>>>>> This API will likely frequently be used in concert with the >>>>>>>>>> translator API (https://chromestatus.com/feature/5172811302961152 >>>>>>>>>> ). >>>>>>>>>> >>>>>>>>>> The language detection is run on the main thread, the same as the >>>>>>>>>> browser's built-in language detection. The inference is fast enough >>>>>>>>>> that it >>>>>>>>>> is not a concern. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Activation >>>>>>>>>> >>>>>>>>>> This feature would definitely benefit from having polyfills, >>>>>>>>>> backed by any of: cloud services, lazily-loaded on-device models >>>>>>>>>> using >>>>>>>>>> WebGPU, or the web developer's own server. We anticipate seeing an >>>>>>>>>> ecosystem of such polyfills grow as more developers experiment with >>>>>>>>>> this >>>>>>>>>> API. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> WebView application risks >>>>>>>>>> >>>>>>>>>> Does this intent deprecate or change behavior of existing APIs, >>>>>>>>>> such that it has potentially high risk for Android WebView-based >>>>>>>>>> applications? >>>>>>>>>> >>>>>>>>>> None >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Debuggability >>>>>>>>>> >>>>>>>>>> Basic tooling suffices >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Will this feature be supported on all six Blink platforms >>>>>>>>>> (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? >>>>>>>>>> >>>>>>>>>> Yes >>>>>>>>>> Is this feature fully tested by web-platform-tests >>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>>>>> ? >>>>>>>>>> >>>>>>>>>> The WPTs test the API surface, but since no specific language is >>>>>>>>>> guaranteed to be supported, we cannot test the actual language >>>>>>>>>> detection. >>>>>>>>>> Some tests will need to be marked as optional as they assume certain >>>>>>>>>> language support. They also currently do not pass on wpt.fyi since >>>>>>>>>> it runs >>>>>>>>>> without a language detection model, so creation of LanguageDetector >>>>>>>>>> fails. >>>>>>>>>> >>>>>>>>>> Flag name on about://flags >>>>>>>>>> >>>>>>>>>> language-detection-api >>>>>>>>>> >>>>>>>>>> Finch feature name >>>>>>>>>> >>>>>>>>>> LanguageDetectionAPI >>>>>>>>>> >>>>>>>>>> Rollout plan >>>>>>>>>> >>>>>>>>>> Will ship enabled for all users >>>>>>>>>> >>>>>>>>>> Requires code in //chrome? >>>>>>>>>> >>>>>>>>>> False >>>>>>>>>> >>>>>>>>>> Measurement >>>>>>>>>> >>>>>>>>>> kV8AILanguageDetector_Detect_Method >>>>>>>>>> >>>>>>>>>> Estimated milestones >>>>>>>>>> >>>>>>>>>> Shipping on desktop >>>>>>>>>> >>>>>>>>>> 137 >>>>>>>>>> >>>>>>>>>> Origin trial desktop first >>>>>>>>>> >>>>>>>>>> 130 >>>>>>>>>> >>>>>>>>>> Origin trial desktop last >>>>>>>>>> >>>>>>>>>> 135 >>>>>>>>>> >>>>>>>>>> Origin trial extension 1 end milestone >>>>>>>>>> >>>>>>>>>> 138 >>>>>>>>>> >>>>>>>>>> DevTrial on desktop >>>>>>>>>> >>>>>>>>>> 129 >>>>>>>>>> >>>>>>>>>> Origin trial Android first >>>>>>>>>> >>>>>>>>>> 130 >>>>>>>>>> >>>>>>>>>> Origin trial Android last >>>>>>>>>> >>>>>>>>>> 135 >>>>>>>>>> >>>>>>>>>> DevTrial on Android >>>>>>>>>> >>>>>>>>>> 129 >>>>>>>>>> >>>>>>>>>> Origin trial WebView first >>>>>>>>>> >>>>>>>>>> 130 >>>>>>>>>> >>>>>>>>>> Origin trial WebView last >>>>>>>>>> >>>>>>>>>> 135 >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Anticipated spec changes >>>>>>>>>> >>>>>>>>>> None but the API shape is designed with extensibility in mind >>>>>>>>>> >>>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> https://chromestatus.com/feature/6494349985841152?gate=5122129510268928 >>>>>>>>>> >>>>>>>>>> Links to previous Intent discussions >>>>>>>>>> >>>>>>>>>> Intent to Prototype: >>>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/Ie46tc6_8so/m/eY1huFmOAAAJ >>>>>>>>>> >>>>>>>>>> Intent to Experiment: >>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra-WvH-sxxWndwAWPLF3eEYqeLhXrz-VmZKH4Wxzbpse-Q%40mail.gmail.com >>>>>>>>>> Intent to Extend Experiment 1: >>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAO4d-SsFc3ucbmasgZmWn4PE_TOMMnWZQCzrL%3DXbbo5tDxMSOg%40mail.gmail.com >>>>>>>>>> >>>>>>>>>> This intent message was generated by Chrome Platform Status >>>>>>>>>> <https://chromestatus.com/>. >>>>>>>>>> >>>>>>>>> -- >>>>>>>> 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 visit >>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZgG8%2BepW52jqPEbny4cCCYbSC9q6r8sw6uKmrw_gphpwA%40mail.gmail.com >>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZgG8%2BepW52jqPEbny4cCCYbSC9q6r8sw6uKmrw_gphpwA%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+...@chromium.org. >>>>>> To view this discussion visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZiXE5f9ioWCBdyPKA0dLCgjAP2C%3D03oPoPibBN_xXrwUA%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJcT_ZiXE5f9ioWCBdyPKA0dLCgjAP2C%3D03oPoPibBN_xXrwUA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "chrome-chia" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to chrome-chia...@google.com. >>>>> To view this discussion visit >>>>> https://groups.google.com/a/google.com/d/msgid/chrome-chia/CAOMQ%2Bw9Aksov83aRn2UuTcFj_tJ%3D67JcTg28trmi_wtQeQ-S4g%40mail.gmail.com >>>>> <https://groups.google.com/a/google.com/d/msgid/chrome-chia/CAOMQ%2Bw9Aksov83aRn2UuTcFj_tJ%3D67JcTg28trmi_wtQeQ-S4g%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+...@chromium.org. >>>> To view this discussion visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_b-GymrYADk4MtWtjULJRYn-MXaXj%2BJr1FDNp2Mxns1Q%40mail.gmail.com >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_b-GymrYADk4MtWtjULJRYn-MXaXj%2BJr1FDNp2Mxns1Q%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+...@chromium.org. >>> To view this discussion visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9vnhKyZky%2BmCxNz%2BA1S-7bbSE_%3DTc3eW50mpiz8EwLwA%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9vnhKyZky%2BmCxNz%2BA1S-7bbSE_%3DTc3eW50mpiz8EwLwA%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+...@chromium.org. >>> >> To view this discussion visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a81a7ae4-16ca-4ba7-bf43-c18d85d681d0%40gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a81a7ae4-16ca-4ba7-bf43-c18d85d681d0%40gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "chrome-chia" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to chrome-chia+unsubscr...@google.com. > To view this discussion visit > https://groups.google.com/a/google.com/d/msgid/chrome-chia/924f6b22-dd09-43f5-8a98-aea4bfd06376n%40chromium.org > <https://groups.google.com/a/google.com/d/msgid/chrome-chia/924f6b22-dd09-43f5-8a98-aea4bfd06376n%40chromium.org?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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B7ehXS_Y4sEE%2BOMD7Yfyy2G6jtLKxtUgAYj48aYRs-eRJLwFw%40mail.gmail.com.