1 / 21

Mobile Consumer Experience: designing for fast response time

Mobile Consumer Experience: designing for fast response time. OSCON 2013 David 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.

ellie
Download Presentation

Mobile Consumer Experience: designing for fast response time

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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)

  3. 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)

  4. Challenges - UX “3 seconds is the limit. 57% of consumers will abandon after 3 seconds of delay”1 “Bad designed websites and slow loading times are causing ‘web stress’ for internet users”2 1. http://www.strangeloopnetworks.com/resources/infographics/web-stress/poster/ 2. http://www.thestrategyweb.com/neurological-study-bad-websites-causing-web-stress

  5. Challenges - Mobile • Mobile Network • Unreliable, High Variability in latency and bandwidth • Switch 3g/Wifi Source: http://blog.davidsingleton.org/mobiletcp/ (2011)

  6. Challenges - Mobile • Device fragmentation • Deployment: no-control over Updates

  7. Your current thoughts: I know all of these, so, what is your proposal?

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

  9. Prepare Data: Decouple Backend logic from presentation into two layers

  10. Presentation Layer Services requests 3rd party services Services requests Backend logic Load Balancer …… Caching & Syndication Cache and DB syndication

  11. 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

  12. Be cache-ful: • Data as close to the device helps response time • Minimizes data transfer

  13. Data design: Design and enable strong caching strategy

  14. Date Design - Key Task • Split data flows into general and user specific • Adapt General Data with user specific at Presentation layer

  15. Application details • Skeleton cached • Asynch call for specific info

  16. Identify Caching Points • Device Network: • Carrier Caching • Proxies CDN with WW Coverage User Caching Presentation Layer Cache by period of time User Caching Caching & Syndication User Caching Cache and DB syndication Caching Point General Data User Specific Data

  17. 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)

  18. 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

  19. Remember! Always check performance on the client

  20. Q&A

  21. Thanks! david.r.elfi@intel.com @elfoTech

More Related