DiamondTouch Software Development Kit (SDK)
The DiamondTouch Software Development Kit (SDK) provides support for the development of Microsoft Windows and Linux applications that utilize DiamondTouch's capabilities to implement computer-supported collaboration and rich input modalities (such as gestures). DiamondTouch is a touch input device that distinguishes between multiple simultaneous users and tracks multiple simultaneous touch points for each user. (See DiamondTouch Hardware for more details on the hardware, and DiamondTouch Applications for more details on applications.) Using the SDK, programmers can develop novel, multi-user applications in the language of their choice.
Background & Objective: The SDK implements key features of the technology, provides a platform for further exploration of its possibilities and applications, and is the vehicle whereby we support our collaborators (internal and external).
Technical Discussion: The SDK provides libraries to support DT application development; version 2.0 was recently released, which includes a much-improved API. The DiamondTouch hardware periodically produces frames of data indicating the proximity of the user's finger(s) to each antenna. The SDK reads these data frames from the device and provide access to the raw data as well as o various abstractions and interpretations of that data, such as the location of the touch point and the bounding box of the area touched. A weighted interpolation algorithm increases the effective resolution to subpixel resolution. Adaptive touch thresholding and other techniques improve robustness in the face of RF interference. A more programmer-friendly API, provides access to more semantically oriented events. The SDK provides support for application development in a variety of languages (C/C++, Java, ActiveX Control) and includes a number of diagnostic (e.g., merldt) and utility applications (e.g., mouse emuation, projector calibration, thresholding, etc).
Contacts:
Adam Bogue
Alan Esenther
Samuel Shipman
Publications:
Ivanov, Y.; Sorokin, A.; Wren, C.; Kaur, I., "Tracking People in Mixed Modality Systems", SPIE Conference on Visual Communications and Image Processing (VCIP), Vol. 6508, January 2007 (SPIE Publications, TR2007-011)
Tse, E.; Greenberg, S.; Shen, C., "GSI Demo: Multiuser Gesture/Speech Interaction over Digital Tables by Wrapping Single User Applications", International Conference on Multimodal Interfaces (ICMI), ISBN: 1-59593-541-X, pp 76-83, November 2006 (ACM Press, TR2006-085)
Ryall, K.; Forlines, C.; Shen, C.; Ringel-Morris, M., "Exploring the Effects of Group Size and Table Size on Interactions with Tabletop Shared-Display Groupware", ACM Conference on Computer Supported Cooperative Work (CSCW), ISBN: 1-58113-810-5, pp. 284-293, November 2004 (ACM Press, TR2004-124)
Esenther, A.; Forlines, C.; Ryall, K.; Shipman, S., "DiamondTouch SDK: Support for Multi-User, Multi-Touch Applications", ACM Conference on Computer Supported Cooperative Work (CSCW), November 2002 (CSCW 2002, TR2002-048)
Dietz, P.H.; Leigh, D.L., "DiamondTouch: A Multi-User Touch Technology", ACM Symposium on User Interface Software and Technology (UIST), ISBN: 1-58113-438-X, pps 219-226, November 2001 (Proc ACM Press, TR2003-125)
Technology Area: Off the Desktop Interaction and Display
Modification Date: July 24, 2008
