As with other input devices, scanners have their own control and signaling systems that must link to your software to be used effectively (or at all). Early scanners used their own proprietary application interfaces to relay commands and data. Consequently, each scanner required its own software or drivers. Oftentimes you could only use the scanner manufacturer's own software to grab images.
Thanks to a concerted effort by the scanner industry, that situation has changed. Now you can expect any scanner to work with just about any graphics program. Moreover, scanning is consistent across applications. The same screens that control your scanner in PhotoShop appear in Corel Photo-Paint.
Central to this standardization is Twain. First released in early 1992, Twain is a scanner software interface standard developed by a consortium of scanner and software makers called (in its final form) the Working Group for Twain. The primary companies involved in forming the working group included Aldus Corporation, Caere Corporation, Eastman Kodak Company, Hewlett-Packard, and Logitech.
The Twain name requires some explanation. Twain is not an acronym, so only its initial letter needs to be capitalized. Rendering Twain in all capital letters is a typographic error. That said, the promoters of the standard usually write it in all capital letters as if it were an acronym.
Officially, the Twain developers have explained that the name is a reference to the purpose of the interface. Not an acronym, it derives from making the twain (an archaic word for two) meet, the two of the twain being applications and scanners. However, a few wags insist that Twain stands for "Technology Without An Interesting Name."
When the Twain interface was being developed, it wore a number of different names. The most common of these were Direct-Connect and CLASP, the latter of which stands for the Connecting Link for Applications and Source Peripherals. The developers of Twain considered these and others as the formal names of the interface. After searching through lists of trademarks in use, however, they found so many conflicts they felt that lawsuits would be a distinct possibility if any of the developmental names were to be used. Instead they chose the name Twain to, in the words of one of the developers, "describe this interface which brings together two entities, applications and input devices."
Twain links programs and scanner hardware, giving software writers a standard set of function calls by which to control the features of any scanner. One set of Twain drivers will handle any compatible scanning device. Because the Twain connection has two ends—your scanner and your software—both need to be Twain compatible for you to take advantage of the connection.
Twain defines its hardware interface as its Source. The Source is hardware or firmware in a scanner that controls the information that flows from the scanner into Twain. The scanner-maker designs the Source to match its particular hardware and interface. Your software links to the Twain Source through a Source Manager, which is essentially a set of program calls.
Twain takes the form of a software driver. The original driver was written in 16-bit code and takes the name TWAIN.DLL. The working group has also created a fully 32-bit version of the driver called TWAIN32.DLL. Both the 16- and 32-bit versions work with all versions of Windows since 95 (including 32-bit versions such as NT, 2000, and XP).