WebEvents ACTION-18: Touch point leaving the screen area

Hi all,

I've finally got to the point where I have done some investigation for ISSUE-2.

Short story: There is no reliable uniform method of detecting a touch point being dragged off of the screen. Ideally, touchcancel should not be mandated for physical cancellation as with the touchpoint being moved out of software detectable boundaries, and touchend should be fired instead as it is detectable in a reliable manner.

Long story:

Experiments on touch screens of different nature (capacitive, resistive), physical layout (flat, recessed), and underlying screen pixel density (high, low) listed below, I've conducted some experiments using a native application to detect the reliability of detecting the touch point leaving the physical screen area, and found out that in a resistive context, the only way to detect it is by mapping the edges of the screens as a reserved area (i.e. 5% of the screen length in pixels on each edge), and by detecting if touchend happens within that area assume that it is touchcancel - which is not a very reliable (nor clean) method since touch cancel will be fired in cases where the user lifts the pen at the edge of the screen.

Along with that, the recessed screen used in the test had a higher error rate at the edge of the screen when a stylus was not involved in the test. Since it is very difficult to detect how recessed the screens are from a software level, this should be taken into consideration as well.

On capacitive it is slightly more reliable as it is possible to detect the actual touch area, but there is a high dependency on the quality of the screen and it also needs to use a similar approach as the one described above along with the actual touch area to increase the reliability.

Devices used:
HTC Desire (Android 2.2) : capacitive/flat/high
Sony Ericsson X10 Mini (Android 2.1) : resistive/flat/low
Mintpass Mintpad (Windows CE 5.0) : resistive/recessed/low
Samsung Omnia 2 (Windows Mobile 6.5) : resistive/flat/high
iPod Touch, 2nd generation (iOS 4.2.1) : capacitive/flat/low

-- 
Sangwhan Moon, Opera Software ASA
XMPP: smoon@opera.com | Mobile: +372-5971-6147

Received on Tuesday, 29 March 2011 15:20:19 UTC