Droidcon India 2014

Droidcon India’s fourth edition

Enriching your App's UI with SimpleFingerGestures

Submitted by Arnav Gupta (@championswimmer) on Sunday, 12 October 2014

videocam_off

Technical level

Beginner

Section

UI - full talks

Status

Submitted

Vote on this proposal

Login to vote

Total votes:  +12

Objective

Making your App stand out from competitiors can be tough. Often the UI makes the difference, especially how the users are interacting with the app. Users want intuituve and easy control over the app, and you want to cram in as many options as possible while keeping simple.
The most successful solution to improve UI is to implement touch gestures like (Un)pinch, 1/2/3/4-finger drags, swipes, flicks, single/double/triple-taps etc.
The open-souce and free to use SimpleFingerGesture library enables you to implement all such multi-touch gestures in your app UI with only a couple of lines of code.

Description

I initially made SimpleFingerGesture just as a helper for some of my apps. I put it up on Github, as I by default do with most of my hobby projects. Lo and behold, 6 months later, around 50 apps on the play store use this library.
SimpleFingerGesture lets you implement some gestures like
1. Pinch, Unpinch (with 2 to 4 fingers)
2. 1-finger, 2-finger, 3-finger, 4-finger swipes (up, right, left, down)
3. double, triple taps

The functionality of the library itself can be extended to add support for other gestures. The code of the Library itself is also very easy to understand, and uses simple OnTouchListener API from Android.
Most of the popular apps like those from Google, Facebook, Twitter etc use gestures like pinch-zoom, swipe down to refresh etc. And now you can too. Adding support for each such gesture will be under 5 lines of code.

Basically I have a flexible structure in mind. If I get a 15 min slot for a crisp talk (which I am not averse to), I can cover
a) How to use my library
b) How to extend the functionality of my library

If I am allowed a 40 min slot (which I would absolutely love to get), I would like to cover, other than the aforementioned,
c) Where to use gestures, where to not.
d) Which gestures can be used where, based on the user’s intuitiveness
e) Small details in UI flow that can help you direct your users without letting them know you are manipulating them (dark patterns, and their converse)

Requirements

An android development environment of your choice, and a device/emulator of your choice, running any version of android above 2.1 (eclair).

Speaker bio

Currently pursuing a Bachelor’s degree in Electrical and Electronics Engineering at Delhi Technological University, while also working at Cube26 as an Android Framework Engineer.
I have been a Developer and Device Maintainer at CyanogenMod and AOKP, making the latest Android source work on Sony Xperia devices, while adding awesome usability features that make users fall in love. A couple of features I have written have also made their way into Google’s Android Open Source Project, and can be found in Kitkat and Android L.
I have been a Open Source community partner with Sony Mobile for the last two years, which basically means I get the latest Xperias to hack around with as soon as they are launched.
At Cube26, I have been part of the team that made many contextually smart UI/UX enhacements for the Micromax Canvas A290, A310, A315 series of phones.
I am also an open source enthusiast with contributions to Linux, GNOME, Arduino, Android and other open source projects.
I was invited as a speaker at Mobile Developer Summit 2014 hosted by Saltmarch Media.

Links

Comments

  • 1
    Umang Jaipuria (@umangjaipuria) 4 years ago

    Is this talk only about how to use your library? Is this something I cannot learn myself from the documentation?

    I’d love to see some coverage of HCI and UX principles in using gestures.

    • 1
      Arnav Gupta (@championswimmer) Proposer 4 years ago

      Basically I have a flexible structure in mind. If I get a 15 min slot for a crisp talk (which I am not averse to), I can cover
      a) How to use my library
      b) How to extend the functionality of my library

      If I am allowed a 40 min slot (which I would absolutely love to get), I would like to cover, other than the aforementioned,
      c) Where to use gestures, where to not.
      d) Which gestures can be used where, based on the user’s intuitiveness
      e) Small details in UI flow that can help you direct your users without letting them know you are manipulating them (dark patterns, and their converse)

      • 1
        Umang Jaipuria (@umangjaipuria) 4 years ago

        Sounds good. Could you please mention this in the description? It will help during the selection process. Thanks!

  • 1
    Arnav Gupta (@championswimmer) Proposer 4 years ago

    Proposal Review Summary

    Problem Statement

    We will try to solve an important challenge of UI/UX design - that is to provide the user with options and actions at his finger tips, without confusing him. User’s want the content foremost, but also want to be able to act on it intuitively without having to go through hoops and loops of menus and settings.

    Layout/Flow of Talk

    • Examples of common gesture based implementations on popular apps
    • Where we can use swipes, flicks, drags, pinches etc
    • Appropriate usage of single and multiple finger gestures
    • How touch based gestures are implemented through Android’s OnTouchListener
    • The SimpleFingerGesture library - an overview
    • Using SimpleFingerGestures to implement gestures on your Apps
    • Extending the library to create your custom gestures.
    • Making the user do what you want, preventing what you don’t

    Target Audience

    App developers intending to create great User Interfaces and User Experience patterns. Interactive Design people can also get an understanding of how touch gestures work at a technical level on Android.

    Take away

    Code examples, a reusable library/wrapper with a nice API for implementing touch gestures

Login with Twitter or Google to leave a comment