building for the next billion: an android developer's guide
TRANSCRIPT
1.4 BILLION Android users in the world
How do we get to the next billion?
YATIN TALUJAANDROID DEVELOPER, SOCIALCOPSwww.socialcops.com
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
OUR AVERAGE USER
Here’s what we’ve learnt about building for the next billion
Lines of Code written
Data pointsCollected
Developing countries
30mn
7+
46k
50+
Field Visits & Trainings
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.
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)
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
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)
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.