SlideShare a Scribd company logo
User Perceived
Performance
Mike North
Modern Web UI - 9/29/2015
@MichaelLNorth
github.com/mike-north
But first….
OCTOBER 3RD & 4TH
…and then….
OCTOBER 21-23
About Me
• We are everyone’s “household CFO”
• Come up with a cash flow plan, analyze
transactions, track alignment
• You “have a guy/gal” to handle your
bills/nances
About Me
• Job.old() = UI Architect of Yahoo Ads &
Data
• Organizer Modern Web UI
• Startup advisor, OSS contributor
//TODO
• What is user-perceived performance?
• Instrumenting & Measuring
• Lessons learned from complex apps
• 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
• Take rendering speed numbers with a grain of salt
• Framework-specific tools
• Ember inspector
• React.addons.Perf
#Protips
Static Asset Bloat
Static Asset Bloat
• gzip compression - makes sense for anything >=
2KB
• Host static assets off a CDN
• bandwidth and latency matter
• Order assets to maximize parallel downloading
• inline scripts at the bottom
Static Asset Bloat - JS
• Scrutinize dependencies
• Minify
• Keep up to date on framework/library releases
Static Asset Bloat - CSS
• Minify
• Sanity check on style stack
• CSS redundancy checker
Static Asset Bloat - IMG
• Compress
• Get size you need
• imgix - image hosting as a service
• Fewer, larger files (sprites are still cool rite?)
• Have awareness of when to use JPG, PNG, etc…
API call typhoon
Serial API Calls
/companies/1
CompaniesShow
/api/companies/1
/api/companies/1/employees
CompaniesShowEmployees
180ms
220ms
400ms
Parallel API Calls
/companies/1
CompaniesShow
/api/companies/1
/api/companies/1/employees
CompaniesShowEmployees
180ms
220ms
220ms
JSON-API include
• ActiveRecord and JSON-API concept
• Returns related records in the API response
• GET /articles/1?include=comments
API call creep
• It’s easy to accidentally make a new, useless, API
call
• Annoying to sort out after the fact
• is great for thisPretender
“Slow API”
“Slow API”
• Have an awareness of DB cost
• Take only what you need
• ?per_page=200
• Let the stragglers straggle
It’s still slow…
Unavoidably Slow Stuff
• Large file uploads
• Slow external systems
• Pesky humans
• Transcoding
Unavoidably Slow Stuff
• Async to the rescue! Model as a background task
Unavoidably Slow Stuff
• Communicate long-running status to users
• Make waiting more interesting
Loading…
Thanks for
waiting, we’re
almost done!
Just a few
more
moments…
Yay! Your thing
is ready!
GET THING
Slow…on the critical path
Blank screens
• Anything is better
than a blank screen
• Pure CSS (inline)
spinners will show up
fast
• The perception of
“loaded” becomes a
grey area now
Perf matters
• webpagetest.org
• React performance tools - https://
facebook.github.io/react/docs/perf.html
ember-load ember-perf

More Related Content

PDF
The Thick Front-End
Jeff Dickey
 
PDF
User-percieved performance
Mike North
 
PDF
Static is just a cache
Vsevolod Zaikov
 
PPTX
Building Modern Web Applications with ASP.NET5
Brij Mishra
 
PPTX
Building rest services using aspnetwebapi
Brij Mishra
 
PPTX
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
Sencha
 
PDF
Next Generation Web Development Techniques with Cloud Foundry
Malachi Smith
 
PPTX
Serverless with Azure Functions
Andreas Willich
 
The Thick Front-End
Jeff Dickey
 
User-percieved performance
Mike North
 
Static is just a cache
Vsevolod Zaikov
 
Building Modern Web Applications with ASP.NET5
Brij Mishra
 
Building rest services using aspnetwebapi
Brij Mishra
 
SenchaCon 2016: Refine Enterprise Applications by Focusing on U0ser Experienc...
Sencha
 
Next Generation Web Development Techniques with Cloud Foundry
Malachi Smith
 
Serverless with Azure Functions
Andreas Willich
 

What's hot (20)

PPTX
devworkshop-04_13_2016-ucsdnow-presentation
Alex Wu
 
PDF
A idea of Powerful WooCmmerce Site
秀高 岡本
 
PDF
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Fwdays
 
PPTX
10 tips to make your ASP.NET Apps Faster
Brij Mishra
 
PPTX
Getting Started with ASP.NET 5
Brij Mishra
 
PPTX
A night at the spa
Chris Love
 
PDF
Write Once, Run Everywhere - Ember.js Munich
Mike North
 
PPTX
Iconus 2016
Mark Roden
 
PDF
Single Page Apps
Max Claus Nunes
 
PDF
Inrastructure as Code
Charles Anderson
 
PDF
Ohio Devfest - Visual Analysis with GCP
Wesley Workman
 
PPTX
How to ease the learning curve
Jose Javier Columbie
 
PDF
Bridge the gap with Chat Automation
Jaap Brasser
 
PDF
Using Chat Automation - ChatOps
Jaap Brasser
 
PPTX
Why XAF and XPO?
Jose Javier Columbie
 
KEY
The guardian and app engine
Michael Brunton-Spall
 
PPTX
Web application I have always dreamt of (Lviv)
Victor_Cr
 
PDF
Railsconf 2014 - Deploying Rails is Easier Thank It Looks
talkingquickly
 
PPTX
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
Waldek Mastykarz
 
PPT
Real World Rails Deployment
Alan Hecht
 
devworkshop-04_13_2016-ucsdnow-presentation
Alex Wu
 
A idea of Powerful WooCmmerce Site
秀高 岡本
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Fwdays
 
10 tips to make your ASP.NET Apps Faster
Brij Mishra
 
Getting Started with ASP.NET 5
Brij Mishra
 
A night at the spa
Chris Love
 
Write Once, Run Everywhere - Ember.js Munich
Mike North
 
Iconus 2016
Mark Roden
 
Single Page Apps
Max Claus Nunes
 
Inrastructure as Code
Charles Anderson
 
Ohio Devfest - Visual Analysis with GCP
Wesley Workman
 
How to ease the learning curve
Jose Javier Columbie
 
Bridge the gap with Chat Automation
Jaap Brasser
 
Using Chat Automation - ChatOps
Jaap Brasser
 
Why XAF and XPO?
Jose Javier Columbie
 
The guardian and app engine
Michael Brunton-Spall
 
Web application I have always dreamt of (Lviv)
Victor_Cr
 
Railsconf 2014 - Deploying Rails is Easier Thank It Looks
talkingquickly
 
SPSNL16 - Building Office 365 and SharePoint solutions using modern developer...
Waldek Mastykarz
 
Real World Rails Deployment
Alan Hecht
 
Ad

Viewers also liked (11)

PDF
Modern, Scalable, Ambitious apps with Ember.js
Mike North
 
PDF
Gabriele Lana - The Magic of Elixir
Codemotion
 
PDF
Ember addons, served three ways
Mike North
 
PDF
Elixir & Phoenix - fast, concurrent and explicit
Tobias Pfeiffer
 
PDF
GenRetry: Simple Exponential Backoff in Elixir
Pete Gamache
 
PDF
Collaborative music with elm and phoenix
Josh Adams
 
PDF
Phoenix for Rubyists
Mike North
 
PDF
Phoenix for Rubyists - Rubyconf Brazil 2016
Mike North
 
PDF
Why DevOps is not enough
Codemotion
 
PDF
CI/CD and Asset Serving for Single Page Apps
Mike North
 
PDF
Delightful UX for Distributed Systems
Mike North
 
Modern, Scalable, Ambitious apps with Ember.js
Mike North
 
Gabriele Lana - The Magic of Elixir
Codemotion
 
Ember addons, served three ways
Mike North
 
Elixir & Phoenix - fast, concurrent and explicit
Tobias Pfeiffer
 
GenRetry: Simple Exponential Backoff in Elixir
Pete Gamache
 
Collaborative music with elm and phoenix
Josh Adams
 
Phoenix for Rubyists
Mike North
 
Phoenix for Rubyists - Rubyconf Brazil 2016
Mike North
 
Why DevOps is not enough
Codemotion
 
CI/CD and Asset Serving for Single Page Apps
Mike North
 
Delightful UX for Distributed Systems
Mike North
 
Ad

Similar to User percieved performance (20)

PDF
Tips tricks deliver_high_performing_secure_web_pages
Aditya Singh
 
PPTX
Performance on a budget
Dimitry Ushakov
 
PPTX
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
Andreas Grabner
 
PDF
Performance as UX with Justin Howlett
FITC
 
PDF
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Holger Bartel
 
PDF
Become a Performance Diagnostics Hero
TechWell
 
PPTX
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Andreas Grabner
 
PDF
Berlin Expert Days 2013 - Performance Talk
Eduard Tudenhoefner
 
ODP
Cvcc performance tuning
John McCaffrey
 
PPTX
Top Java Performance Problems and Metrics To Check in Your Pipeline
Andreas Grabner
 
PDF
Building for, perceiving and measuring performance for mobile web
Robin Glen
 
PDF
Web Performance Part 4 "Client-side performance"
Binary Studio
 
PPTX
Improving Perceived Page Performance with ASP.NET Web API and AJAX
Chris Bohatka
 
PPTX
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Nicholas Jansma
 
PPTX
Measuring Front-End Performance - What, When and How?
Gareth Hughes
 
PPTX
Building Advanced Web UI in The Enterprise World
efim13
 
PPTX
Art and Science of Web Sites Performance: A Front-end Approach
Jiang Zhu
 
PPT
Oracle UCM: Web Site Performance Tuning
Brian Huff
 
PDF
JUG Poznan - 2017.01.31
Omnilogy
 
PDF
PAC 2019 virtual Mark Tomlinson
Neotys
 
Tips tricks deliver_high_performing_secure_web_pages
Aditya Singh
 
Performance on a budget
Dimitry Ushakov
 
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
Andreas Grabner
 
Performance as UX with Justin Howlett
FITC
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Holger Bartel
 
Become a Performance Diagnostics Hero
TechWell
 
BTD2015 - Your Place In DevTOps is Finding Solutions - Not Just Bugs!
Andreas Grabner
 
Berlin Expert Days 2013 - Performance Talk
Eduard Tudenhoefner
 
Cvcc performance tuning
John McCaffrey
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Andreas Grabner
 
Building for, perceiving and measuring performance for mobile web
Robin Glen
 
Web Performance Part 4 "Client-side performance"
Binary Studio
 
Improving Perceived Page Performance with ASP.NET Web API and AJAX
Chris Bohatka
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Nicholas Jansma
 
Measuring Front-End Performance - What, When and How?
Gareth Hughes
 
Building Advanced Web UI in The Enterprise World
efim13
 
Art and Science of Web Sites Performance: A Front-end Approach
Jiang Zhu
 
Oracle UCM: Web Site Performance Tuning
Brian Huff
 
JUG Poznan - 2017.01.31
Omnilogy
 
PAC 2019 virtual Mark Tomlinson
Neotys
 

More from Mike North (11)

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

Recently uploaded (20)

PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Software Development Methodologies in 2025
KodekX
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
The Future of Artificial Intelligence (AI)
Mukul
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 

User percieved performance