Dojo (HowTo)







  Easter Eggs




  Martial Arts

Innovation: USB
The Follow-on to ADB

By:David K. Every
©Copyright 1999

In 1983 Apple used a phone-like (RJ-11) connector for the keyboard, and a DB-9 (Joystick-like) connector for the mouse. Both were hot-swappable and it worked pretty good.

In 1985 Apple had a revolutionary idea -- make a simple, low-cost, serial cable that can connect many devices to the Mac -- like Keyboards, Mice, Joysticks, Trackballs and so on. All this was supposed to be on one daisy-chainable serial port, with each device dynamically and automatically figuring out it's own address.

By 1995 Intel had a revolutionary idea -- to take Apple's idea and design, change the connector slightly, make it a little faster, and make USB (Universal Serial Bus). What a brilliant idea -- and only ten years late. Still the implementation was good, and ADB was growing long in the tooth (OLD). There were of course additions -- like making it faster, or putting power on the line so many devices wouldn't need their own power supplies (like Apple had done a little with ADB and IEEE-1394 FireWire), and the topology would change so that it wouldn't have to be a strict daisy-chain (like Apple had done with IEEE-1394 FireWire). Of course you could use hubs (splitters) on ADB as well (like ethernet, ADB, and IEEE-1394 FireWire). USB also allowed for the neat feature of "hot swappable" -- so that you could plug in and remove devices while the computer was on (just like Apple's IEEE-1394 FireWire). Lastly it would be fast enough that you could use it for some faster devices (like printers, scanners, and so on) -- just like Apple's other serial bus (the unnamed and unused one built into Macs since 1984 but never really used). Don't you love Intel innovation their motto could be, "just like the others... only later".

For the record:

Apple wasn't the first company to do a Daisy-Chain to connect devices.

IEEE-488 GPIB (General Purpose Interface Bus by Hewlett Packard) was a 1970's technology that worked that way, but was a parallel bus -- but it worked with a daisy chain and allowed 7 devices (+ computer). IEEE-488 was a way to connect test equipment and some faster devices (floppy drives, printers, plotters), and worked really well.

Commodore used IEEE-488 for their peripherals. Later when Commodore came out with low-cost computers (VIC-20's and C-64's) they decided to simplify IEEE-488 to trim costs, and so they made a serial version the cable, that was how you added drives to those computers. It worked, but it was fairly slow -- and didn't connect much of anything besides the floppy.

On a totally separate note, Commodore also needed to get the picture quality better than the NTSC they were using on their computers. So they separated the the Luminance Component from the Chroma on the video signal and created a Commodore high quality video. (NTSC had the two signal on the same line and they interfered with each other a bit, and ran the two signal at different qualities. By separating them they could increase the quality). S-Video connectors came along and "innovated" this same revolutionary concept that Commodore had been using for many years.

I imagine there were other "busses" as well as those mentioned.

Apple took the idea of a peripheral bus, and decided to design two separate addressable serial busses.

One was the RS-422 serial ports in the first Macs (and most follow-ons), which also had an "addressable device" protocol. This was supposed to work with pass-thru serial ports, be high speed (1 Mb externally clocked) serial bus for drives, printers, scanners and so on. If you've never daisy-chained serial devices to your Macs serial port, you are not alone -- I think there was one device that actually tried to use this feature of the Macs serial port (two if you counted an ill-fated hard-drive that connected to the serial port) -- everyone else just ignored the feature. It is so ignored that most people have never heard of it -- and you can only see mention of it in the oldest developer documentation. The idea was modified slightly, and then used as AppleTalk (LocalTalk) to network computers and peripherals-- so it isn't quite as dead as people might think. But there are some subtle differences between the two implementations (LocalTalk and the SerialBus), even if the high level concepts are similar. Basically the power of AppleTalk was good enough, and so no one even needed to implement the other form of that device bus.

The other serial bus was released on Apple ]['s and later Macs (circa 1985/6), and was ADB (Apple Desktop Bus). It was a lower speed serial bus for keyboards, mice and other "inputs". It has been standard on Macs ever since. Apple openly licensed the technology, and NeXT used it, and I think Sun even used it on a couple of machines. Apple was going to make it more of a standard, and there was even talk about PC manufacturers using it for a while -- but PC manufacturers wanted cheap, not good, so stuck with their older proprietary keyboard and mice connectors for 10+ more years. But when the same idea comes from Intel, then it is revolutionary. Besides, with the hardware monopoly stranglehold Intel has on the PC industry, they just put the connector on their support chips, all the PC makers were forced to have USB whether they wanted it or not.


Many ideas evolve. Apple was working on (or had at least thought of) ADB-2 -- a faster follow-on to ADB with some nicer features like more than 16-32 devices, and more power, hot swappable and so on, (and had been working on the very fast FireWire) -- but Intel copied with their revolutionary <sarcasm> USB. Apple wisely chose to go USB because it was going to be a standard.

When standards are available, Apple does use them -- but that is not always possible when you are on the leading edge. Apple couldn't be standard in 1985, because no one was doing what they were doing -- but a decade later, Intel was finally making a standard, so Apple used it.

Apple still made a difference to USB. The normal adoption curve in PC's would imply that by the year 2010 the PC users would have actually started adopting the USB port -- and another 10 years later they may drop the old RS-232 and Parallel ports. (PC's are netoriously slow at adopting anything). Fortunately as there was starting to be a little momentum building on the PC side (they finally got OS support), Apple put USB in all their machines, and leap-frogged the PC's in adoption. This has helped to drive many more devices for both Macs and PC's, and helped both the Mac and the PC market with a faster adoption cycle (1).

(1) Let's call the threshold for adoption of a technology the 50% mark (LD50). When 50% of your machines (either installed base, or new sales) are sold with a technology (and that technology is used), then it is adopted.

Guess what -- in most cases the Mac beats the PCs in adoption by a longshot, even with supposed PC innovations. An example is USB. It took PC's years to get it on the motherboards, but most didn't bring the connectors out to the real world, and almost no one really used it (other than the QuickCam) -- it wasn't even fully OS supported until Win98. Apple helped jump-start the market by putting USB on millions of iMacs, claiming that USB was the future of low-speed serial on the Mac (and it was going to be on all new Macs after that), and by removing other serial ports so that hardware developers and ISV's knew how serious Apple was.

All iMacs shipped with USB Keyboards and Mice long before any PC's did the same. USB became standard on Macs years (decades) before they will be on PC's. So even if a small percentage of PC got USB first -- the majority of Macs got it first, and Macs use it far more than most PC's do.

Created: 01/01/98
Updated: 11/09/02

Top of page

Top of Section