TWAIN

Last updated
TWAIN
Original author(s) TWAIN Working Group
Developer(s) TWAIN Working Group
Initial releaseFebruary 1992;31 years ago (1992-02)
Stable release
2.5 (4 November 2021;17 months ago (2021-11-04))
Operating system Linux, macOS, Microsoft Windows
Platform x86, x86-64, PowerPC
Standard(s)TWAIN
Type Application programming interface
License LGPL (Data Source Manager only)
Website twain.org

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. [1]

Contents

The three key elements of TWAIN are: [1]

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. [2] Review of the original TWAIN Developer's Toolkit occurred from April, 1991 through January, 1992. [3]

On September 19, 2019, the TWAIN Working Group announced TWAIN Direct 1.0 which is a RESTful API version of the TWAIN specification. [4]

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, [5] 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. [6] [7] For example, the Encyclopedia of Information Technology lists "Technology Without an Interesting Name" as the official meaning of TWAIN. [8]

Release history of the TWAIN API [9]
VersionRelease dateChanges
1.0February 1992
  • Initial release
1.5May 1993
  • Performance enhancements
1.65 February 1996
  • Page-length detection
  • Buffer transfer
1.719 August 1997
  • Production scanning features
1.822 October 1998
  • Production scanning features omitted from v1.7 of the TWAIN specification
  • Support for barcode and patch code control
1.920 January 2000
2.022 February 2008
2.18 July 2009
  • Support for Windows 7 (32- and 64-bit)
  • Support for automatic color detection
2.216 February 2012
  • Implemented self-certification and new mandatory features
2.321 November 2013
  • Improved clarity and removed ambiguity
2.415 December 2015
  • Improved clarity and removed ambiguity
1.019 September 2019
  • Introduction of TWAIN Direct RESTful API
2.54 November 2021
  • Added Image Addressing

Objectives

Objectives of the TWAIN Working Group and standard include:

TWAIN provides support for:

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: [10]

See also

Related Research Articles

In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

<span class="mw-page-title-main">OpenGL</span> Cross-platform graphics API

OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

The Portable Operating System Interface is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system and user-level application programming interfaces (APIs), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems. POSIX is also a trademark of the IEEE. POSIX is intended to be used by both application and system developers.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Windows API</span> Microsofts core set of application programming interfaces on Windows

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. The name Windows API collectively refers to several different platform implementations that are often referred to by their own names ; see the versions section. Almost all Windows programs interact with the Windows API. On the Windows NT line of operating systems, a small number use the Native API.

<span class="mw-page-title-main">Image scanner</span> Device that optically scans images, printed text

An image scanner—often abbreviated to just scanner—is a device that optically scans images, printed text, handwriting or an object and converts it to a digital image. Commonly used in offices are variations of the desktop flatbed scanner where the document is placed on a glass window for scanning. Hand-held scanners, where the device is moved by hand, have evolved from text scanning "wands" to 3D scanners used for industrial design, reverse engineering, test and measurement, orthotics, gaming and other applications. Mechanically driven scanners that move the document are typically used for large-format documents, where a flatbed design would be impractical.

SuperWaba is a discontinued Java-like virtual machine (VM) that targets portable devices. Software developers use application programming interfaces (APIs), accessed through associated libraries and small tools, to create applications that can run within the VM on supported platforms.

Computer accessibility refers to the accessibility of a computer system to all people, regardless of disability type or severity of impairment. The term accessibility is most often used in reference to specialized hardware or software, or a combination of both, designed to enable the use of a computer by a person with a disability or impairment. Computer accessibility often has direct positive effects on people with disabilities.

freedesktop.org (fd.o) is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. It was founded by Havoc Pennington, a GNOME developer working for Red Hat in March 2000. Some of the project's servers are hosted by Portland State University, sponsored by Hewlett-Packard, Intel, and Google.

Hardware abstractions are sets of routines in software that provide programs with access to hardware resources through programming interfaces. The programming interface allows all devices in a particular class C of hardware devices to be accessed through identical interfaces even though C may contain different subclasses of devices that each provide a different hardware interface.

<span class="mw-page-title-main">Scanner Access Now Easy</span>

Scanner Access Now Easy (SANE) is an open-source application programming interface (API) that provides standardized access to any raster image scanner hardware. The SANE API is public domain. It is commonly used on Linux.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

UEFI is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of firmware that implement these specifications are AMI Aptio, Phoenix SecureCore, TianoCore EDK II and InsydeH2O.

OpenMAX, often shortened as "OMX", is a non-proprietary and royalty-free cross-platform set of C-language programming interfaces. It provides abstractions for routines that are especially useful for processing of audio, video, and still images. It is intended for low power and embedded system devices that need to efficiently process large amounts of multimedia data in predictable ways, such as video codecs, graphics libraries, and other functions for video, image, audio, voice and speech.

In computing, Web-Based Enterprise Management (WBEM) comprises a set of systems-management technologies developed to unify the management of distributed computing environments. The WBEM initiative, initially sponsored in 1996 by BMC Software, Cisco Systems, Compaq Computer, Intel, and Microsoft, is now widely adopted. WBEM is based on Internet standards and Distributed Management Task Force (DMTF) open standards:

<span class="mw-page-title-main">Linux kernel interfaces</span> An overview and comparison of the Linux kernal APIs and ABIs.

The Linux kernel provides several interfaces to user-space applications that are used for different purposes and that have different properties by design. There are two types of application programming interface (API) in the Linux kernel that are not to be confused: the "kernel–user space" API and the "kernel internal" API.

Windows Image Acquisition is a proprietary Microsoft driver model and application programming interface (API) for Microsoft Windows Me and later Windows operating systems that enables graphics software to communicate with imaging hardware such as scanners, digital cameras, and digital video equipment. It was first introduced in 2000 as part of Windows Me, and continues to be the standard imaging device and API model through successive Windows versions. It is implemented as an on-demand service in Windows XP and later Windows operating systems.

Binary-code compatibility is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer CPU, that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.

<span class="mw-page-title-main">LogicalDOC</span> Document management system

LogicalDOC is a proprietary cloud-based document management system that is designed to handle and share documents within an organization. LogicalDOC is a content repository, with Lucene indexing, Activiti workflow, and a set of automatic import procedures. The system was developed using Java technology.

Avision is a Taiwan based company founded in 1991 that designs and produces image scanners and multifunction printers. The company was established in Hsinchu Science and Industrial Park in 1991.

The Application Programming Interface for Windows (APIW) Standard is a specification of the Microsoft Windows 3.1 API drafted by Willows Software. It is the successor to previously proposed Public Windows Interface standard. It was created in an attempt to establish a vendor-neutral, platform-independent, open standard of the 16-bit Windows API not controlled by Microsoft.

References

  1. 1 2 "TWAIN Specification Version 2.5" (PDF). TWAIN Working Group. Retrieved 4 November 2021.
  2. TWAIN Initiative
  3. TWAIN docs index Archived September 27, 2011, at the Wayback Machine
  4. TWAIN Direct RESTful API introduction
  5. Chambers, Mark L. (2010). PCs All-in-One For Dummies (5th ed.). John Wiley & Sons. p. 458. ISBN   9780470908006.
  6. Pete Walsh; Francine Spiegel; Janee Aronoff (2013). Photoshop Elements 2 Most Wanted. Apress. p. 8. ISBN   9781430251194.
  7. "The TWAIN Forum • View topic - What is TWAIN an acronym for?". Twainforum.org. Archived from the original on April 2, 2016. Retrieved 2013-06-14.
  8. Encyclopedia of Information Technology. Atlantic Publishers & Dist. 2007. p. 501. ISBN   978-8126907526.
  9. "TWAIN Features". TWAIN Working Group. Retrieved 4 November 2021.
  10. "TWAIN Working Group Membership". TWAIN Working Group.