Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developing Application for Billions

Developing Application for Billions

Talk delivered in "eChai UI/UX Forum" aka "App Clinic" held on 16th July, 2016 @ ACPC Building, Gujarat Technical University

Enjoy actual presentation with GIFs https://goo.gl/eavoHC

Paresh Mayani

July 18, 2016

More Decks by Paresh Mayani

Other Decks in Technology


  1. Splash Screen - Have a solid branding logo and tagline

    - Utilize splash screen loading time efficiently - Load data required on home page Otherwise Don’t put a splash screen (Don’t display just for the sake of displaying)
  2. Intro screen Have an introduction screen (When needed) Display it

    for a single time Source: http://goo.gl/ObCeqt
  3. Effective API Design Send only required fields and avoid unnecessary

    details Most of the time enemy is Select * query Can optimize APIs with “Expiry date” or “Last updated” date
  4. Make your users busy Display something to read (Check splash

    screen where we displayed Quote) Cache data and display it when required Important: Display whatever data you have, meanwhile fetch required data
  5. Make your users busy Loading and Displaying Data poor way

    Loading available data quickly + Delighting user with animation and transition
  6. Check Internet Connection User is filling up some form and

    after User press Submit.. “No internet connection...”
  7. Check Internet Connection User is filling up some form and

    after User press Submit.. “No internet connection...” Why not notify user about connection in real time ? This could be handled prettily using SnackBars or others.
  8. Handling Form Validations User forgot to put a dot “.”

    in email field and he is way filling out rest of the fields and he is not aware of it. He presses Submit action and boom “Please enter a valid email” that boring message hits the User Instead you could disable the button until all form fields are valid
  9. Caching Data Effective cache controls will dramatically reduce server load

    Cache data as much as possible, why? - Less number of web requests => No use of network radio => Improved battery life - Important: It will make user busy in reading something while loading new set of data Important: Don’t assume everyone has high speed connection in the world!
  10. Image Loading ImageView is 120x120 and image resolution is 1024x768

    Purely injustice Bitmap should be downscaled. Use some popular libraries like Glide. They provide caching mechanism, downscaling, thumbnailing, transformations, and what not.
  11. Image Loading Load only required size image Cache images Use

    libraries like Fresco, Glide, Picasso
  12. Load image(s) priority wise Note: Not a performance tip but

    a good practice in loading UI Picasso library provides functionality to prioritize the image loading through priority(). priority() takes one of three constants, HIGH, MEDIUM, or LOW
  13. Don’t wait for users to submit crash reports At that

    moment when your users reporting App is getting crashed
  14. Don’t wait for users to submit crash reports You would

    not come to know about crashes being faced by users, until they submit voluntarily Then how to get it automatically? Use tools like Crashlytics, Crittercism, ACRA
  15. Version Control System Project should be kept under version control

    system Open source projects are using Git Follow Git branching work • Gitflow workflow • Feature branch workflow Follow development process via PR(Pull Requests)
  16. Localization - an easy way How? Do you know strings.xml?

    Define a string with common name but different values in different values folder
  17. Thank You Paresh Mayani Founder/Organizer, GDG Ahmedabad Technical Lead -

    Android @ Lets Nurture Infotech Pvt. Ltd. Application Architect @ KarConnect +PareshMayani @pareshmayani [email protected]