Having spent countless sessions interacting with a (by today's standards) medium sized touch display (~30 to 50 inches), we found that traditional dragging gestures didn't live up to our ergonomic expectations. Prolonged use sometimes led to arm fatigue and on more than one occasion did we experience skin irritation. This would even lead to trying to avoid having to drag something long distance, just due to the potential discomfort involved. Although the day has yet to arrive when these larger touch devices are ubiquitous, they're becoming increasingly more common. They already exist in shared work environments, public installations, malls, or even as part of performance instruments.

Given this context, it seemed feasible to come up with an alternative to traditional dragging. Enter, TapDrag.

Associated Publications

  • TapDrag: An Alternative Dragging Technique on Medium-Sized MultiTouch Displays Reducing Skin Irritation and Arm Fatigue
    Lasse Farnung Laursen, Hsiang-Ting Chen, Paulo Silva, Lintalo Suehiro, Takeo Igarashi, in Arxiv,
    Published PDF

Quick Facts

  • TapDrag can be easily integrated with standardized existing gestures (tap, drag, pinch, swipe).
  • Gesture recognition system developed from scratch in C++11.
  • User tested with 18 different participants.
  • Significantly faster, and generally preferred by users for long distance (~55cm) dragging.

Competing with Nr. 1

It's difficult to compete with traditional drag's because they are so simple. There's barely anything to trim or tweak. A single touch allows the user to manipulate any on-screen element in a direct way with full correlation. Unfortunately, this correlative interaction is also what causes the aforementioned ergonomic issues: Arm fatigue, and skin irritation.

We came up with what we felt would be the next most simple interaction pattern, which still maximized the flexibility of traditional dragging. Instead of one continuous touch starting at point A, and ending at point B, we utilize two simple taps at these locations to initiate and complete a TapDrag. The interaction pattern is straight-forward and is actually simpler to cancel than a traditional drag.

Because the TapDrag isn't finished until the last finger leaves the interactive surface, it's possible - just like traditional dragging - to hover over other elements and preview what would occur, were the TapDrag to complete.

Implementing TapDrag is nearly as simple as using it. The required states are few, and integrating TapDrag with other gestures is also quite easy.

A between-subjects user study was conducted comparing TapDrag directly to traditional dragging, where the results indicated that users generally preferred TapDrag to traditional dragging for longer distances.

How to TapDrag

How to TapDrag A simple interaction diagram showing how to initiate, and complete or cancel a TapDrag.

TapDrag State Diagram

TapDrag State Diagram An exhaustive state machine diagram for implementing TapDrag.

Integrating TapDrag with Other Gestures

There are multiple ways of distinguishing between a TapDrag and other popular multi-touch gestures, but we found that the most straight forward method was to distinguish between objects and the background. Most contexts already make this distinction, like the desktop on an operating system where a drag can either move elements or start a selection lasso. The state diagram shows all of the possible states throughout a standard TapDrag, and what the resulting action is.

You'll notice, in the diagram, that two touches on the same object cannot trigger a TapDrag. This is actually beneficial, as our user study found, that for short distances, a traditional drag is preferable.

Finally, it's worth noting that most of these facts are related to a single user scenario. A multi user scenario would present issue when using TapDrap, similar to when performing pinch gestures in a multi user scenario. Arguably, TapDrag presents more of a problem in this case as users are encouraged to use TapDrag for long distance interaction making it more difficult for the system to act predictably without knowing which touches belong to which user.

TapDrag Integration State Diagram

TapDrag Integration State Diagram Integrating basic TapDrag with pre-existing multi-touch gestures.

User Study

To compare TapDrag to traditional drag's, we asked each participant to complete a series of dragging trials. All trials were performed on a Multitouch 3200, a 32 inch multi-touch device, tilted towards the user.

In each trial, participants dragged an object (a circle with a diameter of ~3.5 cm) from a source position to a target position. The study used a 2x2x2x2x4 with-in subject repeated measurement design with five factors: dragging type (TapDrag or traditional drag), target visibility (showing or not showing target area prior to first touch), source area (left-half or right-half), dragging distance (10cm short dragging or 55cm long dragging) and dragging direction (up, down, left, right). Note that due to the limitations of the touch surface display size, long drags could only be tested from left to right, or right to left.

Ten trials were recorded for each unique combination resulting in 7200 data points. The short distance dragging trials were set to 10cm to ensure that the average adult could perform the TapDrag using only a single hand. The long distance dragging trials were set to 55cm, as this was the maximum distance the touch device could accommodate while still maintaining a generous border to randomize positioning.

The results shown on a Tukey box plot indicate that TapDrag's are significantly faster for long distance dragging with comparable failure rates.

User Study Results

User Study Results A Tukey box plot of trial completion times and failure rates. Whiskers designate the lowest and highest measured value.

© Lasse Laursen 2015 - 2021