We've all been through the process of bringing a shiny new peripheral home and going through the process of getting it installed and configured. Sometimes the setup instructions are clear and, on occasion, there are stickers covering the USB port with stern warnings against connecting the device to the computer until setup has been completed. Other times, instructions may be vague or just absent altogether.
We've even been conditioned to ignore the installation media included with the peripheral as the software and drivers it contains would more than likely have been superseded. However, for the average user, that could be a trial in itself given the complexity of some device manufacturer websites.
So, what if your USB device could just reach out to the internet and grab all of the drivers and software it required?
This approach is what Reilly Grant and Ken Rockot of Google have proposed in an explanation of WebUSB over on GitHub. It basically allows USB devices to be mapped against a web origin which whitelists interaction between a webpage and a given device. This mapping would prevent unmapped web origins from talking to USB devices in a similar fashion to how cross-site scripting is prevented in web browsers.
In their explanation, Grant and Rockot use MakerBot as an example to illustrate their idea:
First, a manufacturer like MakerBot can build their device setup and calibration software directly into their website. When the excited new user plugs the USB cable into their computer they are greeted by a friendly notification, “MakerBot Replicator II detected. Go to setup.makerbot.com/replicator2 to connect.” When they visit this site it will ask for permission to connect to their new printer and can then guide them through the rest of the setup and calibration process.
Put simply: no discs, no manual browsing and no fuss.
However, It would not be at all useful for computers without an active internet connection. Also, it could also be prone to failure if device manufacturers revamp their websites which results in the webpage a USB device is expecting to reach being moved, renamed or deleted.
In any case, the concept is still young with contributions only being accepted from members of the W3C Web Platform Incubator Community Group at present.