# TWAIN

TWAIN and TWAIN Direct are application programming interfaces (APIs) and communication protocols that regulate communication between software and digital imaging devices, such as image scanners and digital cameras. TWAIN is supported on Microsoft Windows, Linux and Mac OS X.
The three key elements of TWAIN are:
* Application software. For example, graphics software, a fax application or a word processor.
* Source manager software. The source manager software is a software library provided by the TWAIN Working Group.
* Device drivers (referred to as "Source software" in the specification document)
Both the application and the device driver must support TWAIN for the interface to be successfully used.
The first release was in 1992, and it was last updated in 2021.
It was designed with the help of a number of companies from the computer industry, to try to establish a unified standard connection interface between computers and imaging devices.

## History

The design of TWAIN began in January 1991. The TWAIN group was originally launched in 1992 by several members of the imaging industry, with the intention of standardizing communication between image handling software and hardware. Review of the original TWAIN Developer's Toolkit occurred from April, 1991 through January, 1992.
On September 19, 2019, the TWAIN Working Group announced TWAIN Direct 1.0 which is a RESTful API version of the TWAIN specification.

## Name origin

The word TWAIN is not officially an acronym, but it is a backronym. The official website notes that "the word TWAIN is from Kipling's "The Ballad of East and West" — '...and never the twain shall meet...' — reflecting the difficulty, at the time, of connecting scanners and personal computers.
It was up-cased to TWAIN to make it more distinctive. This led people to believe it was an acronym, and then to a contest to come up with an expansion. None was selected, but the entry Technology Without an Interesting Name continues to haunt the standard. For example, the Encyclopedia of Information Technology lists "Technology Without an Interesting Name" as the official meaning of TWAIN.
Release history of the TWAIN API :
| Version | Release date | Changes |
| 1.0 | February 1992 | Initial release |
| 1.5 | May 1993 | Performance enhancements |
| 1.6 | 5 February 1996 | Page-length detection Buffer transfer |
| 1.7 | 19 August 1997 | Production scanning features |
| 1.8 | 22 October 1998 | Production scanning features omitted from v1.7 of the TWAIN specification Support for barcode and patch code control |
| 1.9 | 20 January 2000 | ICC profiles Support for the Cocoa software development API in Mac OS X |
| 2.0 | 22 February 2008 | Linux support Support for the Win64 version of the Windows API New open-source Data Source Manager, licensed under the LGPL Support for cheque-scanning |
| 2.1 | 8 July 2009 | Support for Windows 7 (32- and 64-bit) Support for automatic color detection |
| 2.2 | 16 February 2012 | Implemented self-certification and new mandatory features |
| 2.3 | 21 November 2013 | Improved clarity and removed ambiguity |
| 2.4 | 15 December 2015 | Improved clarity and removed ambiguity |
| 2.4.2 | 19 September 2019 | Introduction of TWAIN Direct RESTful API |
| 2.5 | 4 November 2021 | Added Image Addressing |

## Objectives

Objectives of the TWAIN Working Group and standard include:
* Ensure image-handling software and hardware compatibility
* Keep the specification current with the state of current software and hardware while maintaining backward compatibility
* Provide multiple-platform support
* Maintain and distribute a no-charge developer's toolkit
* Ensure ease of implementation
* Encourage widespread adoption
* Open Source Data Source Manager
* LGPL Open Source License
* BSD Open Source Sample Application and Sample Data Source Application
TWAIN provides support for:
* Production, high-speed scanning
* ICC Color profiles
* Digital cameras
* Multiple operating system platforms including Windows, classic Mac OS, macOS, and Linux

## TWAIN Working Group

Today the TWAIN standard, including the specification, data source manager and sample code, are maintained by the not-for-profit organization TWAIN Working Group.
Board and associate members of the TWAIN Working Group include:
* Atalasoft, a Kofax Company
* Dynamsoft
* Epson
* ExactCODE GmbH
* Fujitsu
* Hewlett-Packard
* ICE Health Systems
* InoTec GmbH
* Kodak Alaris
* Microtek International, Inc.
* P3iD Technologies Inc.
* PDF Association
* Plustek
* Visioneer, Inc.