TWAIN

Last updated
TWAIN
Original author(s) TWAIN Working Group
Developer(s) TWAIN Working Group
Initial releaseFebruary 1992;32 years ago (1992-02)
Stable release
2.5 (4 November 2021;3 years 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] [9]

Release history of the TWAIN API [10]
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
2.4.219 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: [11]

See also

Related Research Articles

<span class="mw-page-title-main">Device driver</span> Software interface to attached devices

In the context of an operating system, 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 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.

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

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">Computer accessibility</span> Ability of a computer system to be used by all people

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.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), 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. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

<span class="mw-page-title-main">Scanner Access Now Easy</span> Open source scanner application programming interface

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> Technical specification for firmware architecture

Unified Extensible Firmware Interface is a specification for the firmware architecture of a computing platform. When a computer is powered on, the UEFI-implementation is typically the first that runs, before starting the operating system. Examples include AMI Aptio, Phoenix SecureCore, TianoCore EDK II, 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 kernel API and ABI.

The Linux kernel provides multiple interfaces to user-space and kernel-mode code that are used for varying purposes and that have varying properties by design. There are two types of application programming interface (API) in the Linux kernel:

  1. the "kernel–user space" API; and
  2. 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.

<span class="mw-page-title-main">Wabi (software)</span> Microsoft Win16 API for Unix/Linux

Wabi is a discontinued commercial software application from Sun Microsystems that implements the Windows Win16 API specification. Wabi runs applications developed for Windows 3.1, Windows 3.11, and Windows for Workgroups, interpreting and translating x86 instructions where appropriate, but without providing emulation support for DOS or PC hardware.

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 central processing unit (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.

<span class="mw-page-title-main">Longene</span> Linux distribution

Longene is a Linux-based operating system kernel intended to be binary compatible with application software and device drivers made for Microsoft Windows and Linux. As of 1.0-rc2, it consists of a Linux kernel module implementing aspects of the Windows kernel and a modified Wine distribution designed to take advantage of the more native interface. Longene is written in the C programming language and is free and open source software. It is licensed under the terms of the GNU General Public License version 2 (GPLv2).

<span class="mw-page-title-main">OpenHarmony</span> Family of open-source operating systems based on OpenHarmony

OpenHarmony (OHOS), also known as OH by shorter acronym, is a family of open-source distributed operating systems based on HarmonyOS derived from LiteOS, donated the L0-L2 branch source code by Huawei to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distributed operating system is designed with a layered architecture, consisting of four layers from the bottom to the top: the kernel layer, system service layer, framework layer, and application layer. It is also an extensive collection of free software, which can be used as an operating system or in parts with other operating systems via Kernel Abstraction Layer subsystems.

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. This article is based on material taken from TWAIN at the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
  9. Encyclopedia of Information Technology. Atlantic Publishers & Dist. 2007. p. 501. ISBN   978-8126907526.
  10. "TWAIN Features". TWAIN Working Group. Retrieved 4 November 2021.
  11. "TWAIN Working Group Membership". TWAIN Working Group.