DiamondTouch SDK:Support for Multi-User, Multi-Touch Applications

Similar documents
Multi-User Multi-Touch Games on DiamondTouch with the DTFlash Toolkit

Research on Public, Community, and Situated Displays at MERL Cambridge

Semi-Automatic Antenna Design Via Sampling and Visualization

Voice Search While Driving: Is It Safe?

Multi-User, Multi-Display Interaction with a Single-User, Single-Display Geospatial Application

Constructing Representations of Mental Maps

ACTIVE: Abstract Creative Tools for Interactive Video Environments

Bayesian Method for Recovering Surface and Illuminant Properties from Photosensor Responses

Design of Enhancement Mode Single-gate and Double-gate Multi-channel GaN HEMT with Vertical Polarity Inversion Heterostructure

DiamondTouch: A Multi-User Touch Technology

Around the Table. Chia Shen, Clifton Forlines, Neal Lesh, Frederic Vernier 1

Circularly polarized near field for resonant wireless power transfer

Diploma Thesis Final Report: A Wall-sized Focus and Context Display. Sebastian Boring Ludwig-Maximilians-Universität München

Buzz: Measuring and Visualizing Conference Crowds

Frequency Noise Reduction of Integrated Laser Source with On-Chip Optical Feedback

Pinch-the-Sky Dome: Freehand Multi-Point Interactions with Immersive Omni-Directional Data

E90 Project Proposal. 6 December 2006 Paul Azunre Thomas Murray David Wright

COMET: Collaboration in Applications for Mobile Environments by Twisting

Coded Modulation for Next-Generation Optical Communications

Humera Syed 1, M. S. Khatib 2 1,2

Interaction Design for AnimMagix Prototype

A Gestural Interaction Design Model for Multi-touch Displays

Generalized DC-link Voltage Balancing Control Method for Multilevel Inverters

Occlusion-Aware Menu Design for Digital Tabletops

3D and Sequential Representations of Spatial Relationships among Photos

Under the Table Interaction

Tangible Lenses, Touch & Tilt: 3D Interaction with Multiple Displays

DepthTouch: Using Depth-Sensing Camera to Enable Freehand Interactions On and Above the Interactive Surface

From Table System to Tabletop: Integrating Technology into Interactive Surfaces

Locating Double-line-to-Ground Faults using Hybrid Current Profile Approach

GALILEO Research and Development Activities. Second Call. Area 1B. Interference Detection Mitigation and Isolation.

Adapting a Single-User, Single-Display Molecular Visualization Application for Use in a Multi-User, Multi-Display Environment

A Low-loss Integrated Beam Combiner based on Polarization Multiplexing

R (2) Controlling System Application with hands by identifying movements through Camera

Universal Usability: Children. A brief overview of research for and by children in HCI

Exploring Passive Ambient Static Electric Field Sensing to Enhance Interaction Modalities Based on Body Motion and Activity

Multi-User Interaction Using Handheld Projectors

High-Dimensional Modulation for Optical Fiber Communications

Haptic Pen: Tactile Feedback Stylus for Touch Screens

Coded Modulation Design for Finite-Iteration Decoding and High-Dimensional Modulation

1. First printing, TR , March, 2000.

Design of Broadband Three-way Sequential Power Amplifiers

Interactive Tables. ~Avishek Anand Supervised by: Michael Kipp Chair: Vitaly Friedman

New Human-Computer Interactions using tangible objects: application on a digital tabletop with RFID technology

From Room Instrumentation to Device Instrumentation: Assessing an Inertial Measurement Unit for Spatial Awareness

Double-side Multi-touch Input for Mobile Devices

A Hybrid Immersive / Non-Immersive

Enabling Interaction with Single User Applications through Speech and Gestures on a Multi-User Tabletop

UbiBeam++: Augmenting Interactive Projection with Head-Mounted Displays

Measuring Skin Reflectance and Subsurface Scattering

Tutorial 2: Setting up the Drawing Environment

STUDENT GUIDE Version 1.3 FINAL

Rate-Adaptive LDPC Convolutional Coding with Joint Layered Scheduling and Shortening Design

Quantum Treemaps and Bubblemaps for a Zoomable Image Browser

Open Archive TOULOUSE Archive Ouverte (OATAO)

On Top of Tabletop: a Virtual Touch Panel Display

Power Delivery Optimization for a Mobile Power Transfer System based on Resonator Arrays

SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE

The ideal K-12 science microscope solution. User Guide. for use with the Nova5000

TapBoard: Making a Touch Screen Keyboard

Digital Paper Bookmarks: Collaborative Structuring, Indexing and Tagging of Paper Documents

3D Brachytherapy with Afterloading Machines

Coeno Enhancing face-to-face collaboration

Beyond Actuated Tangibles: Introducing Robots to Interactive Tabletops

Information Layout and Interaction on Virtual and Real Rotary Tables

Constructing Representations of Mental Maps

Recent Advances in Power Encoding and GaN Switching Technologies for Digital Transmitters

Software Manual for the Economy LBIC Demo

Android User manual. Intel Education Lab Camera by Intellisense CONTENTS

EndpointWorks. Plasma-Therm LLC

Chanalyzer 4. Chanalyzer 4 by MetaGeek USER GUIDE page 1

The Open University s repository of research publications and other research outputs

Abstract. Keywords: Multi Touch, Collaboration, Gestures, Accelerometer, Virtual Prototyping. 1. Introduction

DISTINGUISHING USERS WITH CAPACITIVE TOUCH COMMUNICATION VU, BAID, GAO, GRUTESER, HOWARD, LINDQVIST, SPASOJEVIC, WALLING

Accurate Models for Spiral Resonators

Constant Modulus 4D Optimized Constellation Alternative for DP-8QAM

MRT: Mixed-Reality Tabletop

Faculty of Information Engineering & Technology. The Communications Department. Course: Advanced Communication Lab [COMM 1005] Lab 6.

Multi-Modal User Interaction

A 24-Dimensional Modulation Format Achieving 6 db Asymptotic Power Efficiency

Multitouch Finger Registration and Its Applications

NUI. Research Topic. Research Topic. Multi-touch TANGIBLE INTERACTION DESIGN ON MULTI-TOUCH DISPLAY. Tangible User Interface + Multi-touch

The Role of Dialog in Human Robot Interaction

WHITE PAPER Need for Gesture Recognition. April 2014

MOBAJES: Multi-user Gesture Interaction System with Wearable Mobile Device

AirScope Spectrum Analyzer User s Manual

PhonePaint: Using Smartphones as Dynamic Brushes with Interactive Displays

Evaluation of Visuo-haptic Feedback in a 3D Touch Panel Interface

Image Viewing. with ImageScope

Engagement During Dialogues with Robots

ModaDJ. Development and evaluation of a multimodal user interface. Institute of Computer Science University of Bern

EMIT. RF Cosite and Coexistence RFI Modeling and Mitigation

A Rapid Acquisition Technique for Impulse Radio

PhotoCropr A first step towards computer-supported automatic generation of photographically interesting cropping suggestions.

6 System architecture

Investigating Gestures on Elastic Tabletops

PROFESSIONAL DIGITAL TWO-WAY RADIO SYSTEM MOTOTRBO DP 3600/DP 3601 DISPLAY PORTABLE QUICK REFERENCE GUIDE

COGNITIVE ANTENNA RADIO SYSTEMS FOR MOBILE SATELLITE AND MULTIMODAL COMMUNICATIONS ESA/ESTEC, NOORDWIJK, THE NETHERLANDS 3-5 OCTOBER 2012

Differentiable Spectrum Partition for Fractional Frequency Reuse in Multi-Cell OFDMA Networks

MODEL SETUP FOR RENOVATION PROJECTS INSTRUCTIONS AND TUTORIALS

Transcription:

MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com DiamondTouch SDK:Support for Multi-User, Multi-Touch Applications Alan Esenther, Cliff Forlines, Kathy Ryall, Sam Shipman TR2002-48 November 2002 Abstract DiamondTouch is a multi-touch input technology that supports multiple, simultaneous users; it can distinguish who is touching where. We present the DiamondTouch SDK; it provides support for the development of applications that utilize DiamondTouch s capabilities to implement computer-supported collaboration and rich input modalities (such as gestures). Our first demo illustrates the basic utilities and functionality of our system. Our second demo, a multi-user map application, highlights DiamondTouch s ability to sup-port input from multiple, simultaneous users and exploits Di-amondTouch s ability to identify the owner of each touch. Our third demo illustrates DiamondTouch s ability to run with existing applications by providing a mouse emulation mode. DiamondTouch is well-suited to shared-display applications. It is suitable for front-projected video of the computer display, which facilitates direct manipulation of user interface elements and provides a shared focus of attention for collab-orating users. Possible applications include command-and-control command posts, control rooms, business or technical meetings, and a variety of casual applications in the home, at schools, and in retail settings. CSCW 2002 Demo This work may not be copied or reproduced in whole or in part for any commercial purpose. Permission to copy in whole or in part without payment of fee is granted for nonprofit educational and research purposes provided that all such whole or partial copies include the following: a notice that such copying is by permission of Mitsubishi Electric Research Laboratories, Inc.; an acknowledgment of the authors and individual contributions to the work; and all applicable portions of the copyright notice. Copying, reproduction, or republishing for any other purpose shall require a license with payment of fee to Mitsubishi Electric Research Laboratories, Inc. All rights reserved. Copyright c Mitsubishi Electric Research Laboratories, Inc., 2002 201 Broadway, Cambridge, Massachusetts 02139

MERLCoverPageSide2

DiamondTouch SDK: Support for Multi-User, Multi-Touch Applications Alan Esenther, Cliff Forlines, Kathy Ryall, Sam Shipman Mitsubishi Electric Research Laboratories 201 Broadway Cambridge, MA 02139 {esenther, forlines, ryall, shipman}@merl.com ABSTRACT DiamondTouch [1] is a multi-touch input technology that supports multiple, simultaneous users; it can distinguish who is touching where. We present the DiamondTouch SDK; it provides support for the development of applications that utilize DiamondTouch s capabilities to implement computersupported collaboration and rich input modalities (such as gestures). Our first demo illustrates the basic utilities and functionality of our system. Our second demo, a multi-user map application, highlights DiamondTouch s ability to support input from multiple, simultaneous users and exploits DiamondTouch s ability to identify the owner of each touch. Our third demo illustrates DiamondTouch s ability to run with existing applications by providing a mouse emulation mode. DiamondTouch is well-suited to shared-display applications. It is suitable for front-projected video of the computer display, which facilitates direct manipulation of user interface elements and provides a shared focus of attention for collaborating users. Possible applications include command-andcontrol command posts, control rooms, business or technical meetings, and a variety of casual applications in the home, at schools, and in retail settings. INTRODUCTION DiamondTouch is a multi-user, multi-touch technology first presented at UIST 2001 [1]. It allows multiple people to simultaneously interact with a surface; it can distinguish who is touching where, and also if a person is touching in multiple locations. DiamondTouch is currently being used on a tabletop display with front projection, although it can be layered onto other surfaces. This type of input device is particularly relevant for singledisplay groupware applications [4]. 1 DiamondTouch enables 1 We and others prefer the term shared-display groupware to indicate that multiple shared displays may be used, but to the authors knowledge this term has not yet been popularized. Figure 1: Prototypical DiamondTouch setup: front-projection onto a tabletop surface. a group of people to interact with a surface without interfering with each other. Furthermore, objects placed on the surface do not interfere with DiamondTouch operation. DiamondTouch uses an array of antennas embedded into a surface, with each antenna transmitting a unique signal. Each user has their own receiver, generally attached to their chair. When a person touches the surface, energy from nearby antennas is coupled through the user to their receiver. Using this mechanism, the system determines who is touching where. For a more detailed discussion of DiamondTouch and comparison to other input devices see Dietz and Leigh [1]. Figure 1 illustrates a typical DiamondTouch setup. DIAMONDTOUCH SDK The DiamondTouch surface consists of overlapping vertical and horizontal arrays of antennas. The hardware periodically produces frames of data containing scalar values that measure the proximity of the user s finger(s) to each antenna. The DiamondTouch Library (dtlib) reads these data frames

from the DiamondTouch device and affords access to the raw data and to various abstractions and interpretations of that data, such as the location of the maximum proximity (the touch point) and the bounding box of the area touched. Other abstractions are possible and are the subject of ongoing research. A weighted interpolation algorithm increases the effective resolution to 2500 x 1500. Median filtering, hysteresis, and adaptive touch thresholding are used to improve robustness in the face of RF interference and other environmental variables. The SDK consists of dtlib (ANSI C), jdt (a Java interface layer), merldt (a Windows application providing mouse emulation, projector calibration, and various diagnostic displays), and a simple multi-user application example. RELEVANCE TO CSCW Computer-assisted collaborative environments allow multiple users to work together to solve difficult problems. However, simply scaling the techniques that work well for a single user creates awkward systems. In a collaborative environment, sharing a single mouse is very awkward. Providing multiple mice only makes matters worse - it is extremely difficult to keep track of what each user in the group is doing. Touch screen technologies appeared promising since a glance reveals each users activities. However, touch technologies are usually restricted to detecting a single touch point. They also tend to be somewhat fragile. DiamondTouch is unique hardware that provides multi-touch input; it is a touch technology specifically designed for a multi-user environment. Enabling input from multiple participants is important for computer-supported collaboration and access to this hardware will facilitate exploration in these areas. Furthermore, the DiamondTouch technology is still a research prototype; MERL relies on outside collaborators (in this case academic institutions) for feedback on and development of the technology and its applications. DiamondTouch has been successfully used by the University of Maryland in conjunction with MID [3] in applications such as KidPad [5] and SearchKids [6]. In the near future MERL will be distributing DiamondTouch to a number of other universities. DEMO APPLICATIONS Our first demonstration illustrates the basic utilities and functionality of DiamondTouch and its SDK. The basic display, shown in Figure 2, provides low-level information about each user s interactions with the DiamondTouch surface. A different color is used for each user. In this example, each user is touching the table with two fingers; the bar graph shows the signal strength for each user s touch. The outlined rectangles indicate the bounding box of the area touched by each user. Note that the boxes overlap the users touches are tracked independently by DiamondTouch, and do not interfere with each other. Other diagnostic information (touch thresholds, calibration, touch points, etc.) is included in the display. Figure 2: The display from merldt provides lowlevel information about DiamondTouch and users interactions with it. In our second demo we present a prototype multi-user map application. In this application the display, which is projected onto a DiamondTouch surface, contains a satellite map image. Different views can be overlayed onto the map. One lens, for example, provides a street map view of the area in question. Another lens provides an annotated view highlighting areas of interest (e.g., ice cream parlors, museums and other attractions). A third view displays traffic information. Each user selects his or her own view, which may be the same as or different from other users views. As each user touches the DiamondTouch display his or her lens appears, revealing the appropriate customized information. Figure 3 shows two users interacting with the application. More generally, any layered information can be displayed in this application. In Figure 4 we see a sample session with our application in which three people are interacting with a nautical data set. In this sample demonstration application, for example, four layers of information are provided: satellite imagery, depth charts, topographic data, and street maps. The users can interact with the application in parallel, and each has his own customized view of the data. Figure 5 provides the details of the application by showing a sample screen shot (contents of the display only). In the bottom right corner of the display we see a thumbnail view of the entire data (map) set. Users navigate the larger map

Figure 3: Two users interacting with a sample DiamondTouch application. Figure 5: DTMap: A screen shot to illustrate the application details. gle in the center provides depth information about the water near this island. The rectangle in the upper right provides a street map view. Further, because it knows who is touching where, Diamond- Touch can provide functionality and privileges to individual users. For example, each user can control not only the contents of his or her lens, but also its shape and size. The goal of this demo is to highlight DiamondTouch s capabilities; we hope other users will contribute to developing content for DiamondTouch. Figure 4: An overview shot of DiamondTouch running DTMap, a multi-user, layered information, map application. display by touching the image directly, or using the compass buttons to move the currently selected region, which is shown by a red rectangle. That region is then shown in detail on the work surface. Users may select which view will serve as the background image from any of the available views; in this case the satellite view is used as the background image for the work surface. The toggle button shows the currently selected background. The region of interest and the background image are globally shared resources any user may interact with them, and all users have the same state. This aspect of the application is similar to single-user applications. A novel aspect of our application is that each user interacts with his or her own view of the data. The screen shot in Figure 5 is taken from the interaction in Figure 4. The oval on the left reveals topographic information. The rounded rectan- Our third demo illustrates the mouse emulation capabilities of DiamondTouch. There are two aspects to this demo. First, this capability allows traditional software to be used with DiamondTouch. We currently have several mouse modes (onetouch, two-touch, etc) and are experimenting to determine how best to implement a fully-functioning mouse with DiamondTouch. Our mouse emulator works with traditional software. Second, under Windows the DiamondTouch SDK can generate augmented mouse events that contain the user ID info in an extra field. In this manner C++ Windows code using a Win32 API call can get the ID information for each mouse event as it is processed by the application. The application then needs to store the state for the different users, and also some mouse information. We have a sample drawing program (a modified MFC demo) to illustrate the use of augmented mouse events for writing applications for DiamondTouch. ACKNOWLEDGMENTS The authors would like to thank other members of the DiamondTouch team at MERL: Shane Booth, Paul Dietz, Darren Leigh, Joe Marks, Kent Wittenburg and Bill Yerazunis.

REFERENCES 1. Dietz, P. and Leigh, D. DiamondTouch: A Multi-User Touch Technology. In Proc. of UIST 01, ACM, NY, 2001, pp. 219 226. 2. Bier, et al. Magic Lenses. Toolglass and Magic Lenses: The See-Through Interface. In Proc. ACM SIGGRAPH Conference 1993, ACM, NY, 1993, pp 73 8. 3. Hourcade, J. P. and Bederson, B. Architecture and Implementation of a Java Package for Multiple Input Devices (MID). Tech Report HCIL 99 08, Computer Science Dept., Univ. of Maryland, College Park, MD, 1999. 4. Stuart, J. and Bederson, B.B. and Druin, A. Single Display Groupware: A Model for Co-present Collaboration. In Proc. of CHI 99, ACM, NY, 1999, pp pp. 286 293. 5. Juan-Pablo Hourcade et. al. KidPad: Collaborative Storytelling Tool for Children. In Extended Abstracts CHI 2002, ACM, NY, 2002. 6. Juan-Pablo Hourcade et. al. SearchKids: A Digital Library Interface for Young Children. In Extended Abstracts CHI 2002, ACM, NY, 2002.