SlideShare a Scribd company logo
User Perceived
Performance
Mike North
Ember.js SF Meetup - 8/25/2015
@MichaelLNorth
github.com/mike-north
@MichaelLNorth
Hi
Ember @ Yahoo
• LOTS of Ember Apps
• ~70 Ember-focused developers
• A “flagship” app that ’s huge (70K lines JS)
• An internal add on ecosystem
//TODO
• What is user-perceived performance?
• Instrumenting & Measuring
• Lessons learned from large ember apps @ Yahoo
• UX tricks for perception of responsiveness
What is User Perceived
Performance?
User Perception
< 100ms Feels “instantaneous”
< 1,000ms Keep flow of thought
< 10,000ms Keep attention
SPA Performance
• Server deals only w/ JSON
• Incremental changes instead
of boiling the ocean
• Control over UX of loading/
transitions
• Initial page load is longer
• Slowness appears to be in the
UI
• API loses context
ADVANTAGES CHALLENGES
Perf Matters
↑ 1.0s Page Load ↓ $1.6B /Year
↑0.4s Search Load ↓ 8,000,000 Searches/Day
How do we measure it?
System-Wide Instrumentation
@MichaelLNorth
APIDB
Caching /
Indexing
Asset Serving
Networking /
Infrastructure
Where do we start?
Client
System-Wide Instrumentation
API
DB DB
Network UI
System-Wide Instrumentation
API
DB DB
Business logic
API
DB DB
Network UI
System-Wide Instrumentation
R
Transition
Render
R
Render
R
Route A
RouteB
UI
System-Wide Instrumentation
R
Transition
Render
R
Render
R
Route A
RouteB
ember-perf
API
DB
{
meta: {}
}
DB
System-Wide Instrumentation
ember-perf
R
Transition
Render
R
Render
R
Route A
RouteB
API
DB
API
DBDB
Other tools
• Browser profiler, timeline and network tab
• Ember inspector
• Take rendering speed numbers with a grain of
salt
#Protips
Project Setup
• Enable gzip compression
• Load images @ the size you need, and compress
them
• Keep up to date on the framework releases
Ember Performance
• Have an awareness of the cost of data
• Load what you need
• ?per_page=200
• Pretender is your friend
• It’s ok to keep loading stragglers
Pretender
Ember Performance
• Scrutinize observers
• Avoid {{{ known slow things }}}
• Find and squash re-renders
• this.set() in didInsertElement
Ember Performance
/companies/1
CompaniesShow
/api/companies/1
/api/companies/1/employees
CompaniesShowEmployees
180ms
220ms
400ms
Ember Performance
/companies/1
CompaniesShow
/api/companies/1
/api/companies/1/employees
CompaniesShowEmployees
180ms
220ms
220ms
For the waits you can’t
conquer…
UX Tricks
UX Tricks
• Background tasks
UX Tricks
• Make waiting more interesting
Loading…
Thanks for
waiting, we’re
almost done!
Just a few
more
moments…
Yay! Your thing
is ready!
GET THING
UX Tricks
• Get something on the screen
immediately
• Use “dummy content”
• Smooth and honest progress
bars
ember-load
Addons
ember-load
ember-perf

More Related Content

What's hot (20)

PDF
Modern javascript
Kevin Ball
 
PDF
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 
PDF
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
 
PDF
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
ServerlessConf
 
PPTX
How NOT to get lost in the current JavaScript landscape
Radosław Scheibinger
 
PDF
Deployment Nirvana
Adrian Pike
 
KEY
Cloud tools
John McCaffrey
 
PDF
Serverless Summit - Quiz
CodeOps Technologies LLP
 
PDF
Flexible UI Components for a Multi-Framework World
Kevin Ball
 
PPTX
Our First ADF Experience
Hans De Bal
 
PPTX
JustLetMeCode-Final
David Persing
 
PDF
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
CodeOps Technologies LLP
 
PDF
Ohio Devfest - Visual Analysis with GCP
Wesley Workman
 
PPTX
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
Sencha
 
PDF
Intro to React
Jamal Sinclair O'Garro
 
PDF
Spinnaker Microsrvices
Ambassador Labs
 
PPTX
Evolving Services Into A Cloud Native World
Iain Hull
 
PDF
Creating Event Driven Serverless Applications - Sandeep - Adobe - Serverless ...
CodeOps Technologies LLP
 
PDF
Patrick Debois - From Serverless to Servicefull
ServerlessConf
 
PDF
EmberCLI Rails: An Integration Love Story.
Jonathan Jackson
 
Modern javascript
Kevin Ball
 
Donald Ferguson - Old Programmers Can Learn New Tricks
ServerlessConf
 
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
 
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
ServerlessConf
 
How NOT to get lost in the current JavaScript landscape
Radosław Scheibinger
 
Deployment Nirvana
Adrian Pike
 
Cloud tools
John McCaffrey
 
Serverless Summit - Quiz
CodeOps Technologies LLP
 
Flexible UI Components for a Multi-Framework World
Kevin Ball
 
Our First ADF Experience
Hans De Bal
 
JustLetMeCode-Final
David Persing
 
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
CodeOps Technologies LLP
 
Ohio Devfest - Visual Analysis with GCP
Wesley Workman
 
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
Sencha
 
Intro to React
Jamal Sinclair O'Garro
 
Spinnaker Microsrvices
Ambassador Labs
 
Evolving Services Into A Cloud Native World
Iain Hull
 
Creating Event Driven Serverless Applications - Sandeep - Adobe - Serverless ...
CodeOps Technologies LLP
 
Patrick Debois - From Serverless to Servicefull
ServerlessConf
 
EmberCLI Rails: An Integration Love Story.
Jonathan Jackson
 

Similar to User-percieved performance (20)

PDF
User percieved performance
Mike North
 
PDF
Building front-end apps that Scale - FOSDEM 2014
Phil Leggetter
 
ODP
Cvcc performance tuning
John McCaffrey
 
PPTX
Benefits of developing single page web applications using angular js
Harbinger Systems - HRTech Builder of Choice
 
PDF
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나
Amazon Web Services Korea
 
PDF
How to Build Front-End Web Apps that Scale - FutureJS
Phil Leggetter
 
PDF
Microservice Architecture
Engin Yoeyen
 
PPT
Simple, effective 'Synthetic End-User Experience Monitoring' with ManageEngin...
ManageEngine
 
PPTX
React.js at Cortex
Geoff Harcourt
 
PDF
AD1545 - Extending the XPages Extension Library
paidi_ed
 
PPTX
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
PDF
Fed London - January 2015
Phil Leggetter
 
PPTX
DevOps and Microservice
Inho Kang
 
PDF
DSpace UI prototype dsember
Bram Luyten
 
PPTX
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
Agile Testing Alliance
 
PPT
ReliefWeb's Journey from RSS Feed to Public API
Phase2
 
PPTX
What Is Express JS?
Simplilearn
 
PPTX
JS talks 2016 - Gain superpowers with Office JS
jivkopetiov
 
PDF
dotCMS Roadmap 2010
dotCMS
 
PPTX
SharePoint, Office, and Outlook Integrations for Alfresco
Zia Consulting
 
User percieved performance
Mike North
 
Building front-end apps that Scale - FOSDEM 2014
Phil Leggetter
 
Cvcc performance tuning
John McCaffrey
 
Benefits of developing single page web applications using angular js
Harbinger Systems - HRTech Builder of Choice
 
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나
Amazon Web Services Korea
 
How to Build Front-End Web Apps that Scale - FutureJS
Phil Leggetter
 
Microservice Architecture
Engin Yoeyen
 
Simple, effective 'Synthetic End-User Experience Monitoring' with ManageEngin...
ManageEngine
 
React.js at Cortex
Geoff Harcourt
 
AD1545 - Extending the XPages Extension Library
paidi_ed
 
Single Page Applications: Your Browser is the OS!
Jeremy Likness
 
Fed London - January 2015
Phil Leggetter
 
DevOps and Microservice
Inho Kang
 
DSpace UI prototype dsember
Bram Luyten
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
Agile Testing Alliance
 
ReliefWeb's Journey from RSS Feed to Public API
Phase2
 
What Is Express JS?
Simplilearn
 
JS talks 2016 - Gain superpowers with Office JS
jivkopetiov
 
dotCMS Roadmap 2010
dotCMS
 
SharePoint, Office, and Outlook Integrations for Alfresco
Zia Consulting
 
Ad

More from Mike North (16)

PDF
Web Security: A Primer for Developers
Mike North
 
PDF
A Debugging Adventure: Journey through Ember.js Glue
Mike North
 
PDF
Anatomy of a Progressive Web App
Mike North
 
PDF
Web and Native: Bridging the Gap
Mike North
 
PDF
The Road to Native Web Components
Mike North
 
PDF
Enemy of the state
Mike North
 
PDF
Phoenix for Rubyists - Rubyconf Brazil 2016
Mike North
 
PDF
Phoenix for Rubyists
Mike North
 
PDF
Delightful UX for Distributed Systems
Mike North
 
PDF
Modern, Scalable, Ambitious apps with Ember.js
Mike North
 
PDF
Ember addons, served three ways
Mike North
 
PDF
Write Once, Run Everywhere
Mike North
 
PDF
Compose all the things (Wicked Good Ember 2015)
Mike North
 
PDF
Async JavaScript in ES7
Mike North
 
PPTX
Test like a pro with Ember.js
Mike North
 
PDF
Modern Web UI - Web components
Mike North
 
Web Security: A Primer for Developers
Mike North
 
A Debugging Adventure: Journey through Ember.js Glue
Mike North
 
Anatomy of a Progressive Web App
Mike North
 
Web and Native: Bridging the Gap
Mike North
 
The Road to Native Web Components
Mike North
 
Enemy of the state
Mike North
 
Phoenix for Rubyists - Rubyconf Brazil 2016
Mike North
 
Phoenix for Rubyists
Mike North
 
Delightful UX for Distributed Systems
Mike North
 
Modern, Scalable, Ambitious apps with Ember.js
Mike North
 
Ember addons, served three ways
Mike North
 
Write Once, Run Everywhere
Mike North
 
Compose all the things (Wicked Good Ember 2015)
Mike North
 
Async JavaScript in ES7
Mike North
 
Test like a pro with Ember.js
Mike North
 
Modern Web UI - Web components
Mike North
 
Ad

Recently uploaded (20)

PDF
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
PDF
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
SalesForce Managed Services Benefits (1).pdf
TechForce Services
 
PPTX
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PPTX
Machine Learning Benefits Across Industries
SynapseIndia
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
Basics of Electronics for IOT(actuators ,microcontroller etc..)
arnavmanesh
 
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
SalesForce Managed Services Benefits (1).pdf
TechForce Services
 
PCU Keynote at IEEE World Congress on Services 250710.pptx
Ramesh Jain
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Machine Learning Benefits Across Industries
SynapseIndia
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 

User-percieved performance