the need for speed, optimizing the user experience pt2 - uxpa boston 2014 - james christie

92
Optimizing the User Experience Pt 2: remedies James Christie @jc_ux Mad*Pow “I Feel the Need… …The Need for Speed”

Upload: madpow

Post on 07-Apr-2017

13 views

Category:

Design


0 download

TRANSCRIPT

Page 1: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Optimizing the User Experience Pt 2: remedies

James Christie @jc_ux Mad*Pow

“I Feel the Need… …The Need for Speed”

Page 2: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Originally presented at UXPA Boston 2014. Edited for SlideShare: bye-bye animations.

!

Part 1 (Why Speed Matters) coming soon. !

References, links: goo.gl/w0xp1P

Page 3: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH - how fast are we?

STRATEGY - how fast should we be?

TECHNOLOGY - what do we need to invest in?

IA and IxD - planning fast pages

VISUAL DESIGN - making front-end savings

SPEED STACK

Page 4: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH STRATEGY TECHNOLOGY INFORMATION ARCHITECTURE INTERACTION DESIGN VISUAL DESIGN

Page 5: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 6: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Time To Appear: you can see something

Time To Interact: you can click something

Page Loaded: everything loaded

DEFINITION OF TERMS

Page 7: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 8: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 9: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 10: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

0 - 3s 3.5s 7s

Page 11: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Walk a mile in your user’s shoes

Page 12: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Someone in… Boston Dulles

Juno 15+ US places

Montevideo Monte Carlo

Sofia Osaka Beirut

Mombassa (dozens more)

Using a… PC with IE8 PC with IE6

PC with Chrome Android Tablet

Old iPhone New iPhone (many more)

Connecting by… 56k modem Good 3G Bad 3G EDGE DSL ISDN Fast Cable etc.

Page 13: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Someone in… Boston Dulles

Juno 15+ US places

Montevideo Monte Carlo

Sofia Osaka Beirut

Mombassa (dozens more)

Using a… PC with IE8 PC with IE6

PC with Chrome Android Tablet

Old iPhone New iPhone (many more)

Connecting by… 56k modem Good 3G Bad 3G EDGE DSL ISDN Fast Cable etc.

Page 14: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Dulles + 3g + Tablet = 70s

Page 15: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

4.5s — menu appears 8s — page complete

Page 16: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Enterprise grade: Real User Monitoring

Page 17: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 18: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 19: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 20: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 21: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Average site load times

Specific load times for different personas/markets

List of things slowing us down.

RESEARCH UPSHOT

Page 22: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH STRATEGY TECHNOLOGY INFORMATION ARCHITECTURE INTERACTION DESIGN VISUAL DESIGN

Page 23: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Bring performance out into the open

Page 24: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Sell the benefits

Page 25: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Get them hooked on Speed

Page 26: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Make performance cultural - use design principles

Page 27: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 28: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 29: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Set a goal: “<Our website> should load

in under 3 seconds”.

Page 30: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Explain the benefit

Organizational buy-in

Set goals

A culture of improvement

STRATEGY UPSHOT

Page 31: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH STRATEGY TECHNOLOGY INFORMATION ARCHITECTURE INTERACTION DESIGN VISUAL DESIGN

Page 32: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

DEVICE LAB

<needs a new photo which I probably won’t get round to in time, so just picture a big pile of old and new smartphones, tablets, Apple Newtons,

Blackberries, Internet Fridges, iTVs, smart watches etc>

Page 33: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Remove Duplicate Scripts Configure ETags Make AJAX Cacheable Use GET for AJAX Requests Reduce the Number of DOM Elements No 404s Reduce Cookie Size Use Cookie-Free Domains for Components Avoid Filters Do Not Scale Images in HTML Make favicon.ico Small and Cacheable

Minimize HTTP Requests Use a Content Delivery Network Avoid empty src or href Add an Expires or a Cache-Control Header Gzip Components Put StyleSheets at the Top Put Scripts at the Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify JavaScript and CSS Avoid Redirects

23 “basic” optimizations

Page 34: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 35: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

The responsive image problem

Page 36: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

OPTIMIZE IMAGES FOR MOBILE

“We’re missing out on 72% image savings for mobile.”

Tim Kadlec

Go read: http://timkadlec.com/2013/06/why-we-need-responsive-images/

Page 37: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

“What is the cost of your non-responsive images?”

>4s load 50% images

Page 38: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 39: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Outsource it.

Page 40: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Speed-as-a-Service

Content Delivery Network

Script minification

Image optimisation

Accelerates modern and legacy browsers – creates different HTML for each

FRONT-END ACCELERATION

Page 41: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH STRATEGY TECHNOLOGY INFORMATION ARCHITECTURE (& CS) INTERACTION DESIGN VISUAL DESIGN

Page 42: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

1 video = 20 hi-res images

1 photo = 50,000 words

50,000 words = 3 SVG animations

CONTENT TRADE-OFFS

Page 43: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Home 2s

Product info 2s

Details video 8s

Ad landing 1.5s

Product info 2s

Which pages can be slow?

Page 44: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Set a time budget that suits needs of audience (3s is nice, 2s is better) (More mobile? Smaller pages.)

Guesstimate a target file size (~700kB)

Trade features and content against the budget until it fits

PAGE BUDGETS

Page 45: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

1.2MB images

100kB JavaScript

400kB share buttons

200kB web fonts

50kB HTML & CSS

Size = 1,950kB

Total requests = 121

WIREFRAMES

Page 46: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

100kb of images

10kB Script

0kB from share buttons

50kB web fonts

50kB HTML + CSS

Size = 200kB

Total requests = 20

AFTER

Page 47: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH STRATEGY TECHNOLOGY INFORMATION ARCHITECTURE INTERACTION DESIGN: CHALLENGE TRENDS VISUAL DESIGN

Page 48: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

“Don’t let 3rd parties get you down” - Google, at Velocity 2010

Found an ~15% latency impact

(Sleazy impact: 1,000%)

3RD PARTY CONTENT

Page 49: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

BIG FAT PHOTO ~400kB

3 more photos …that no one will ever see

Page 50: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 51: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 52: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Facebook & Twitter & G+

& Disqus =

400kB in images & scripts

SHARE BUTTONS

Page 53: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

SIMPLE BUTTON CURE

Page 54: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Maps: 400kB in images and scripts

Stop putting them in footers

Load them conditionally

MAPS

Page 55: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Just, no.

AUTOPLAY VIDEO

Page 56: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

FOOL THE EYE

Page 57: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 58: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RESEARCH STRATEGY TECHNOLOGY INFORMATION ARCHITECTURE INTERACTION DESIGN: CHALLENGE TRENDS VISUAL DESIGN

Page 59: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

“Save for web” is broken

Use a 3rd party (Kraken.io)

Experiment: point it at a homepage carousel.

OPTIMIZE PROPERLY

1.7MB, 5s load

Page 60: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

1.7MB (5s load) 900kB (2s load?)

Page 61: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Combine the small fry

Page 62: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Replace lots of icons with one png or gif

Reduces objects and file size

Make your own: csssprites.com

CSS SPRITES

Page 63: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

One file (and js) replacing all your site icons

Off the shelf: Icomoon, Pictos, Font Awesome…

Not super-well supported - test!

ICON FONTS

Page 64: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

RADICAL CHANGE

Page 65: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Mono is smaller

Example:

130kB to 70kB

Mono doesn’t mean B&W

MONO!

wow

Page 66: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

http://www.alistapart.com/articles/the-web-aesthetic

@garrettc’s cat

Page 67: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Big illustration: 75kB

!

Big photo: 350kB

ILLUSTRATION

Page 68: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Old iPhone: 163ppi

iPhone 5 Retina: 326ppi

Samsung: 560ppi now, 880ppi in 2015.

Each demanding higher-res pictures.

MARCH OF THE SCREENS

Page 69: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 70: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Scales to any size, stays same small size

Crisp on every screen

Versatile

Programmable

Safe to use (IE needs fallbacks)

VECTOR FTW

Page 71: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

21 kB 600x300px

270 kB 600x300px

21 kB 1400x700

1.8 MB 1400x700

Standard resolutionRetina resolution

Page 72: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

DesignModo Flat UI

Page 73: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie
Page 74: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

JUST GO SEE THIS

http://goo.gl/RtvsUQ

Page 75: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

WHAT DOES THE FAST WEB LOOK LIKE?

Page 76: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Photos

Photo Gradients

Complex

Many objects to load

3rd party dependencies

SLOW

Illustrations, Vectors

CSS gradients

Simple, flat

In-line, few objects

FAST

Page 77: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

GET INSPIRED!

Page 78: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

154kB page <1s load

22 objects (average:+100)

Page 79: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Photos: 10kB Selective blur

Page 80: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Web font: 22kB

Page 81: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

SVG logo SVG background

Page 82: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Flat structure

Page 83: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

100kB page 50kB less

Page 84: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

536kB page 1.6s load

36 objects

Page 85: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Take away Google Analytics:6kB

19kB ~150ms load

Page 86: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

GO FORTH AND SAVE!

Page 87: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

90 pages / day x 1 second / page x 65 years

= 25 daysLoading…

Page 88: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Save 1s / page 50 pages / day 33m hours / day 2.4 billion users

506m days / year 121 Wikipedias x 121

Page 89: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

Save 1s / page 50 pages / day 33m hours / day

506m days / year 1 Apollo Program x 1

Page 90: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

“Lost time is never found again.” !

Benjamin Franklin

Page 91: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

BIG THANK YOUTwitter: @jc_ux Email: [email protected]

Page 92: The Need for Speed, Optimizing the User Experience pt2 - UXPA Boston 2014 - James Christie

http://goo.gl/w0xp1P

(That’s a zero)