Gesture Hijacking

The iPhone and iPod Touch train users to use specific gestures or finger motions to trigger certain actions. Swiping a finger from left to right across a cell in a table should tell the application to delete that cell and the information it represents. Pinching two fingers together while touching the screen should zoom the current view out, or reduce its size, proportional to the distance the fingertips move toward each other. A reverse-pinch should trigger the inverse effect.

Gesture hijacking occurs when a developer changes the meaning of these well-known gestures. Often, the implementation is innocent. A developer may simply want to introduce a novel method of interaction into an application and may not realize that they have collided with the user expectation of consistency. For example, an implementation may rework the built-in handling of swipes in table cells and, instead of triggering a deletion, allow users to “flick” the interface to the left to drill down to the next level in a hierarchy. This might be interesting, but could frustrate users accustomed to interacting with tables in the normal way.

Figure 9-14 shows an example of gesture hijacking in Tweetie. Swiping a cell in a table doesn’t trigger the standard deletion behavior; instead, it uses nice animation effects to reveal an underlying set of controls relative to that table cell. The supplemental controls do not include a control for deleting the cell or its associated object—a fact that ...

Get Programming the iPhone User Experience now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.