Tuesday, February 17, 2009

Stanum’s new multi-touch framework and my experience with resistive multi-touch

At the Mobile World Congress, Stantum technologies announced a new multi-touch software framework, called TouchPark. TouchPark is designed to run on popular operating systems (Symbian, Windows Mobile, and Android) and microcontrollers (TI Zoom, Freescale i.MX, etc.).

Stantum TouchPark Demo
I have made a simple multi-touch application with Stantum SMK 15.4. Multi-touch functionality of SMK 15.4 is far better than its predecessor Lemur. During the development, I found strength and weakness of resistive multi-touch technology.
The advantage of resistive multi-touch is that you can use your fingers and pens at the same time while capacitive multi-touch screens detect only human fingers (conductors).
However, when I tried to implement multi-touch scrolling and two-finger pinching gestures, I faced two problems: discontinuous touch profiles and ambiguous multi-touch points.
The first problem is due to the inherent characteristics of resistive touch technology. Resistive touch screens detects pressure, but users cannot evenly press the screen. Therefore, when your finger moves on the screen as shown in Figure 1, the actual report from SMK 15.4 looks like Figure 2.
User’s scroll gesture on the resistive touch screen
Figure 1. User’s scroll gesture on the resistive touch screen.
Touch profile from SMK 15.4
Figure 2. Touch profile from SMK 15.4.
The second problem is the ambiguity of touch point identification. Stantum system assigns unique ID to each touch point. Sometimes, the touch IDs are given incorrectly. Figure 3 and Figure 4 illustrate this situation. Exactly speaking, the second problem exists in any multi-touch screens.
Two fingers move on the screen simultaneously
Figure 3. Two fingers move on the screen simultaneously.
Touch points are incorrectly identified.
Figure 4. Touch points are incorrectly identified.


Anonymous said...

It's not quite true that all multitouch interfaces are confused by crossing paths. DaimondTouch (from Circle Twelve) distinguishes users, so if the two touches are from different users, it never loses track of who is who. Of course, if a single user does two touch points, it can get confused...

Touch User Interface said...

As you pointed out, DiamondTouch can distinguish different users.

I think there are roughly three issues on multi-touch data processing:

1) multi-touch positioning
2) multi-touch tracking: assigning unique ID to each touch point
3) multi-user identification: assigning unique ID to each user's touch points

Every multi-touch screen can do multi-touch positioning. Stantum SDK includes a multi-touch tracking function and DiamondTouch has a multi-user identification system (Please note that I haven't study all multi-touch SDKs).

For small-sized displays, multi-touch positioning is enough. The second and third problems should be carefully considered when you design large multi-user interactive displays.

DiamondTouch solves the multi-user identification (classification) problem with a specially designed hardware. Since the solution is only for capacitive touch sensing, other touch sensing technologies need their own algorithms to track multi-touch points and classify multiple users.

I didn't know DiamondTouch has been commercialized through Circle Twelve. Thank you for your helpful information.


Force, Pressure, and Touch - kitronyx.com
Force pressure touch technology: FSR sensor, electronics, firmware and software
Design Service Low Cost Pressure Mapping
Related Posts with Thumbnails