Mobile Performance: for excellent User Experience



Similar documents
Porting Existing PhoneGap Apps to Tizen OS - Development Story

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

ios Hybrid Mobile Application Development

Speed up your web site. Alan Seiden Consulting alanseiden.com

AJAX: Highly Interactive Web Applications. Jason Giglio.

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory

A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS

Following statistics will show you the importance of mobile applications in this smart era,

Update logo and logo link on A Master. Update Date and Product on B Master

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Bridging the Gap: from a Web App to a Mobile Device App

Progressive Enhancement With GQuery and GWT. Ray Cromwell

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Let s Take the Mobile Out of Web Development

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

SYST35300 Hybrid Mobile Application Development

Enterprise Mobile Application Development: Native or Hybrid?

Our software strategy

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Responsiveness. Edith Law & Mike Terry

Firefox for Android. Reviewer s Guide. Contact us: press@mozilla.com

WebCenter User experience. John

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

Website Performance: Kyle Simpson

THE AKAMAI SERVICE CONSULTING PACKAGE 10FOR10 IMPROVES YOUR WEB PERFORMANCE METRIC(S) BY AT LEAST 10%! AKAMAI 10For10 AKAMAI INDUSTRY BROCHURE

QML and JavaScript for Native App Development

Mobile Technique and Features

Meeting the challenges of modern website performance Developments in monitoring strategies

slides at goo.gl/kifue

Advanced Online Media Dr. Cindy Royal Texas State University - San Marcos School of Journalism and Mass Communication

Take full advantage of IBM s IDEs for end- to- end mobile development

Front-End Performance Testing and Optimization

Web Apps The Next Generation

Making Sense of Mobile Development Options. Luis Sala Director, Technology

Product description version

Programming in HTML5 with JavaScript and CSS3

ECG-1615A. How to Integrate IBM Enterprise Content Management Solutions With Microsoft SharePoint and IBM Connections. elinar.com

Technical Support System

Designing Mobile Experiences: Building Mobile Web Sites and Apps

Credits: Some of the slides are based on material adapted from

Crosswalk: build world class hybrid mobile apps

Uniface Road Map and Product Update Michael Taylor Product Manager

Upgrade to Microsoft Web Applications

Developing ASP.NET MVC 4 Web Applications

Generate Android App

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

The State Legislature Online Tech Landscape

Ajax Design and Usability

HTML5 / NATIVE / HYBRID

50 shades of Siebel mobile

Making the Most of Existing Public Web Development Frameworks WEB04

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

Platform Independent Mobile Application Development

Intel XDK для разработки кросс-платформенных мобильных приложений

Implementing Mobile Thin client Architecture For Enterprise Application

Sage CRM. Sage CRM 2016 R1 Mobile Guide

Web-based Hybrid Mobile Apps: State of the Practice and Research Opportunities

Visualizing an OrientDB Graph Database with KeyLines

FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED

Why Mobile Performance is Hard

Advertising Specifications, Standards and Guidelines

Client-side Web Engineering From HTML to AJAX

Choosing a Mobile Strategy for Your Business

Visualizing a Neo4j Graph Database with KeyLines

Tizen Web Runtime Update. Ming Jin Samsung Electronics

Expert Android Apps Development

Magento Performance Optimization Whitepaper

ORACLE APPLICATION EXPRESS 5.0

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Application Performance: Test Strategies & Enhancement through WPO

What s new in Access 2013

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

Beginning Mobile Application Development in the Cloud

WP Popup Magic User Guide

Navigating the Mobile App Development Landscape

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Computer Science Course Descriptions Page 1

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

Web Performance. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 2014/15. Sérgio Nunes

Web Based 3D Visualization for COMSOL Multiphysics

Client requirements. Engagement Situation

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

ios App Development Using Cordova

Designing Mobile Experiences: Building Mobile Web Sites and Apps

2012 AKAMAI FASTER FORWARD TM

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

Performance Optimization and Debug Tools for mobile games with PlayCanvas

GeoInt 2015 Watson Workshop

Whitepaper. Trans. for Mobile

WompMobile Technical FAQ

Accelerating Wordpress for Pagerank and Profit

Native, Hybrid or Mobile Web Application Development

Web application Architecture

603: Enhancing mobile device experience with NetScaler MobileStream Hands-on Lab Exercise Guide

Coding for Desktop and Mobile with HTML5 and Java EE 7

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Transcription:

Mobile Performance: for excellent User Experience Suyash Joshi @suyashcjoshi Mobile UX Developer 1

A quick audience survey... 2

Overview of Presentation 1st half: Mobile Web Performance Optimization (WPO) practices for TIZEN Mobile Web Framework developers 2nd half: Examples and inspiration for Mobile Perceived Performance for Designers and Developers 3

TIZEN : Being developed using open source web technologies www.tizen.org 4

TIZEN : A True Hybrid Mobile Platform Hybrid App User Interface Webview (pseudobrowser) Mobile Web App Native Mobile App Mobile Browser Native platform widgets and components HTML as a 1 class citizen st 5 Technical stack Web + Native (e.g Cordova) Web only Native only Programming language HTML5, CSS3, JavaScript HTML5, CSS3, JavaScript (latest) C, C++, Objective C, Swift, Java, C#, Visual Basic etc

Why care about Mobile Performance? It will make you a better Software Developer and your boss will like you even more! Source: KissMetrics Infograph Because it affects your bottom line (conversion rate) Because it affects your SEO performance Because it affects your overall app UX 6

Mobile Web Performance: The fundamentals 7

WPO Basics: We need to do more for mobile Pre-requisite! 8

Mobile Perf: User Expectations are High! '85% of mobile users expect mobile pages to load fast or faster then web pages' - Strangeloop Networks 9

Latency 10

HTML5 API for TIZEN : Network Information API 11

HTML5 API for TIZEN : Network Information API 12

HTML5 API for TIZEN : Browser State API - Helpful for Single Page Application Architecture - No more # in the urls and ugly state management for AJAX based content - Live Demo: http://html5doctor.com/demos/history/ var currentstate = history.state; history.replacestate() // update on partial page load // Store the initial content so we can revisit it later history.replacestate({ content: contentel.textcontent, photo: photoel.src }, document.title, document.location.href); 13

HTML5 API for TIZEN : Navigation Timing API 14

HTML5 API for TIZEN : Page Visibility API 15

HTML5 API for TIZEN : Page Visibility API 16

Don't kill the battery! 17

HTML5 API for TIZEN : Battery Status API 18

HTML5 API for TIZEN : Web Workers (partial) 19

Faster JS perf: Write your own JS library => Avoid Bulky Frameworks : Less is More Parsing JS can take 1ms per KB (uncompressed) so you can do the math! Remember DOM is slow 20

Faster JS perf: Execute code in 'async' Source: Patrick Meenan's talk on Mobile Web Performance 21

Faster DOM perf: Avoid repaint's and reflow's 22

Images : Reduce bytes & HTTP Requests Source: HTTP Achieve Mobile Trends '2013 23

Images : Reduce bytes & HTTP Requests Don't: - Load the desktop image on mobile device and try to scale it - Detect UA and request for different image sizes at arbitrary times Do: - Prefer to use Scalable Vector Graphics for your visual assets - Create SVG/PNG sprite sheets, font-icons for smaller graphics - Lazy Load images (png, webp etc) if needed - Compress images losslessly before sending down to client using tool like ImageOptim 24

A case for Perceived Performance: bridging the gap between Native and HTML5 25

User's Perception is their Reality Source: http://www.w3.org/tr/di-princ/ 26

Make it Snappy: Touch Events & :active states Using Touch Event 27 Using Click Event

Make it Snappy: Touch Events & :active states Add Touch State to your buttons using DOM events for touch devices: document.addeventlistener("touchstart", function(){}, true) Remove tap highlights using css: -webkit-tap-highlight-color: rgba(0,0,0,0); x 28

CSS3 on the GPU : momentum scrolling w/o JS No Hardware scrolling 29 With Hardware scrolling

CSS3 on the GPU : momentum scrolling w/o JS DO: - Use CSS3 overflow scrolling property to get native momentum scrolling -webkit-overflow-scrolling: touch; DON'T: - Use JavaScript library such as iscroll or write your own scrolling solution 30

CSS3 over JS: animations & transformations Animations Should Move at 60fps : Each frame should take no longer than 16ms to complete Everything Else Should Respond <= 100ms 31

Don't forget the Loading Indicator (wait times between 100ms - 250ms) No Loading Indicator 32 With Loading Indicator

Use more Gestures for richer UX Gesture #1. Side-to-Side Swiping Gesture #2. Pull-to-Refresh Gesture #3. Long Press -webkit-touch-callout: none; Gesture #4. Pinch-Zoom 33

Tools and Resources for performance 1. TIZEN W3C/HTML5 API Reference: https://developer.tizen.org/dev-guide/2.2.1/org.tizen.web.w3c.apireference/w3c_api.html#visibility 2. Performance Measurement: webpagetest.org 3. Page Speed Insights with UX: https://developers.google.com/speed/pagespeed/insights/?url=www.tizen.org 4. Learn about HTML, CSS, JS from MDN: developer.mozilla.com 4. HTML5 Mobile API's Matrix: http://mobilehtml5.org/ 5. Check for CSS3 Property support: www.caniuse.com 34

Thank you I'd love your feedback, comments, questions! Suyash Joshi Mobile UX Developer suyash@suyashjoshi Twitter: @suyashcjoshi 35