Building for the Next Billion: An Android Developer's Guide

If you like this presentation – show it...

Slide 0

1.4 BILLION Android users in the world How do we get to the next billion? YATIN TALUJA ANDROID DEVELOPER, SOCIALCOPS www.socialcops.com

Slide 1

OUR AVERAGE USER PROMILA •  7th Class Pass •  Can speak, read & write only in Marathi •  Lives In Raigadh in Rural Maharashtra •  Average user of our Android App Collect •  This is her first interaction with a smartphone

Slide 2

OUR DAILY CHALLENGES UI/UX for the next billion Low End Devices Poor Infrastructure

Slide 3

46k 30mn Lines of Code written Data points Collected 50+ 7+ Field Visits & Trainings Developing countries Here’s what we’ve learnt about building for the next billion

Slide 4


Slide 5


Slide 6


Slide 7

INCLUDE LOCAL LANGUAGE CAPABILITY •  Android officially supports 47 languages and as input using keyboard it supports 86 languages and 52 languages via handwriting. •  Save translations of words into the app for different languages. •  Allow user to download different languages for inputing text using phone settings. •  Handwriting is another new feature where you can just write in the way you write on paper and it will automatically convert that to digital text.

Slide 8

DON’T MAKE USERS WAIT •  Prefetch Data •  Run Background Threads for complex operations

Slide 9

OPTIMIZE FOR LOW MEMORY Use allocation tracker for keeping track for memory taken by each object •  This library by Square which will give you information about memory leak (https://github.com/square/ leakcanary) • 

Slide 10

OPTIMIZE FOR SCREEN SIZE dp(Density independent Pixels) → 1 dp = 1 physical px for 160 dpi, and for 240 dpi 1 dp = 1.5 physical px. → px = dp * (dpi/160) /// dp table

Slide 11

REDUCE BATTERY CONSUMPTION •  Battery consumption is directly proportional to network calls, thus choose between network calls wisely •  Observe and Optimize (Use tools like Battery Historian)

Slide 12

CHOOSING BETWEEN NETWORK CALLS •  Edge takes long time to perform network operation, but takes less battery •  Wifi takes less time to perform network operation, but take more battery than edge •  3g will take more time to perform network operation than Wifi, and also consumes more battery than Wifi. •  4g will take less time to perform network operation than Wifi, and also consumes less power than 3g.

Slide 13

PATIENCE IS A VIRTUE. •  Persist. •  Be patient. •  Be determined. Good Code will fix all problems ;)

Slide 14

#Android4India @Social_Cops Fb.com/SocialCops www.socialcops.com

Slide 15