Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | justin-sherman |
View: | 216 times |
Download: | 0 times |
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)
• Hybrid application:–Beta testing–Make use of platform capabilities: HTML5–Out of the box caching capabilities–Deals with different devices
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
Date Design - Key Task
• Split data flows into general and user specific– Adapt General Data with user specific at
Presentation layer
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