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
Link to entry on the Chromium Dashboard
https://www.chromestatus.com/features/5651917954875392Will 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.
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.