building for the next billion: an android developer's guide

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

Upload: socialcops

Post on 06-Jan-2017

5.902 views

Category:

Mobile


0 download

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

Poor Infrastructure

Low End Devices

UI/UX for the next billion

OUR DAILY CHALLENGES

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

USE COLOURS WELL

LOVE ICONS? RETHINK IT.

KEEP INTERACTIONS MINIMAL

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.

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

operations

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.

PATIENCE IS A VIRTUE. •  Persist.

•  Be patient. •  Be determined.

Good Code will fix all problems ;)

#Android4India @Social_Cops

Fb.com/SocialCops

www.socialcops.com