Contact emails
rei...@chromium.org, mca...@chromium.org
Explainer
https://github.com/WICG/shape-detection-api/blob/master/README.md
Spec
https://wicg.github.io/shape-detection-api/
TAG review: https://github.com/w3ctag/design-reviews/issues/176
Summary
The BarcodeDetector class gives web content access to the platform’s native support for recognizing barcodes in images. For example, the BarcodeDetector provided on Android devices by the Google Play services library or the Core Image and Vision frameworks provided by macOS. This can provide faster results than solutions built with JavaScript or WebAssembly while also not requiring developers to ship additional code to their users to support a feature their device already provides.
Link to “Intent to Implement” blink-dev discussion
https://groups.google.com/a/chromium.org/d/msg/blink-dev/JkdoxpINjxQ/CUWOBwc0AgAJ
Origin Trial feedback summary
The primary feedback during the Origin Trial was around the limited availability of barcode detection support across Blink platforms. In response to this feedback we added a getSupportedFormats() method to more easily allow developers to detect when the current platform supports the desired formats and when a polyfill is necessary.
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
This feature is supported on macOS, Android and Android WebView. The reason for this is that it depends on the platform providing built-in support for detecting barcodes in images. Sites are expected to provide a polyfill for this capability when running in a browser or on a platform that does not support it.
Demo link
Risks
Interoperability and Compatibility
This API has been designed to support robust feature detection because barcode detection capabilities are expected to vary across both browsers and platforms. This lessens the interoperability risk as sites are already incentivized to provide a backup polyfill library for the detection capability. If this feature were removed from the platform sites would lose the performance advantage of a native (potentially hardware-accelerated) detection capability but are expected to continue to function.
Edge: No signals
Firefox: Public support
Safari: No signals
Web / Framework developers: Positive
Ergonomics
This API is frequently used with the getUserMedia() API to perform detection on a live video stream. The API supports multiple types of HTML elements as image sources.
Activation
Given the lack of consistent both cross-vendor and cross-platform support this API benefits strongly from polyfill libraries such as the Web Perception Toolkit. This is by design, as platform support is considered an optimization of a capability that sites can already implement using their own script.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
The interface exposed by this API is fully tested by a Web Platform Tests suite: https://github.com/web-platform-tests/wpt/tree/master/shape-detection
These tests do not fully pass on wpt.fyi (https://wpt.fyi/results/shape-detection) because they rely on running in a content_shell build that provides interfaces for injecting test data. web-platform-tests/results-collection#81 has been filed to change the options passed to Chrome when running tests to enable these interfaces.
Entry on the feature dashboard
https://chromestatus.com/feature/4757990523535360
Note to jmedley@: This entry is for the Shape Detection API in general. Since I intend to ship each component of the Shape Detection API individually should I repurpose this entry for this intent and create new entries for FaceDetector and TextDetector?
On 7/26/19 2:27 PM, Reilly Grant wrote:
> Firefox: Public support
> <https://discourse.wicg.io/t/rfc-proposal-for-face-detection-api/1642/3>
Maybe I am missing something, but that is a comment in a 2-year-old
thread about a different API (Face detection API) that has a different
purpose, somewhat different API shape, different fingerprinting
characteristics, etc. I don't see how that comment implies anything
about Mozilla's position on this, different, API.
I'd suggest filing an issue at
https://github.com/mozilla/standards-positions/issues/new to figure out
what Mozilla's position here is.
-Boris
--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMbki5G4JjbWxYM-hf-1%3DxPjf44PCHLki%2BrbHNq8jtSKAg%40mail.gmail.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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMbki5G4JjbWxYM-hf-1%3DxPjf44PCHLki%2BrbHNq8jtSKAg%40mail.gmail.com.
What version are you planning to ship in?
Not being cross-platform, and even missing the largest desktop platform (Windows) seems like a bummer. It looks like Windows does have some kind of barcode scanner API ( https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/pos-camerabarcode-get-started ). Could that be used to give this better platform support?
I have a privacy question. The design doc says the raw image data nor the detection results are stored or transmitted by the browser.
- Does it mean that the webapp is supposed to get permission to access camera and take the photo, then pass it to this API for detection?
- Do we have any guarantee that the underlying mechanisms do not keep a local history of the images? If not, can't it result in local storage of the image without user's consent?
--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c29126f2-52ab-4a5e-94ba-b3585b4c83e9%40chromium.org.
I have a privacy question. The design doc says the raw image data nor the detection results are stored or transmitted by the browser.
- Does it mean that the webapp is supposed to get permission to access camera and take the photo, then pass it to this API for detection?
- Do we have any guarantee that the underlying mechanisms do not keep a local history of the images? If not, can't it result in local storage of the image without user's consent?
- Is there a launch bug for this feature?
--
To unsubscribe from this group and stop receiving emails from it, send an email to blin...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0f15dadf-3100-44ca-8870-8a3286ad24b6%40chromium.org.
One question regarding barcode formats: it seems like a pretty big list of current and legacy formats. Is there any concern about implicitly depending on these side-specs in a web-exposed API?
Second question is regarding origin trial feedback: is there any summary of how useful this feature was from the origin trial?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8mBj4UcZdoepdKwTnwEQS6nNA0ngoYA_HC3A8gQLeo7w%40mail.gmail.com.
On Thu, Aug 1, 2019 at 12:36 PM Chris Harrelson <chri...@chromium.org> wrote:One question regarding barcode formats: it seems like a pretty big list of current and legacy formats. Is there any concern about implicitly depending on these side-specs in a web-exposed API?The format specifications themselves seem reasonably well-defined and web-exposed APIs depend on plenty of other side-specifications through other means, for example encryption algorithms by way of HTTPS and TLS. My primary concern is that we may not be referring to them specifically enough. As an example, what if encoding FOO as implemented by Chrome on Android only really decodes some variant FOO_A. Would changes to the specification be needed if another platform gained support for FOO but only variant FOO_B?
Second question is regarding origin trial feedback: is there any summary of how useful this feature was from the origin trial?
Feedback on the Origin Trial was overwhelmingly complaints about the inconsistency in support across different platforms and how that was communicated in a confusing way, which is why I have been focusing on improving the ability to feature detect this capability.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMYY%2BYaztaGGrzMaj%2BLLvp03BaLgRQaKv0-aOdw49ptLaA%40mail.gmail.com.
On Fri, Aug 2, 2019 at 10:51 AM Reilly Grant <rei...@chromium.org> wrote:On Thu, Aug 1, 2019 at 12:36 PM Chris Harrelson <chri...@chromium.org> wrote:One question regarding barcode formats: it seems like a pretty big list of current and legacy formats. Is there any concern about implicitly depending on these side-specs in a web-exposed API?The format specifications themselves seem reasonably well-defined and web-exposed APIs depend on plenty of other side-specifications through other means, for example encryption algorithms by way of HTTPS and TLS. My primary concern is that we may not be referring to them specifically enough. As an example, what if encoding FOO as implemented by Chrome on Android only really decodes some variant FOO_A. Would changes to the specification be needed if another platform gained support for FOO but only variant FOO_B?That's a good question. Do you think this needs more discussion before shipping?
Second question is regarding origin trial feedback: is there any summary of how useful this feature was from the origin trial?(referring to your response below) This is excellent feedback! Sounds like the origin trial was quite useful.Feedback on the Origin Trial was overwhelmingly complaints about the inconsistency in support across different platforms and how that was communicated in a confusing way, which is why I have been focusing on improving the ability to feature detect this capability.Feature detecting whether a particular barcode format is supported on a particular platform, you mean?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMZQ%3DqWvnZ8qZdafQf1aHfVTUOF%2BMkt%3D4%3DOL8akAKRff_A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9msXmCLbKSDDgH2tKLADJe8cnJ%2BmVman9gbLq7tqOfEw%40mail.gmail.com.
-Boris
LGTM1
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0f15dadf-3100-44ca-8870-8a3286ad24b6%40chromium.org.
--
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.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8mBj4UcZdoepdKwTnwEQS6nNA0ngoYA_HC3A8gQLeo7w%40mail.gmail.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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMYY%2BYaztaGGrzMaj%2BLLvp03BaLgRQaKv0-aOdw49ptLaA%40mail.gmail.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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMZQ%3DqWvnZ8qZdafQf1aHfVTUOF%2BMkt%3D4%3DOL8akAKRff_A%40mail.gmail.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+unsubscribe@chromium.org.
LGTM1
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0f15dadf-3100-44ca-8870-8a3286ad24b6%40chromium.org.
--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8mBj4UcZdoepdKwTnwEQS6nNA0ngoYA_HC3A8gQLeo7w%40mail.gmail.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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMYY%2BYaztaGGrzMaj%2BLLvp03BaLgRQaKv0-aOdw49ptLaA%40mail.gmail.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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMZQ%3DqWvnZ8qZdafQf1aHfVTUOF%2BMkt%3D4%3DOL8akAKRff_A%40mail.gmail.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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9msXmCLbKSDDgH2tKLADJe8cnJ%2BmVman9gbLq7tqOfEw%40mail.gmail.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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e4110d58-a2b3-4ae2-bf43-dea8fd6d8537n%40chromium.org.