SlideShare a Scribd company logo
Creating custom haptic effects for
your Android application
Bob Heubel & Richard Mar presenting


September 2011
NASDAQ: IMMR




      ©2011 Immersion Corporation–Confidential
                                                 1
Agenda – We will answer these questions:
  Who is Immersion?
  What is haptics?
  How can Haptics be applied to Android apps?
  What is Immersion‟s MOTIV Platform for Android?
  How do you design custom Haptic effects using
   MOTIV Studio?
  How do you code these custom effects into your
   Android application?
  Where do you find additional MOTIV resources?
  What is the meaning of life? (time permitting)

            ©2011 Immersion Corporation–Confidential
                                                       2
Before we start, you should...

  As an experienced Android developer, you should
   have these tools installed on your machine:

    Java SE
    Eclipse
    Android SDK
    Android Developer Tools

  And you should have an Android device connected

              ©2011 Immersion Corporation–Confidential
                                                         3
Additionally, you will need…
 Download latest Immersion MOTIV Studio and MOTIV
  UHL to your PC from:
  http://www.immersion.com/MOTIVsdk

 Download the latest MOTIV Bridge app from the Android
  Market to connect your device to MOTIV Studio:
  https://market.android.com/details?id=com.immersion.designerbridge




                 ©2011 Immersion Corporation–Confidential
                                                                       4
Who is Immersion?




©2011 Immersion Corporation–Confidential
                                           5
Company Highlights
Immersion: The Haptics Company
NASDAQ: IMMR

                                                                   Technology Leader
                                                                   Developing haptics solutions
 Established in Large and                                            since 1993

 Rapidly Growing Markets
– Our tech is in 750+ million devices
– Mobile phones, game controllers, auto,                              World Class Customer Base
  industrial, casino, other portable devices
                                                                     Samsung, Nokia, LG, Sony, Microsoft,
                                                                     Logitech, Lexus, BMW, CAE…


 Worldwide Support
 – Offices in EU, Korea, Taiwan,
   Japan, US & Canada
                                                                 Strong Intellectual Property
                                                                 Portfolio of 1,200+ granted and pending
                                                                   patents in the field of Haptics related
                                                                   to both hardware and software


                      ©2011 Immersion Corporation–Confidential                                               3
What is haptics?




©2011 Immersion Corporation–Confidential
                                           7
The science of Haptics
Haptics is the science concerned with how people explore their
  environment through their sense of touch (tactile feedback)



                                                            Feeling a
  Feeling a                                      Vs.         Haptic
  real bump                                               simulation of
     on a                                                 a bump on a
   surface                                                   surface




         Haptic interfaces simulate real-world forces
               ©2011 Immersion Corporation–Confidential
                                                                          8
The science of Haptics
 Role of touch is often underestimated. We rely
  extensively on touch to perform many tasks, like:
   – Controlling the movement of objects including our own bodies
   – Perceiving the world around us through the objects we interact
     with

 Haptic interactions rely on mechanical signals like:
   –   Applied forces
   –   Applied torques
   –   Movement of objects
   –   Geometry and mass of objects
   –   Stiffness and texture of materials

 Haptic interfaces use actuators (motors) to create haptic
  sensations that simulate real-world interactions

                  ©2011 Immersion Corporation–Confidential
                                                                      9
Common Haptic device examples
 Force-feedback and rumble feedback gaming




                ©2011 Immersion Corporation–Confidential   10
The Benefits of Haptics
  Provides an enhanced user-experience that is more
   engaging, intuitive and personal
  On touchscreen devices, Haptics assists in hand-eye
   coordination--confirming task or data input completion
   or acceptance by the UI elements
  More fun for gaming and entertainment apps
  Opens up a new communication channel that can be
   used with or without audio or visual cues...
   – Example, using vibe patterns to identify callers without
      use of sound.
   – Example, using vibe patterns to as navi-cues to
      navigate while walking through the city, without the
      need for looking at your handset GPS map.

             ©2011 Immersion Corporation–Confidential
                                                           11
More Examples of Applied Haptics




 Virtual keypads &                 “Enzo’s Pinball” by         “Solo” by Coding
keyboards that feel               Haptify let’s you feel    Caveman lets you feel
  like mechanical                 the pinball collisions,   each string of the guitar
       buttons                     bumpers & flippers            as you strum


                ©2011 Immersion Corporation–Confidential
                                                                                        12
Immersion‟s Haptic Technologies
   for the Android Platform




     ©2011 Immersion Corporation–Confidential
                                                13
Immersion‟s Haptic technologies
 Developer tools and resources (MOTIV SDK) that
  include the MOTIV Studio effect design tool, the
  only Haptic design tool with a simple visual GUI
 MOTIV Universal Haptic Layer (UHL) that
  contains a library of 124 pre-made Haptic effects
 Software emulator included with MOTIV UHL that
  allows for a consistent haptic playback experience
  across all Android devices
 Embedded software player technology
  (TouchSense) for OEMs to use that allows the
  highest quality Haptic playback possible
            ©2011 Immersion Corporation–Confidential
                                                       14
What does the MOTIV Studio do for you?
 Allows you to design custom Haptic effects beyond
  the pre-made 124 effects found in the MOTIV UHL
 Allows you to create complex Timelines with multiple
  vibe components
 Allows you to playback/test/iterate your effects on your
  tethered Android device without needing to compile code
 Allows you to reference sounds files displayed as
  waveforms for playback with your newly designed effects,
  again, without having to compile your app code
 Allows you to export your custom effects in many
  different developer formats, including Java

             ©2011 Immersion Corporation–Confidential
                                                        15
What does the MOTIV SDK do for you?
 Saves you time developing effects that feel good
  across all Android devices and platforms, not just a
  single device or platform version (1.6 or higher)
 Allows you to have more than simple motor on/off
  vibration control, like ramps, staccato repeats and
  complicated patterns
 Consistent vibe effects across ALL Android devices.
   Devices with TouchSense embedded player technology
    will feel the best (1/4 billion devices to date) but the
    MOTIV UHL emulator creates compatibility support on
    all other Android devices. Code once!

             ©2011 Immersion Corporation–Confidential     16
Example – Benefits of MOTIV SDK
 Using standard Google vibrate () you must define
  motor “on” durations for each device type
  – Not useful, not effective for gaming
  – Very time consuming to code
  – Your effect may feel fine on one Android device but horrible
    on another, due to differences in vibe motors
 Using MOTIV, we abstract this level for you
  – You choose an effect from a library, or design your own
  – The effect will automatically feel consistent across all
    devices whether it is an explosion, click, or bounce
  – The MOTIV Studio & MOTIV UHL combine to give you the
    only complete Haptic solution for the Android platform

              ©2011 Immersion Corporation–Confidential         17
Adding MOTIV Haptics to an Android application




           SDK and Studio available at: www.immersion.com/MOTIVsdk

MOTIV Bridge: https://market.android.com/details?id=com.immersion.designerbridge
Use MOTIV Studio in tandem with UHL
You should always use your custom created Haptic
  effects from MOTIV Studio WITH the MOTIV UHL

 If you do not, your custom effects will only playback
  on Android devices using the Immersion TouchSense
  player (about half the Android devices)
 The MOTIV UHL contains the playback emulator
  needed to play your custom effects across ALL
  Android devices, not just those with TouchSense.



             ©2011 Immersion Corporation–Confidential   19
Using Immersion
         MOTIV Studio




©2011 Immersion Corporation–Confidential
                                           20
Let‟s start with an application in mind
                                                We will design three
                                                 custom effects
                                                We will reference sound
                                                 files in our design
                                                We will create both simple
                                                 basis effects and a more
 Airplane crash                                  complicated timeline effect
   animation                                    We will export our effects
                                                 as Java
                                                We will add these effects to
                                                 our sample application
            ©2011 Immersion Corporation–Confidential
                                                                            21
‹#›
Download resources…
 If you have not already, download latest Immersion
  MOTIV Studio and MOTIV UHL to your PC from:
  http://www.immersion.com/MOTIVsdk

 Download the latest MOTIV Bridge app from the Android
  Market to connect your device to MOTIV Studio:
  https://market.android.com/details?id=com.immersion.designerbridge




                 ©2011 Immersion Corporation–Confidential
                                                                       23
Connecting your device to
MOTIV Studio
 Install MOTIV Studio on your PC and make sure you
  have the MOTIV Bridge app loaded on your target
  Android device
 Make sure you have your Android device driver installed
 Turn on your device and enable the USB debugging
  mode under your device “Application settings” menu
 Plug your device into your PC and use “adb devices”
  command in your DOS prompt to verify that your device
  is being recognized by your PC. Once it is, you can
  launch the MOTIV Studio and your device should be
  recognized in the Studio device list

             ©2011 Immersion Corporation–Confidential
                                                        24
MOTIV Studio
            Effect Design




©2011 Immersion Corporation–Confidential
                                           25
Exported Java from MOTIV Studio



                    These are the three
                    effects we will call from
                    our sample application




                                                26
Code Demo:

  Integrating MOTIV Studio custom
effects into the Airplane Crash sample
          Android application




         ©2011 Immersion Corporation–Confidential
                                                    27
You should...
 As an experienced Android developer, you should
  have practical experience with Eclipse and:

   Android architecture
   The life cycle of components
   Event handling
   Debugging and application
   Deploying an application to a device



               ©2011 Immersion Corporation–Confidential
                                                          28
Add UHL to Eclipse project
• Extract UHL_x_x_xx.zip somewhere
• Copy extracted libImmEmulatorJ.so file to your Eclipse
  project libs/armeabi folder (create folders if necessary)
• In Eclipse, refresh project to see
  libs/armeabi/libImmEmulatorJ.so
• Navigate to Project > Properties > Build Path >
  Configure Build Path…
• Click on Add External JARs…
• Browse to location of extracted UHL.jar file

  For additional information, visit the Immersion website:
     http://www2.immersion.com/developers/index.php?option=com_
     content&view=article&id=495&Itemid=812
               ©2011 Immersion Corporation–Confidential
                                                                  29
Create a Device Object
   This is a logical representation of the vibe capability of your
    device. The Device object needs the context of the app as an
    argument

           Device = Device.newDevice(context);


Create IVTBuffer Object
  • The IVTBuffer object stores all the IVT data from the effect
    definition class into a temporary buffer. You must pass the byte
    array of the java class you exported from MOTIV Studio as an
    argument to the IVTBuffer constructor.

       IVTBuffer ivt = new IVTBuffer(myeffects.ivt);

               ©2011 Immersion Corporation–Confidential
                                                                       30
Play Effect
    Play a haptic effect from the IVT


           device.playIVTEffect(ivt, myeffects.Periodic);


Once the Device and IVTBuffer objects are created and
initialized, you can play the actual effect by using the
playIVTEffect() method.
Since one IVTBuffer may contain many effects, an effect
index is used to identify the one you wish to play.
In the exported Java code, the effect indices are stored
as constants. You determine the names of the effects by
looking at the Java code.
Stop Effect
  • Stop the haptic effect from the IVT.


                device.stopAllPlayingEffects();




Close the Device Object
                device.close();



 The Device must be closed after it has been used to play
 and stop the haptic effects. This ensures that there are no
 resource leaks in the application.                        32
In a nutshell, that‟s it!
If you can handle the setting up your Eclipse
   environment and understand the last five slides…

Then you should be able to add your cool custom
  MOTIV Studio effects to your applications.

But let‟s review the steps within the Eclipse environment
  itself through the simple Airplane Crash demo application
  just to make sure you understand.



                                                          33
Airplane Crash
Demo App Example
(within Eclipse)




        ©2011 Immersion Corporation–Confidential
                                                   34
Agenda – We will answer these questions:

  Who is Immersion?
  What is haptics?
  How can Haptics be applied to Android apps?
  What is Immersion‟s MOTIV Platform for Android?
  How do you design custom Haptic effects using
   MOTIV Studio?
  How do you code these custom effects into your
   Android application?
  Where do you find additional MOTIV resources?


            ©2011 Immersion Corporation–Confidential
                                                       35
Additional Resources
http://www.immersion.com/MOTIVsdk
   Developer guide
   http://www.immersion.com/MOTIVguide

   Reference doc
   http://www.immersion.com/MOTIVref

   Sample code
   http://www.immersion.com/MOTIVcode

   Forum
   http://www.immersion.com/MOTIVforum

   MOTIV Studio (Only for advanced custom effect design)
   http://www.immersion.com/MOTIVsdk
Immersion‟s Got Apps Campaign




 Immersion Building a Wall of Haptic Apps for Mobile World
  Congress (MWC „12) in Barcelona, Spain.
   – Show us your apps using the Immersion MOTIV UHL SDK and
     add “Integrated with Immersion MOTIV Haptic Effects” to
     your description page
   – Launch in Android Market or any other Android app store
   – If your app is compelling, we‟ll help you promote it and demo
     it at Mobile World Congress – Feb 2012 and other tradeshows
   – AND drive connection to our OEM / Carrier partners
 Contact us at MOTIVdev@immersion.com to participate           37
Immersion to Promo Your Cool Haptic Apps
  Inclusion in Immersion‟s outreach to over 30 major
   technology & review channels including:
    –   Engadget, PC World, AndroidPolice, Appolicious, VentureBeat/GameBeat,
        Android Central, etc…
  Highlight of your app in Immersion‟s Feature App section
   of their Developer‟s site (developer.immersion.com)
  Inclusion in Immersion‟s publicly issued press releases
  Potential inclusion on Immersion promotional
   videos/animations
  Demos to Immersion‟s major OEM partners for bundling
   opportunties
  Inclusion in Immersion demonstrations at upcoming
   tradeshows and conferences like AnDevCon, MWC, etc.
                 ©2011 Immersion Corporation–Confidential                 38
Thank you!
Bob Heubel & Richard Mar presenting


September 2011
NASDAQ: IMMR




               ©2011 Immersion Corporation–Confidential
                                                          39

More Related Content

PDF
WIP Back To School Webinar - Appstores with Nexva
PPSX
Screens with Feeling
PPTX
Experiencias únicas móviles con tecnologías de última generación- Qualcomm
PDF
Layar introduction for developers
PDF
Quizzing
PPSX
Enhancing the User Experience Through the Sense of Touch with Bob Heubel
PDF
Layar code examples for developers
PDF
Fernando Kanacri - Nokia
WIP Back To School Webinar - Appstores with Nexva
Screens with Feeling
Experiencias únicas móviles con tecnologías de última generación- Qualcomm
Layar introduction for developers
Quizzing
Enhancing the User Experience Through the Sense of Touch with Bob Heubel
Layar code examples for developers
Fernando Kanacri - Nokia

What's hot (20)

PDF
2011 0330 czech open coffee info for developers
PPTX
All about android
PPTX
4 adobe gaming on tv
PDF
Mobile trends and impressions
PDF
Biz model for LEAP
PDF
TGA Capability Booklet
DOCX
SensActions-Report
KEY
Layarintroductionfordevelopers 110308080829-phpapp02
PDF
Importance Of The Maemo Community Randall Arnold
PPTX
Qualcomm: дифференциация мобильных приложений с помощью ПО и технологий
DOC
Mobile web literature
PDF
Visiware leading the 2nd screen revolution - nex tv mexico-1.1
PDF
Jornada Formativa Qualcomm y Movilforum
PPTX
Apple WWDC 2018
PDF
WWDC 2020
PDF
Softkinetic user interface evolution by Ilse Ravyse and Tanya Varbanove
PDF
Droidcon berlin Apr2013
PPTX
Profound logic 2012
PDF
Richness + Simplicity: The Holy Grail Of Mobile UI - 1.25.2010
PDF
Jure Sustersic Monetization through Ovi Services
2011 0330 czech open coffee info for developers
All about android
4 adobe gaming on tv
Mobile trends and impressions
Biz model for LEAP
TGA Capability Booklet
SensActions-Report
Layarintroductionfordevelopers 110308080829-phpapp02
Importance Of The Maemo Community Randall Arnold
Qualcomm: дифференциация мобильных приложений с помощью ПО и технологий
Mobile web literature
Visiware leading the 2nd screen revolution - nex tv mexico-1.1
Jornada Formativa Qualcomm y Movilforum
Apple WWDC 2018
WWDC 2020
Softkinetic user interface evolution by Ilse Ravyse and Tanya Varbanove
Droidcon berlin Apr2013
Profound logic 2012
Richness + Simplicity: The Holy Grail Of Mobile UI - 1.25.2010
Jure Sustersic Monetization through Ovi Services
Ad

Similar to WIP Back to School Webinars - Creating Your Own Haptic Effects (20)

PPSX
Haptics for android
PDF
Enhancing the User Experience Through the Sense of Touch
PPTX
Immr template studio courseware
PPTX
Haptics Touchscreens
PPTX
presentation on Haptic Technology
PPTX
HAPTIC TECHNOLOGY
PPTX
Haptic Technology Trends Assessment Presentation
PPT
Haptic Technology
PPTX
Haptics ppt
PPTX
HAPTIC_TECHNOLOGY[1].pptx
DOCX
Haptic Technology Trend Assessment Paper
PDF
Haptics for Mobile Devices
PPTX
Haptic technology
DOC
Haptic technology
PPTX
Haptics ppt
PPTX
here we present a presentation on haptic technology
PPTX
Haptic technology
PDF
Putting real feeling into Android Apps
DOCX
EPQ Study(1)
PPTX
UI Slides
Haptics for android
Enhancing the User Experience Through the Sense of Touch
Immr template studio courseware
Haptics Touchscreens
presentation on Haptic Technology
HAPTIC TECHNOLOGY
Haptic Technology Trends Assessment Presentation
Haptic Technology
Haptics ppt
HAPTIC_TECHNOLOGY[1].pptx
Haptic Technology Trend Assessment Paper
Haptics for Mobile Devices
Haptic technology
Haptic technology
Haptics ppt
here we present a presentation on haptic technology
Haptic technology
Putting real feeling into Android Apps
EPQ Study(1)
UI Slides
Ad

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
August Patch Tuesday
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Approach and Philosophy of On baking technology
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
A Presentation on Artificial Intelligence
Group 1 Presentation -Planning and Decision Making .pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
TLE Review Electricity (Electricity).pptx
Programs and apps: productivity, graphics, security and other tools
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Tartificialntelligence_presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
cloud_computing_Infrastucture_as_cloud_p
August Patch Tuesday
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
A comparative study of natural language inference in Swahili using monolingua...
Approach and Philosophy of On baking technology
SOPHOS-XG Firewall Administrator PPT.pptx
Heart disease approach using modified random forest and particle swarm optimi...
Digital-Transformation-Roadmap-for-Companies.pptx

WIP Back to School Webinars - Creating Your Own Haptic Effects

  • 1. Creating custom haptic effects for your Android application Bob Heubel & Richard Mar presenting September 2011 NASDAQ: IMMR ©2011 Immersion Corporation–Confidential 1
  • 2. Agenda – We will answer these questions:  Who is Immersion?  What is haptics?  How can Haptics be applied to Android apps?  What is Immersion‟s MOTIV Platform for Android?  How do you design custom Haptic effects using MOTIV Studio?  How do you code these custom effects into your Android application?  Where do you find additional MOTIV resources?  What is the meaning of life? (time permitting) ©2011 Immersion Corporation–Confidential 2
  • 3. Before we start, you should...  As an experienced Android developer, you should have these tools installed on your machine:  Java SE  Eclipse  Android SDK  Android Developer Tools  And you should have an Android device connected ©2011 Immersion Corporation–Confidential 3
  • 4. Additionally, you will need…  Download latest Immersion MOTIV Studio and MOTIV UHL to your PC from: http://www.immersion.com/MOTIVsdk  Download the latest MOTIV Bridge app from the Android Market to connect your device to MOTIV Studio: https://market.android.com/details?id=com.immersion.designerbridge ©2011 Immersion Corporation–Confidential 4
  • 5. Who is Immersion? ©2011 Immersion Corporation–Confidential 5
  • 6. Company Highlights Immersion: The Haptics Company NASDAQ: IMMR Technology Leader Developing haptics solutions Established in Large and since 1993 Rapidly Growing Markets – Our tech is in 750+ million devices – Mobile phones, game controllers, auto, World Class Customer Base industrial, casino, other portable devices Samsung, Nokia, LG, Sony, Microsoft, Logitech, Lexus, BMW, CAE… Worldwide Support – Offices in EU, Korea, Taiwan, Japan, US & Canada Strong Intellectual Property Portfolio of 1,200+ granted and pending patents in the field of Haptics related to both hardware and software ©2011 Immersion Corporation–Confidential 3
  • 7. What is haptics? ©2011 Immersion Corporation–Confidential 7
  • 8. The science of Haptics Haptics is the science concerned with how people explore their environment through their sense of touch (tactile feedback) Feeling a Feeling a Vs. Haptic real bump simulation of on a a bump on a surface surface Haptic interfaces simulate real-world forces ©2011 Immersion Corporation–Confidential 8
  • 9. The science of Haptics  Role of touch is often underestimated. We rely extensively on touch to perform many tasks, like: – Controlling the movement of objects including our own bodies – Perceiving the world around us through the objects we interact with  Haptic interactions rely on mechanical signals like: – Applied forces – Applied torques – Movement of objects – Geometry and mass of objects – Stiffness and texture of materials  Haptic interfaces use actuators (motors) to create haptic sensations that simulate real-world interactions ©2011 Immersion Corporation–Confidential 9
  • 10. Common Haptic device examples Force-feedback and rumble feedback gaming ©2011 Immersion Corporation–Confidential 10
  • 11. The Benefits of Haptics  Provides an enhanced user-experience that is more engaging, intuitive and personal  On touchscreen devices, Haptics assists in hand-eye coordination--confirming task or data input completion or acceptance by the UI elements  More fun for gaming and entertainment apps  Opens up a new communication channel that can be used with or without audio or visual cues... – Example, using vibe patterns to identify callers without use of sound. – Example, using vibe patterns to as navi-cues to navigate while walking through the city, without the need for looking at your handset GPS map. ©2011 Immersion Corporation–Confidential 11
  • 12. More Examples of Applied Haptics Virtual keypads & “Enzo’s Pinball” by “Solo” by Coding keyboards that feel Haptify let’s you feel Caveman lets you feel like mechanical the pinball collisions, each string of the guitar buttons bumpers & flippers as you strum ©2011 Immersion Corporation–Confidential 12
  • 13. Immersion‟s Haptic Technologies for the Android Platform ©2011 Immersion Corporation–Confidential 13
  • 14. Immersion‟s Haptic technologies  Developer tools and resources (MOTIV SDK) that include the MOTIV Studio effect design tool, the only Haptic design tool with a simple visual GUI  MOTIV Universal Haptic Layer (UHL) that contains a library of 124 pre-made Haptic effects  Software emulator included with MOTIV UHL that allows for a consistent haptic playback experience across all Android devices  Embedded software player technology (TouchSense) for OEMs to use that allows the highest quality Haptic playback possible ©2011 Immersion Corporation–Confidential 14
  • 15. What does the MOTIV Studio do for you?  Allows you to design custom Haptic effects beyond the pre-made 124 effects found in the MOTIV UHL  Allows you to create complex Timelines with multiple vibe components  Allows you to playback/test/iterate your effects on your tethered Android device without needing to compile code  Allows you to reference sounds files displayed as waveforms for playback with your newly designed effects, again, without having to compile your app code  Allows you to export your custom effects in many different developer formats, including Java ©2011 Immersion Corporation–Confidential 15
  • 16. What does the MOTIV SDK do for you?  Saves you time developing effects that feel good across all Android devices and platforms, not just a single device or platform version (1.6 or higher)  Allows you to have more than simple motor on/off vibration control, like ramps, staccato repeats and complicated patterns  Consistent vibe effects across ALL Android devices.  Devices with TouchSense embedded player technology will feel the best (1/4 billion devices to date) but the MOTIV UHL emulator creates compatibility support on all other Android devices. Code once! ©2011 Immersion Corporation–Confidential 16
  • 17. Example – Benefits of MOTIV SDK  Using standard Google vibrate () you must define motor “on” durations for each device type – Not useful, not effective for gaming – Very time consuming to code – Your effect may feel fine on one Android device but horrible on another, due to differences in vibe motors  Using MOTIV, we abstract this level for you – You choose an effect from a library, or design your own – The effect will automatically feel consistent across all devices whether it is an explosion, click, or bounce – The MOTIV Studio & MOTIV UHL combine to give you the only complete Haptic solution for the Android platform ©2011 Immersion Corporation–Confidential 17
  • 18. Adding MOTIV Haptics to an Android application SDK and Studio available at: www.immersion.com/MOTIVsdk MOTIV Bridge: https://market.android.com/details?id=com.immersion.designerbridge
  • 19. Use MOTIV Studio in tandem with UHL You should always use your custom created Haptic effects from MOTIV Studio WITH the MOTIV UHL  If you do not, your custom effects will only playback on Android devices using the Immersion TouchSense player (about half the Android devices)  The MOTIV UHL contains the playback emulator needed to play your custom effects across ALL Android devices, not just those with TouchSense. ©2011 Immersion Corporation–Confidential 19
  • 20. Using Immersion MOTIV Studio ©2011 Immersion Corporation–Confidential 20
  • 21. Let‟s start with an application in mind  We will design three custom effects  We will reference sound files in our design  We will create both simple basis effects and a more Airplane crash complicated timeline effect animation  We will export our effects as Java  We will add these effects to our sample application ©2011 Immersion Corporation–Confidential 21
  • 23. Download resources…  If you have not already, download latest Immersion MOTIV Studio and MOTIV UHL to your PC from: http://www.immersion.com/MOTIVsdk  Download the latest MOTIV Bridge app from the Android Market to connect your device to MOTIV Studio: https://market.android.com/details?id=com.immersion.designerbridge ©2011 Immersion Corporation–Confidential 23
  • 24. Connecting your device to MOTIV Studio  Install MOTIV Studio on your PC and make sure you have the MOTIV Bridge app loaded on your target Android device  Make sure you have your Android device driver installed  Turn on your device and enable the USB debugging mode under your device “Application settings” menu  Plug your device into your PC and use “adb devices” command in your DOS prompt to verify that your device is being recognized by your PC. Once it is, you can launch the MOTIV Studio and your device should be recognized in the Studio device list ©2011 Immersion Corporation–Confidential 24
  • 25. MOTIV Studio Effect Design ©2011 Immersion Corporation–Confidential 25
  • 26. Exported Java from MOTIV Studio These are the three effects we will call from our sample application 26
  • 27. Code Demo: Integrating MOTIV Studio custom effects into the Airplane Crash sample Android application ©2011 Immersion Corporation–Confidential 27
  • 28. You should...  As an experienced Android developer, you should have practical experience with Eclipse and:  Android architecture  The life cycle of components  Event handling  Debugging and application  Deploying an application to a device ©2011 Immersion Corporation–Confidential 28
  • 29. Add UHL to Eclipse project • Extract UHL_x_x_xx.zip somewhere • Copy extracted libImmEmulatorJ.so file to your Eclipse project libs/armeabi folder (create folders if necessary) • In Eclipse, refresh project to see libs/armeabi/libImmEmulatorJ.so • Navigate to Project > Properties > Build Path > Configure Build Path… • Click on Add External JARs… • Browse to location of extracted UHL.jar file For additional information, visit the Immersion website: http://www2.immersion.com/developers/index.php?option=com_ content&view=article&id=495&Itemid=812 ©2011 Immersion Corporation–Confidential 29
  • 30. Create a Device Object  This is a logical representation of the vibe capability of your device. The Device object needs the context of the app as an argument Device = Device.newDevice(context); Create IVTBuffer Object • The IVTBuffer object stores all the IVT data from the effect definition class into a temporary buffer. You must pass the byte array of the java class you exported from MOTIV Studio as an argument to the IVTBuffer constructor. IVTBuffer ivt = new IVTBuffer(myeffects.ivt); ©2011 Immersion Corporation–Confidential 30
  • 31. Play Effect  Play a haptic effect from the IVT device.playIVTEffect(ivt, myeffects.Periodic); Once the Device and IVTBuffer objects are created and initialized, you can play the actual effect by using the playIVTEffect() method. Since one IVTBuffer may contain many effects, an effect index is used to identify the one you wish to play. In the exported Java code, the effect indices are stored as constants. You determine the names of the effects by looking at the Java code.
  • 32. Stop Effect • Stop the haptic effect from the IVT. device.stopAllPlayingEffects(); Close the Device Object device.close(); The Device must be closed after it has been used to play and stop the haptic effects. This ensures that there are no resource leaks in the application. 32
  • 33. In a nutshell, that‟s it! If you can handle the setting up your Eclipse environment and understand the last five slides… Then you should be able to add your cool custom MOTIV Studio effects to your applications. But let‟s review the steps within the Eclipse environment itself through the simple Airplane Crash demo application just to make sure you understand. 33
  • 34. Airplane Crash Demo App Example (within Eclipse) ©2011 Immersion Corporation–Confidential 34
  • 35. Agenda – We will answer these questions:  Who is Immersion?  What is haptics?  How can Haptics be applied to Android apps?  What is Immersion‟s MOTIV Platform for Android?  How do you design custom Haptic effects using MOTIV Studio?  How do you code these custom effects into your Android application?  Where do you find additional MOTIV resources? ©2011 Immersion Corporation–Confidential 35
  • 36. Additional Resources http://www.immersion.com/MOTIVsdk Developer guide http://www.immersion.com/MOTIVguide Reference doc http://www.immersion.com/MOTIVref Sample code http://www.immersion.com/MOTIVcode Forum http://www.immersion.com/MOTIVforum MOTIV Studio (Only for advanced custom effect design) http://www.immersion.com/MOTIVsdk
  • 37. Immersion‟s Got Apps Campaign  Immersion Building a Wall of Haptic Apps for Mobile World Congress (MWC „12) in Barcelona, Spain. – Show us your apps using the Immersion MOTIV UHL SDK and add “Integrated with Immersion MOTIV Haptic Effects” to your description page – Launch in Android Market or any other Android app store – If your app is compelling, we‟ll help you promote it and demo it at Mobile World Congress – Feb 2012 and other tradeshows – AND drive connection to our OEM / Carrier partners  Contact us at MOTIVdev@immersion.com to participate 37
  • 38. Immersion to Promo Your Cool Haptic Apps  Inclusion in Immersion‟s outreach to over 30 major technology & review channels including: – Engadget, PC World, AndroidPolice, Appolicious, VentureBeat/GameBeat, Android Central, etc…  Highlight of your app in Immersion‟s Feature App section of their Developer‟s site (developer.immersion.com)  Inclusion in Immersion‟s publicly issued press releases  Potential inclusion on Immersion promotional videos/animations  Demos to Immersion‟s major OEM partners for bundling opportunties  Inclusion in Immersion demonstrations at upcoming tradeshows and conferences like AnDevCon, MWC, etc. ©2011 Immersion Corporation–Confidential 38
  • 39. Thank you! Bob Heubel & Richard Mar presenting September 2011 NASDAQ: IMMR ©2011 Immersion Corporation–Confidential 39

Editor's Notes

  • #19: Immersion provides Android developers with a Universal Haptic Layer (UHL) that includes a library of 124 prebuilt haptic effects. You can also use Immersion’s MOTIV Studio to easily create your own custom haptic effects. MOTIV Studio works in tandem with MOTIV Bridge to allow you to test effects on an Android device.
  • #26: Switch to MOTIV Studio and create effects for export, referencing the sound files too in Timelines.
  • #35: Switch over to Eclipse to run through the actual steps in the code.
  • #38: Immersion is looking to build a wall of devices as well as a wall of applications for Mobile World Congress. We would like to add more application demos to our devices as well as showcase to our OEM partners for potential bundling opportunities. We are getting more and more demand for haptic applications in the market place and from our partners. Developers can contact us through the MOTIVdev@immersion.com if they have a cool Haptic app to tell us about.
  • #39: These are some but not all the various activities and co-marketing efforts Immersion is willing to invest in compelling applications. We make a lot of effort to showcase new and exciting applications from developers.