Slide 1

Slide 1 text

Design Patterns for Building Network Agnostic Android Apps

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

“India has a fastest & widest network which works perfectly from Shimla to Tamilnadu ”

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

LTE vs 2G

Slide 11

Slide 11 text

LTE vs 2G

Slide 12

Slide 12 text

What is a network agnostic mobile app?

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Cacheable content with Time-To-Live

Slide 18

Slide 18 text

Server adds TTL info in all responses Cacheable content with Time-To-Live

Slide 19

Slide 19 text

Server adds TTL info in all responses Client uses cache data if valid Cacheable content with Time-To-Live

Slide 20

Slide 20 text

Server adds TTL info in all responses Client uses cache data if valid Can extend to ignore network response Cacheable content with Time-To-Live

Slide 21

Slide 21 text

Cacheable content with Time-To-Live

Slide 22

Slide 22 text

Cacheable content with Time-To-Live

Slide 23

Slide 23 text

Content Versions, 304 responses

Slide 24

Slide 24 text

Fetch only if content changed Content Versions, 304 responses

Slide 25

Slide 25 text

Fetch only if content changed Useful for categories, navigations, etc., Content Versions, 304 responses

Slide 26

Slide 26 text

Fetch only if content changed Useful for categories, navigations, etc., Useful for rarely changing content Content Versions, 304 responses

Slide 27

Slide 27 text

Content Versions, 304 responses

Slide 28

Slide 28 text

Content Versions, 304 responses

Slide 29

Slide 29 text

Prefetching, Updating in background

Slide 30

Slide 30 text

Progressive Web Apps follow this approach Prefetching, Updating in background

Slide 31

Slide 31 text

Progressive Web Apps follow this approach Can download much in WiFi and avoid data Prefetching, Updating in background

Slide 32

Slide 32 text

Progressive Web Apps follow this approach Can download much in WiFi and avoid data Can provide offline experience Prefetching, Updating in background

Slide 33

Slide 33 text

Prefetching, Updating in background

Slide 34

Slide 34 text

Prefetching, Updating in background

Slide 35

Slide 35 text

Deferred actions and lazy reports

Slide 36

Slide 36 text

Most of the actions are not time critical Deferred actions and lazy reports

Slide 37

Slide 37 text

Most of the actions are not time critical Responses for few actions are not critical Deferred actions and lazy reports

Slide 38

Slide 38 text

Most of the actions are not time critical Responses for few actions are not critical Seamless experience to users Deferred actions and lazy reports

Slide 39

Slide 39 text

Deferred actions and lazy reports

Slide 40

Slide 40 text

Deferred actions and lazy reports

Slide 41

Slide 41 text

Client side feed generation

Slide 42

Slide 42 text

Client side feed generation

Slide 43

Slide 43 text

Client side feed generation

Slide 44

Slide 44 text

Client side feed generation

Slide 45

Slide 45 text

Client side feed generation

Slide 46

Slide 46 text

Client side feed generation

Slide 47

Slide 47 text

SMS / USSD based transactions

Slide 48

Slide 48 text

SMS / USSD based transactions

Slide 49

Slide 49 text

SMS / USSD based transactions

Slide 50

Slide 50 text

Prefetch & Pull notifications

Slide 51

Slide 51 text

Periodic fetch of notifications Prefetching & pull notifications

Slide 52

Slide 52 text

Periodic fetch of notifications Includes timestamp for showing and expiry Prefetching & pull notifications

Slide 53

Slide 53 text

Periodic fetch of notifications Includes timestamp for showing and expiry Reduces dependency on unreliable Push infra Prefetching & pull notifications

Slide 54

Slide 54 text

Prefetching & pull notifications

Slide 55

Slide 55 text

Target ready notifications, messages

Slide 56

Slide 56 text

Load resources for landing page before notify Target ready notifications, messages

Slide 57

Slide 57 text

Load resources for landing page before notify Enables immediate landing to target page Target ready notifications, messages

Slide 58

Slide 58 text

Load resources for landing page before notify Enables immediate landing to target page Improved experience in slow networks Target ready notifications, messages

Slide 59

Slide 59 text

Target ready notifications, messages

Slide 60

Slide 60 text

t.uber.com/indiaengcareers t.uber.com/blr_site

Slide 61

Slide 61 text

Thanks! Arun Babu A S P Senior Android Engineer @ Uber https://www.linkedin.com/in/arunasp/

Slide 62

Slide 62 text

Credits Presentation template by slidescarnival.com