Touch UI user experience

In general, the touch UI in S60 emulates the functionality of the Arrow and Selection keys, but there are many deviations to this general principle. Touch interaction design is a success if mobile device users choose to use the stylus or finger even if all the same tasks could be done on the hardware keys. All S60 common components are touch-enabled, allowing full use with a finger.

The touch UI is designed to enable full task flow with touch, without the need to switch to hardware keys. Thus, the design ensures that users can complete a task with the chosen interaction method (keys or touch) from start to finish. However, the touch user interface offers some usability benefits compared with keyboard use.

Observe the following guidelines when designing applications for touch use:

  • Base design decisions on real use cases.

  • Enable touch only for obvious functions to make sure that users can find them.

  • Keep in mind that not every item on the screen has to have a functionality attached to it and that the functionality should not be too surprising or radical.

  • Keep in mind that theme design alone is not sufficient as means of indicating touch functionality; where one theme may indicate touch, another may not.

In touch interaction, touch refers to pressing the finger or stylus against the touch screen, tap corresponds to touch and release, while touch and drag means touching and moving the finger or stylus along the screen. Basic touch interaction is achieved through a short tap and long tap. In the short tap, users place down and lift up a finger on the same item within a short period of time. For example, when selecting items from a list, the first short tap moves the focus to an item and the second short tap performs the Set function. There is no time dependency between the taps. A long tap performs some specific actions (described in more detail in Touch down and hold) when users hold down the finger on a component for a set amount of time. The following table lists the actions that take place on various finger movements.

Note: The touch and drag functionality is not supported by S60 as an integrated part of the style, but it is supported in some selected applications like moving items in the Menu. You can use it in 3rd party applications.

Table: Touch events
Touch type Description

Touch

The following actions take place on touch:

  • The component or control under the finger takes active focus.

  • The button under the finger changes its appearance to the pressed down status.

  • Scrolling is activated if the finger is on a scrollbar.

Tap

The following actions take place on a tap (touch and release):

  • The menu command under the finger is activated.

  • The button that was pressed down is released and the corresponding function is performed (unless it is a latching button as in a toolbar).

Touch and cancel

Users can cancel any action on the objects on which they place the finger by dragging the finger outside the object area before lifting it. If the users drag the finger back onto the object before they lift it, the action is performed.

Touch and drag

Users can place the finger on the screen and move it on the screen without lifting it. This kind of dragging can be used to:

  • Scroll lists and grids.

  • Select multiple objects in lists (see Touch based multiple selection).

  • Browse menu items. When the finger moves on a menu item, the item is focused and opens possible submenu panes. Lifting the finger performs the focused menu command.

  • Highlight text in appropriate editor fields (paint it).

  • Perform application-specific functions, such as drawing lines or dragging selections.

Using touch events in C++ applications

For implementation information on using the application and UI frameworks for receiving touch events, see Window server events and Pointer events.