Product development strategy for eventual WebUSB support

45 views
Skip to first unread message

Benjamin Riggs

unread,
Aug 7, 2017, 7:36:08 PM8/7/17
to WebUSB
Greetings,

We have a hardware pre-production prototype that has been on hold for a couple years while the design was undergoing educational validation testing (it's a medical training simulator). When it was developed, I created a chrome app using the chrome.hid API for device access (we need to report performance results back to an LMS). Now, the validation study study is nearly complete and we need to bring it to market in the next few months.

I want to use WebUSB to connect to the hardware, but with only conditional support from Chrome, it seems the platform isn't quite yet mature enough for consumer devices. In the near term, it looks like I'll be distributing the application via NW.js or Electron. (Also, I'd love to be proven wrong, here.)

In the mean time, I'd like to also figure out if there's a sane approach to updating the firmware, now, to allow a future transition from a HID device to WebUSB without patching the device. Will two interface descriptors, one for HID, one with WebUSB endpoints be sufficient?

Thanks

Reilly Grant

unread,
Aug 8, 2017, 10:51:31 AM8/8/17
to Benjamin Riggs, WebUSB
If you have the device configured to support both HID and WebUSB then that will continue to work going forward. WebUSB endpoints are also compatible with the chrome.usb API so if that works for you today then you do not need to maintain two interfaces.

I am curious what you see as the blockers for consumer devices. For example, I know that there are some reported problems with device discovery on Windows which we are working to address.

--
You received this message because you are subscribed to the Google Groups "WebUSB" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webusb+un...@chromium.org.
To post to this group, send email to web...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/webusb/99edf920-8476-4961-a333-cf31f4ca43ca%40chromium.org.

Benjamin Riggs

unread,
Aug 8, 2017, 1:06:00 PM8/8/17
to Reilly Grant, WebUSB
My biggest concern about relying on WebUSB for these devices is simply that WebUSB doesn't yet work 'out of the box'. I have noticed that WebUSB now has its own flag in Chrome, making enabling it pretty straight forward, but you can't simply link users there (for good reason). This makes me a bit wary of pushing a hardware device to market that relies on a still-experimental feature. I've already been burned once by Chrome apps ;-)

Basically, I'm trying to avoid the perils of too-early-adoption because these are consumer-facing devices.

On Tue, Aug 8, 2017 at 9:51 AM, Reilly Grant <rei...@chromium.org> wrote:
If you have the device configured to support both HID and WebUSB then that will continue to work going forward. WebUSB endpoints are also compatible with the chrome.usb API so if that works for you today then you do not need to maintain two interfaces.

I am curious what you see as the blockers for consumer devices. For example, I know that there are some reported problems with device discovery on Windows which we are working to address.
On Mon, Aug 7, 2017 at 7:36 PM Benjamin Riggs <ri...@entropicengineering.com> wrote:
Greetings,

We have a hardware pre-production prototype that has been on hold for a couple years while the design was undergoing educational validation testing (it's a medical training simulator). When it was developed, I created a chrome app using the chrome.hid API for device access (we need to report performance results back to an LMS). Now, the validation study study is nearly complete and we need to bring it to market in the next few months.

I want to use WebUSB to connect to the hardware, but with only conditional support from Chrome, it seems the platform isn't quite yet mature enough for consumer devices. In the near term, it looks like I'll be distributing the application via NW.js or Electron. (Also, I'd love to be proven wrong, here.)

In the mean time, I'd like to also figure out if there's a sane approach to updating the firmware, now, to allow a future transition from a HID device to WebUSB without patching the device. Will two interface descriptors, one for HID, one with WebUSB endpoints be sufficient?

Thanks

--
You received this message because you are subscribed to the Google Groups "WebUSB" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webusb+unsubscribe@chromium.org.

Reilly Grant

unread,
Aug 8, 2017, 1:36:48 PM8/8/17
to Benjamin Riggs, WebUSB
The flag actually defaults to on. It is a necessary part of any feature launch allowing us to disable the new feature if something goes wrong after shipping. WebUSB will be available for all stable-channel users in Chrome 61.

To unsubscribe from this group and stop receiving emails from it, send an email to webusb+un...@chromium.org.

Benjamin Riggs

unread,
Aug 8, 2017, 2:14:43 PM8/8/17
to Reilly Grant, WebUSB
Oh, that's good news, and much sooner than I expected. That definitely makes me comfortable shipping a product with it.

To unsubscribe from this group and stop receiving emails from it, send an email to webusb+unsubscribe@chromium.org.
Reply all
Reply to author
Forward
0 new messages