Intent to Experiment: WebUSB

815 views
Skip to first unread message

Owen

unread,
Apr 7, 2016, 5:58:55 PM4/7/16
to blink-dev, Reilly Grant, Jun Cai

Summary

The web platform API to support USB devices. For devices that explicitly provide this origin access, this API gives developers the ability to enumerate devices, claim device interfaces, and initiate low-level I/O in the form of bulk, interrupt, isochronous, and control transfers.


Contact emails

rei...@chromium.org, owe...@chromium.org, jun...@chromium.org

Mailing list: web...@chromium.org


Spec

Editor's draft: https://wicg.github.io/webusb/


Motivation

To give hardware vendors the ability to develop and deliver hardware drivers on the open web platform. For example, hardware kits could be used in education by students simply connecting the device via USB to their laptop or mobile device without the need to install any client drivers or potentially dangerous software. Note that an Arduino engineer has been working on adding WebUSB support.


Goals for experimentation

  • Is this API surface usable by developers?

  • Is the constraint of devices whitelisting origins acceptable to developers?

  • What kind of devices or developers will want to use this API?


Experimental timeline

Enabled:

  • April 8th: Chrome 51 Branch to Dev

  • May 20th: Chrome 52 Branch to Dev

  • May 31st: Chrome 51 Stable*

  • July 1st: Chrome 53 Branch to Dev

  • July 26th: Chrome 52 Stable*

  • September 6th, 2016: Chrome 53 Stable*


Disabled:

  • Aug 26th, 2016: Chrome 54 Branch to Dev

  • End of October*: Chrome 54 Stable


* Stable dates are estimates: https://www.chromium.org/developers/calendar.


Any risks when the experiment finishes?

Websites will no longer be able to communicate with USB devices but there is no risk of special storage or user data being lost.


Ongoing technical constraints

None.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes or no.

This experiment will target all platforms except Android/WebView because at the moment there are relatively few practical use cases for Android devices acting as USB hosts.


We do intend to support Android and WebView eventually.


OWP launch tracking bug

https://crbug.com/492204


Link to entry on the Chromium Dashboard

https://www.chromestatus.com/features/5651917954875392

Dimitri Glazkov

unread,
Apr 7, 2016, 6:25:04 PM4/7/16
to Owen, blink-dev, Reilly Grant, Jun Cai
LGTM. Please make sure to continue working in the WICG and getting more signals from other browser vendors.

:DG<

Alexandre Elias

unread,
Apr 7, 2016, 6:25:18 PM4/7/16
to Owen, blink-dev, Reilly Grant, Jun Cai
On Thu, Apr 7, 2016 at 2:58 PM, Owen <owe...@chromium.org> wrote:

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes or no.

This experiment will target all platforms except Android/WebView because at the moment there are relatively few practical use cases for Android devices acting as USB hosts.


We do intend to support Android and WebView eventually.


"Eventually" means before you send an intent to ship, right?  I think it's OK to minimize engineering burden during the experiment, but I would consider this a ship blocker.  Android has had pretty good support for USB host mode since Honeycomb, and even though few users use it today, I expect it to become more popular with USB-C's allowing charging while acting as a USB host.

Reilly Grant

unread,
Apr 8, 2016, 1:30:10 PM4/8/16
to Alexandre Elias, Owen, blink-dev, Jun Cai
On Thu, Apr 7, 2016 at 3:25 PM Alexandre Elias <ael...@chromium.org> wrote:
On Thu, Apr 7, 2016 at 2:58 PM, Owen <owe...@chromium.org> wrote:

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? Yes or no.

This experiment will target all platforms except Android/WebView because at the moment there are relatively few practical use cases for Android devices acting as USB hosts.


We do intend to support Android and WebView eventually.


"Eventually" means before you send an intent to ship, right?  I think it's OK to minimize engineering burden during the experiment, but I would consider this a ship blocker.  Android has had pretty good support for USB host mode since Honeycomb, and even though few users use it today, I expect it to become more popular with USB-C's allowing charging while acting as a USB host.

There are still a couple issues with the host mode API that makes supporting a generic USB API in an application like Chrome difficult but we're working on it. Some patches for Android support have already landed and more are planned for M-52.

Jochen Eisinger

unread,
Apr 8, 2016, 1:42:29 PM4/8/16
to Reilly Grant, Alexandre Elias, Owen, blink-dev, Jun Cai
I see in the launch tracking bug that neither privacy nor security flipped their flag yet. Are they aware of this intent? Do they have concerns?

Owen Campbell-Moore

unread,
Apr 8, 2016, 5:07:12 PM4/8/16
to Jochen Eisinger, Reilly Grant, Alexandre Elias, blink-dev, Jun Cai
Those labels were mistakenly added to this Type=Launch-OWP issue, where they should have been on the corresponding Type=Launch issue. I can't see a way to remove them, but they're not being used here.

The review was approved by privacy, security, legal, leadership etc in this issue.

owe...@google.com

unread,
Apr 30, 2016, 8:18:00 PM4/30/16
to blink-dev, joc...@chromium.org, rei...@chromium.org, ael...@chromium.org, jun...@chromium.org, owe...@google.com
Update: we have decided to change the schedule for this origin trial and are now planning to start in M53. I'll post an updated exact timeline when the branch point comes close.

Thanks

choud...@gmail.com

unread,
Dec 6, 2016, 9:42:09 AM12/6/16
to blink-dev, rei...@chromium.org, jun...@chromium.org
The webUSB platform will be useful for token based authentication of web site. Since the applet are disappering this feature will really help.
Reply all
Reply to author
Forward
0 new messages