The Universal Serial Bus (USB) is the de-facto standard for peripherals connected to a computer. A wide range of of useful USB devices exist, most of them provide standard services like keyboard, mice, audio, video and storage devices. These are supported by standard device class drivers implemented in the computers operating system.
However, there are many devices that do not fit into one of the standardized device classes. In order to access these devices, proprietary device drivers and operating system dependent code are usually necessary. This prevents these devices from being used by web applications.
As a sample application, a vendor of an USB device may provide a web page to configure the USB device or even to update the firmware of the device.
Web browser support
At the time of writing (June 2019), the following web browsers support WebUSB:
- Google Chrome
- Microsoft Edge
- Opera (security features must be disabled ( opera://flags/#enable-experimental-web-platform-features ))
Sample use cases
There are several use cases where WebUSB allows an easy and cross-platform solution:
- Single-click firmware updates via web browser (no separate utility to be installed)
- Easy configuration of a USB device. (no separate utility to be installed) E.g. printers, headphones, ...