Intent to Experiment: WebHID (Human Interface Device)

356 views
Skip to first unread message

Matt Reynolds

unread,
Jun 9, 2020, 6:08:01 PM6/9/20
to 'Joe Medley' via blink-dev
mattre...@chromium.org Specification: https://wicg.github.io/webhid/index.html https://github.com/WICG/webhid/blob/master/EXPLAINER.md Enables web applications to interact with human interface devices (HIDs) other than the standard supported devices (mice, keyboards, touchscreens, and gamepads). However, there are many other HID devices that are currently inaccessible to the web. This API allows web applications to request access to these devices, send and receive HID reports, and retrieve information about the report descriptor. We want to receive feedback from existing users of the chrome.hid API who are looking to transition their Chrome apps to the web. Specifically, we want to understand how the API and device chooser dialog can be modified to improve the user experience. Starts in Chrome 85 No No https://www.chromestatus.com/feature/5172464636133376
This intent message was generated by Chrome Platform Status.

Yoav Weiss

unread,
Jun 11, 2020, 9:45:34 AM6/11/20
to Matt Reynolds, 'Joe Medley' via blink-dev
On Wed, Jun 10, 2020 at 12:07 AM 'Matt Reynolds' via blink-dev <blin...@chromium.org> wrote:
mattre...@chromium.org Specification: https://wicg.github.io/webhid/index.html https://github.com/WICG/webhid/blob/master/EXPLAINER.md Enables web applications to interact with human interface devices (HIDs) other than the standard supported devices (mice, keyboards, touchscreens, and gamepads). However, there are many other HID devices that are currently inaccessible to the web. This API allows web applications to request access to these devices, send and receive HID reports, and retrieve information about the report descriptor. We want to receive feedback from existing users of the chrome.hid API who are looking to transition their Chrome apps to the web. Specifically, we want to understand how the API and device chooser dialog can be modified to improve the user experience.

Do you have partners lined up that would be able to provide feedback? 
Regarding the API shape, did you already try to get feedback from those partners, by them trying the API behind a flag?
Regarding the device chooser, presumably that would require feedback from real users. How would that feedback be collected?

Starts in Chrome 85

How long would the experiment run?

No No https://www.chromestatus.com/feature/5172464636133376
This intent message was generated by Chrome Platform Status.

--
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/CA%2BqnoueFHVrxarg5GZp%3DdqMwc3C44Lf0oewG__AqeNXXWAzobw%40mail.gmail.com.

Yoav Weiss

unread,
Jun 15, 2020, 8:11:51 AM6/15/20
to Matt Reynolds, 'Joe Medley' via blink-dev
LGTM to experiment in M85-87.

On Fri, Jun 12, 2020 at 12:46 AM Matt Reynolds <mattre...@google.com> wrote:
> Do you have partners lined up that would be able to provide feedback? 

Yes, we have several partners, internal and external, interested in participating in the origin trial.

> Regarding the API shape, did you already try to get feedback from those partners, by them trying the API behind a flag?

Yes, WebHID has been available in Chrome behind a flag (chrome://flags/#enable-experimental-web-platform-features) since Chrome 75 and we have discussed suitability of the API with several partners. Some have used the prototype implementation to port apps that were previously built on top of the chrome.hid API.

Most of the actionable feedback has been about the security model and cross-platform consistency. For security, the concern is that many HID devices have unsafe capabilities that should not be exposed to the web. Depending on how we choose to mitigate the risk, we may cause large categories of HID devices to be effectively unusable through WebHID.

For cross-platform consistency, there are differences in how the platform HID APIs enumerate connected devices that cause the exposed information in WebHID for a single device to differ between platforms, particularly on Windows.

> Regarding the device chooser, presumably that would require feedback from real users. How would that feedback be collected?

We will ask partners to share user feedback as part of the origin trial. I think developer feedback will be useful here as well, especially for partners porting from chrome.hid or node.hid. The functionality of these APIs is similar but the permission models are different, with WebHID requiring additional user interaction before granting device access. It will be useful to learn from their experiences introducing the new permission UI into existing app flows.


> How long would the experiment run?

Assuming the origin trial goes smoothly, I expect we'll end the trial (and default-enable the API) in Chrome 87. Of course this may change as we receive feedback during the trial.


Matt Reynolds

unread,
Jun 16, 2020, 12:01:40 PM6/16/20
to blink-dev
mattre...@chromium.org Specification: https://wicg.github.io/webhid/index.html https://github.com/WICG/webhid/blob/master/EXPLAINER.md Enables web applications to interact with human interface devices (HIDs) other than the standard supported devices (mice, keyboards, touchscreens, and gamepads). However, there are many other HID devices that are currently inaccessible to the web. This API allows web applications to request access to these devices, send and receive HID reports, and retrieve information about the report descriptor. We want to receive feedback from existing users of the chrome.hid API who are looking to transition their Chrome apps to the web. Specifically, we want to understand how the API and device chooser dialog can be modified to improve the user experience. Starts in Chrome 85 No No https://www.chromestatus.com/feature/5172464636133376

Matt Reynolds

unread,
Jun 16, 2020, 12:06:34 PM6/16/20
to Yoav Weiss, 'Joe Medley' via blink-dev
> Do you have partners lined up that would be able to provide feedback? 

Yes, we have several partners, internal and external, interested in participating in the origin trial.

> Regarding the API shape, did you already try to get feedback from those partners, by them trying the API behind a flag?

Yes, WebHID has been available in Chrome behind a flag (chrome://flags/#enable-experimental-web-platform-features) since Chrome 75 and we have discussed suitability of the API with several partners. Some have used the prototype implementation to port apps that were previously built on top of the chrome.hid API.

Most of the actionable feedback has been about the security model and cross-platform consistency. For security, the concern is that many HID devices have unsafe capabilities that should not be exposed to the web. Depending on how we choose to mitigate the risk, we may cause large categories of HID devices to be effectively unusable through WebHID.

For cross-platform consistency, there are differences in how the platform HID APIs enumerate connected devices that cause the exposed information in WebHID for a single device to differ between platforms, particularly on Windows.
> Regarding the device chooser, presumably that would require feedback from real users. How would that feedback be collected?

We will ask partners to share user feedback as part of the origin trial. I think developer feedback will be useful here as well, especially for partners porting from chrome.hid or node.hid. The functionality of these APIs is similar but the permission models are different, with WebHID requiring additional user interaction before granting device access. It will be useful to learn from their experiences introducing the new permission UI into existing app flows.

> How long would the experiment run?

Assuming the origin trial goes smoothly, I expect we'll end the trial (and default-enable the API) in Chrome 87. Of course this may change as we receive feedback during the trial.


On Thu, Jun 11, 2020 at 6:45 AM Yoav Weiss <yo...@yoav.ws> wrote:

Yoav Weiss

unread,
Jun 16, 2020, 2:06:27 PM6/16/20
to Matt Reynolds, blink-dev
On Tue, Jun 16, 2020 at 6:01 PM Matt Reynolds <mattre...@chromium.org> wrote:
mattre...@chromium.org Specification: https://wicg.github.io/webhid/index.html https://github.com/WICG/webhid/blob/master/EXPLAINER.md Enables web applications to interact with human interface devices (HIDs) other than the standard supported devices (mice, keyboards, touchscreens, and gamepads). However, there are many other HID devices that are currently inaccessible to the web. This API allows web applications to request access to these devices, send and receive HID reports, and retrieve information about the report descriptor. We want to receive feedback from existing users of the chrome.hid API who are looking to transition their Chrome apps to the web. Specifically, we want to understand how the API and device chooser dialog can be modified to improve the user experience.

Do you have partners lined up and ready to experiment within the relevant timelines?
 
Starts in Chrome 85

When do you plan the experiment to end?
 
No No

Non-blocking for experimentation, but shouldn't it be?
 
https://www.chromestatus.com/feature/5172464636133376
This intent message was generated by Chrome Platform Status.

--
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.

Christian Biesinger

unread,
Jun 17, 2020, 4:25:07 PM6/17/20
to Matt Reynolds, blink-dev
On Tue, Jun 16, 2020 at 11:01 AM Matt Reynolds
<mattre...@chromium.org> wrote:
>
> However, there are many other HID devices that are currently inaccessible to the web.

Do you have some examples?


Christian

Sam Dutton

unread,
Jun 18, 2020, 3:55:49 AM6/18/20
to blink-dev, Christian Biesinger, blink-dev, Matt Reynolds
> Do you have some examples?

One specific example: using a foot pedal (something like this) to control media playback or perform other types of actions in a web application. This could be useful (for example) for hands-free playback control during media editing and transcription.

Matt Reynolds

unread,
Aug 24, 2020, 3:46:12 PM8/24/20
to 'Joe Medley' via blink-dev
Forwarding Yoav's LGTM since it doesn't appear on the thread (spam filter maybe?)

Matt Reynolds

unread,
Aug 24, 2020, 3:51:48 PM8/24/20
to 'Joe Medley' via blink-dev
Update: WebHID origin trial will not be enabled in Chrome 85. It is now expected to span M86-88.

Does this need to be re-approved for the new milestones?

I've updated the tracking bug and Chrome Status page for the new origin trial milestones. Can someone on this list help me update the information in the origin trial dashboard?

Yoav Weiss

unread,
Aug 24, 2020, 3:59:05 PM8/24/20
to Matt Reynolds, Jason Chase, 'Joe Medley' via blink-dev
On Mon, Aug 24, 2020 at 9:51 PM 'Matt Reynolds' via blink-dev <blin...@chromium.org> wrote:
Update: WebHID origin trial will not be enabled in Chrome 85. It is now expected to span M86-88.

LGTM M86-88
 

Does this need to be re-approved for the new milestones?

I've updated the tracking bug and Chrome Status page for the new origin trial milestones. Can someone on this list help me update the information in the origin trial dashboard?

 

On Mon, Aug 24, 2020 at 12:45 PM Matt Reynolds <mattre...@google.com> wrote:
Forwarding Yoav's LGTM since it doesn't appear on the thread (spam filter maybe?)

It did appear :)
 
Reply all
Reply to author
Forward
0 new messages