
re: usb devices By Mark Legosz
That idea you suggested here, was the basic idea behind PCI, however, as no one can agree upon a standard, before one is created, they all create their own implementations, and thus you end up with a billion different ways to interface to a mouse. fortunately eventually defacto standard appear, and devices start to conform to these, until someone finds a neat little feature that they add to their device, making it non-compliant to the standard.
Having the device driver on the device, you then also need to decide which operating system you wish to support, as what PowerPC Apple mac, Intel Apple Mac, Windows 98, windows 2000, windows (blabla), linux, freebsd, etc all use different standards, so you end up with 2-3 gig of drivers stored in your usb device. If these drivers are updatable, then vira has a nice new hiding place, which will make it even harder to combat vira.
So though your idea sounds good (and has been tried before), it causes many problems..
The only way forward is to implement standards, such as what has now happend with Web cameras, where there now is a industry standard interface, such that you only need one single driver for all web cameras.
However, take printers, each printer "speaks" a different language, has different features, which makes it very hard to create a standard that covers everything - actually Postscript was such a standard - but was too expensive at the time (due to the hardware requirements and patents involved), and has then been replaced with the driver nightmare that is associated with printers.
If we went back to postscript, or an updated XML based postscript methodology, where the computer generated a fixed format, which the printers then interpreted, then it might have a chance. However, I doubt the industry would do this in the next many years, though it would save them money in the long term - no need to maintain software drivers on the computer, but the would need to maintain the software on the device instead.