First, a bit of background: the Universal Serial Bus (USB) is the de-facto standard for wired peripherals. Most USB devices implement one of roughly a dozen standard “device classes” which specify a way for the device to advertize the features it supports and commands and data formats for using those features. Standard device classes include keyboard, mice, audio, video and storage devices. Operating systems support such devices using the “class driver” provided by the OS vendor. There is however a long tail of devices that do not fit into one of the standardized device classes. These devices require hardware vendors to write native drivers and SDKs in order for developers to take advantage of them.
This sounds great.
Your API is probably already adequate for this. An arbitrary page that wants to use a particular device could contain an
Edit: My post was cut off because I used the string <iframe> without escaping the ‘<’ so I’m guessing the same happened to you and we’re on the same page.
Is this the same as the Current USB API if not, well there is one already, I can’t seem to find docs for it, but if you open the console in chrome canary
navigator.usb is available, there are some methods there already
Yes, it is. This thread was started to encourage the discussion of the proposal and specification that is currently being prototyped in Chrome.
I’d support moving this proposal to WICG.
We [Intel] are currently going through an internal approval process to be able to participate in full capacity. So it may take some time before we can commit to working on it.
An update on WebUSB:
We have made a lot of progress on the draft specification and welcome additional comments. An initial implementation based on that specification has been completed for Chrome’s desktop platforms (Linux, OS X and Windows). It is currently available behind a runtime flag (–enable-experimental-web-platform-features) and I am preparing to make it available to developers under the Experimental Framework currently under development so that early adopters may try it out with real users.
For developers who want to play around with it on real hardware I have created a fork of the Arduino IDE which converts an Arduino Leonardo or Pro Micro into a WebUSB-enabled device. Anyone using this should have a programming cable on hand as messing with the low-level USB code on your board will put it in a state where the normal programming method no longer works. Demos using these modifications are in the WebUSB specification repository.