Channel Button

There is 1 article on this title. You are reading the article ranked and rated #1 by Helium's members.

Computers & Technology   >

Software & Web Development

What TWAIN stands for

TWAIN is a standard for communicating between application programs and imaging devices (such as scanners and digital cameras). It consists of a communications protocol (a set of rules for exchanging information) and an application program interface (a set of library routines that applications can call to perform some overall task), and currently supports the Microsoft Windows and Apple Macintosh operating systems.

Although many people think of TWAIN as an acronym for "Technology Without An Interesting Name," this name is actually derived from the phrase "...and never the twain shall meet..." in British author Rudyard Kipling's poem, "The Ballad of East and West." Just as this poem reflects the difficulty that western and eastern cultures face in trying to understand one another, TWAIN reflects the historical difficulty faced by software developers in trying to get their applications to communicate with scanning devices.

Prior to 1992, software developers had a hard time accessing scanning devices from their applications because each device presented a different device driver. If they wanted to support scanning in their applications, developers had to spend time learning how to access each driver (which took time away from working on these applications). Furthermore, applications grew larger with all of the driver-access code needed to accommodate the various scanning devices, and this was at a time when memory wasn't as plentiful as it is today.

Because time is money, many developers avoided introducing scanner support into their applications. This was not a good situation for the vendors of these devices, who witnessed a slow adoption of their products. In an attempt to accelerate developer (and ultimately consumer) acceptance of scanners, a group of industry vendors got together and hammered out the first TWAIN specification in 1992.

According to this specification, applications communicate with the data source manager (a piece of software that manages interactions between applications and devices) via the manager's DSM_Entry() C language-style function. In turn, the data source manager communicates with a TWAIN-compliant driver via the driver's DS_Entry() function. (On Windows XP platforms, the data source manager is stored in the twain_32.dll dynamic link library.)

Subsequent to 1992, the original TWAIN group evolved into what is known as the TWAIN Working Group. This group released Version 1.9 of the specification back in 2001, and is heading toward the release of Version 2.0. To learn more about this not-for-profit organization, and to obtain the latest version of the specification, visit the TWAIN Working Group's website at http://twain.org/.

Learn more about this author, JavaJeff.
Contact this writer Click here to send author comments or questions.


Below are the top articles rated and ranked by Helium members on:

What TWAIN stands for

  • 1 of 1

    by JavaJeff

    TWAIN is a standard for communicating between application programs and imaging devices (such as scanners and digital ... read more

Add your voice

Know something about What TWAIN stands for?
We want to hear your view. Write_penWrite now!

Debate Icon

Cast your vote!

Which is a better Web application framework: Ruby on Rails or PHP?

Click for your side. Must be logged in.

86996

Featured Partner

Capitol News Connections (CNC)

Capitol News Connection (CNC) has partnered with Helium, giving you the chance to write for a cause. Browse CNC'...more

What is Helium? | User Guide | Community | Link to Helium | Privacy | User Agreement | DMCA

Helium, Inc.
200 Brickstone Square Andover, MA 01810 USA