diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita
--- a/Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita Tue Mar 30 11:42:04 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita Tue Mar 30 11:56:28 2010 +0100
@@ -4,66 +4,226 @@
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
There are two types of cases where vibration or audio of the
-device is used as an output method when the user is interacting with the device
-touch screen: There are two methods where vibration or audio of the device is used as
+an output method (when mobile device users interact with the device touch
+screen): When the user has touched an active area of the screen, and an action
-will be triggered on touch release Interaction with given components has been successful As a tacticon to inform users through physical feedback, that
+an important event is occurring in the device. For example, when a new message
+arrives or a warning note is displayed. As tactile feedback to indicate to the user that an interaction
+event has been successful. For example, users receive tactile feedback when
+they press a button on the touch screen. As with sounds, tactile feedback must be used carefully so as not to desensitize
-the user to the vibration: the attention grabbing quality remains and functions
+the user to the vibration; the attention grabbing quality remains and functions
so long as the feedback is not too frequent. Tactile feedback is included in those common UI components, where seen
-as beneficial. When new components are designed, tactile feedback is to be
-included in those if seen beneficial usability-wise. For example, in any button
-type of UI component the tactile feedback is natural. Application can disable
-tactile feedback from the common UI components it uses, if seen necessary.
-This is acceptable only in cases, where tactile feedback would cause interference,
-like during a phone call or when giving audio commands to the system. The user can choose whether tactile feedback is on or off. Tactile feedback is enabled for all the Symbian platform UI components.
+Tactile feedback can be disabled for the common UI components in an application.
+However, this is acceptable only if tactile feedback causes interference with
+other device functions. The user can choose the level of tactile feedback and turn tacticons ON
+and OFF. The following table lists the tactile feedback effects: Effects Description Sensitive button It provides single pulse effect on repeated key presses with buttons.
+It is also possible with other similar components. Basic button It provides stronger single pulse effect to buttons. It is also
+possible with other similar components. Sensitive list It provides single pulse effect to lists and grids. Effect is used
+with move (drag and flick) when new item appears on the screen. Basic list It provides stronger single pulse effect to lists and grids. Effect
+is used with touch down and release when tap makes an action. In hierarchical
+list, collapsing/expanding item provides basic list effect with touch down
+and release. Bounce effect It provides pulse effect when list returns to its normal state after
+boundary effect. Sensitive slider It provides pulse effect with scrollbar and slider thumbs. Effect
+is provided with touch down and release in thumb area. Smooth slider It provides continuous smooth feedback when dragging scrollbar or
+slider thumb. This can also be increasing or decreasing depending of the slider
+type. Hold slider It provides sensitive pulse effect when touch down and hold on the
+slider or scrollbar area. Slider thumb starts moving step by step towards
+the touch point. Every step gives one sensitive pulse. If slider thumb moves
+directly to the touch point, then basic slider effect is provided. Pop-up It provides sensitive pulse effect when pop-up is opened or closed.
+If the theme animations are ON, then pop-up effect is used with opening event
+after increasing long touch effect. In this scenario, there is no pop-up effect
+while closing. Pop-up close It provides decreasing smooth feedback while closing pop-up and
+when theme animations are ON. Increasing long touch It provides increasing smooth feedback. This can be used with either
+long tap animation or pop-up opening theme effects. If the theme effects are
+ON and long tap opens a pop-up, then feedback is provided only with long tap.
+This is followed by pop-up. Basic tab It provides strong pulse effect with touch down event in tab area. Smooth flick It provides smooth feedback with drag when horizontal movement is
+possible. Sensitive flick It provides sensitive pulse effect with touch release when horizontal
+movement is possible. Sensitive edit It provides sensitive pulse effect in editors with touch down and
+release. Text edit It provides pulse effect when painting the text. Effect is provided
+with every character while painting the text. Blank edit It provides pulse effect when painting blank character. By default,
+it is none. Line edit It provides pulse effect when painting a line. Empty line It provides pulse effect when painting an empty line. By default,
+it is none. Check box It provides pulse effect when marking/unmarking a check box. Multi-touch recognition It provides double pulse (sensitive + sensitive) effect when multi-touch
+is recognized (generally, when second finger is touched down). Smooth pinch It provides smooth continuous feedback while moving fingers in multi-touch
+pinch situation. Smooth rotate It provides smooth continuous feedback while moving fingers in
+multi-touch rotate situation.
-
You can use the following APIs to create haptic effects:
Tactile -Feedback Client API
available from S60 5.0 onwards
can be used on all S60 5.0 or later mobile devices but the feedback -is played only on touch enabled layouts
provides simple functions for triggering various predefined tactile -feedback (vibration or audio) effects
enables a consistent user experience in all applications of the mobile -device (an application gives a logical feedback type as an input and the actual -physical effect depends on the mobile device configuration and end user settings)
when the area feedback is used, latency is the smallest for the feedback -triggering (tactile feedback can be triggered at the window server level before -the corresponding pointer event is delivered to the visible application)
direct feedback is easy to integrate into
an application can select the logical tactile feedback from certain -types and the produced effect may be different on various mobile devices
It is available from S60 5th Edition onwards
It can be used on all S60 5th Edition or later mobile devices. However, +the feedback is played only on touch enabled layouts.
It provides simple functions for triggering various predefined tactile +feedback (vibration or audio) effects.
It enables a consistent user experience in all applications of the +mobile device (an application gives a logical feedback type as an input and +the actual physical effect depends on the mobile device configuration and +end user settings).
When the area feedback is used, latency is low for the feedback triggering +(a tactile feedback can already be triggered at the window server level prior +to the corresponding pointer event being delivered to the visible application).
Direct feedback can be easily integrated into
An application can select the logical tactile feedback from certain +types. The produced effect may be different on various mobile devices.
Vibra -API
available from S60 3.0 onwards
can be used for running device vibrator with given intensity for given -period of time
a privileged client application can use this for playing pulse effects -which have a really short duration (as the ones used for tactile feedback)
It is available from S60 5.2 Edition onwards.
It can be used in touch and hybrid mobile devices.
It provides an interface for accessing Haptics player that can control +different actuator types.
It enables producing of complex vibrator effects, such as an explosion +or machine gun effect in a game, bass boost for a music player, advanced ringing +tone vibration, and so on.
It enables simultaneous playing of different kinds of basis effects +and modifying them when played.
It allows for designing complex effects (using a separate PC application) +that can be loaded on Haptics player for playing.
It may require a special license key for third-party applications +(to be set at runtime) to enable the Haptics player functionality.
It available from S60 3.0 onwards
It can be used for running device vibrator with given intensity for +a given period of time
It can be used by a privileged client application to play pulse effects, +which have a very short duration (as the ones used for tactile feedback)
You should use
You must +use
Tactile Feedback Client API for providing tactile feedback in custom -controls (grids, lists, etc.) which comply with the style of the Core UI components -to ensure a uniform user experience among applications
Vibra API to produce haptic effects such as ringing tone vibration
Haptics API on touch and hybrid mobile devices for producing complex +vibration feedback which cannot be achieved with Tactile Framework (games, +simulations, demos, and so on.)
Vibra API for producing haptic effects such as ringing tone vibration +in those mobile devices where Haptics API is not available or functional
The API to use for tactile
feedback is the
The Symbian platform includes a tactile
@@ -72,32 +232,33 @@
Tactile feedback can be set be disabled in a client -application or a mobile device in some situations, for example, during phone +is touched.
Tactile feedback can be set and disabled in a client +application or a mobile device in some scenarios, for example, during phone calls.
Client applications cannot determine the actual physical feedback that is generated. It depends on device configuration and current settings. In current devices, the user changeable settings include vibration and audio feedback intensity level.
In your application, you can use
the following feedback types, defined in