Mobile Consumer Experience: designing for fast response time OSCON 2013 David Elfi Intel.

21
Mobile Consumer Experience: designing for fast response time OSCON 2013 David Elfi Intel

Transcript of Mobile Consumer Experience: designing for fast response time OSCON 2013 David Elfi Intel.

Mobile Consumer Experience: designing for fast response time

OSCON 2013David Elfi

Intel

Introduction

• Working for AppUp since its conception• More than 3 years of experience on

application store businesses for different devices and areas (Consumers, Enterprise, Developers)

Motivation

• Mobile applications present several challenges related to performance

• Scope: Data driven applications• This talk is based on the experience collected

in the development of Tizen Common Store (v0.5)

Challenges - UX

“3 seconds is the limit. 57% of consumers will abandon after 3 seconds of delay”1

1. http://www.strangeloopnetworks.com/resources/infographics/web-stress/poster/ 2. http://www.thestrategyweb.com/neurological-study-bad-websites-causing-web-stress

“Bad designed websites and slow loading times are causing ‘web stress’ for internet users”2

Challenges - Mobile• Mobile Network– Unreliable, High Variability in

latency and bandwidth

– Switch 3g/Wifi

Source: http://blog.davidsingleton.org/mobiletcp/ (2011)

Challenges - Mobile

• Device fragmentation• Deployment: no-control over Updates

Your current thoughts:

I know all of these, so, what is your proposal?

• Hybrid application:–Beta testing–Make use of platform capabilities: HTML5–Out of the box caching capabilities–Deals with different devices

Prepare Data: Decouple Backend logic from presentation into two

layers

Presentation Layer

Cache and DB syndication

Caching &Syndication

……

Backend logic

3rd party services

Services requests

Services

requests

Load Balancer

Comparing Presentation Layer

• Pros– Adapt the data to be cached according to UX– Services mash ups just for presentation– Horizontal scalability– Specialized teams (Backend vs Presentation +

FrontEnd)• Cons– More infrastructure to maintain– More pieces to join for a single application

• Be cache-ful: –Data as close to the device helps response

time–Minimizes data transfer

Data design: Design and enable strong caching strategy

Date Design - Key Task

• Split data flows into general and user specific– Adapt General Data with user specific at

Presentation layer

• Application details– Skeleton cached– Asynch call for specific info

Identify Caching PointsPresentation Layer

Cache and DB syndication

Caching &Syndication

User Caching

User Caching

User Caching

CDN with WW Coverage

Device Network:• Carrier Caching• Proxies

Cache by period of time

Caching PointGeneral DataUser Specific Data

Results

• Be cache-ful using Presentation Layer– Immediate response time (warm start)– Cold start: CDN publishing minimizes round trip– Reduce data transfer (almost 50%)

• Hybrid application– Continuous development– Minimize Testing resources (AB Testing)

Network Optimization

• CDN caching static and “dynamic” content• Minimum number of HTTP requests• Optimize CSS/JS files• Avoid HTTPS for public data (cost/configuration)– Sign resources in case you want to validate source

• Zip data transfers (HTTP compression + packages to be installed)

• HTTP Pipelining

Remember!

Always check performance on the client

Q&A