Advertisement

Designing speed with progressive enhancement @ NY Web Performance meetup

Web Addict
Nov. 2, 2016
Advertisement

More Related Content

Advertisement

Designing speed with progressive enhancement @ NY Web Performance meetup

  1. DESIGNING SPEED WITH PROGRESSIVE ENHANCEMENT Sergey Chernyshev | @SergeyChe
  2. SPEED MATTERS to your users and to you
  3. SLOW MEANS LOWER CONVERSION RUM data. Aaron Kulick, Cliff Crocker @ Wallmart Labs
  4. WPOSTATS.COM ➤ DoubleClick: 5s vs. 19s => up to 2x revenue on mobile (2016) ➤ Trainline: -0.3s => +$11.5M / year revenue (2016) ➤ Etsy: +160Kb => +12% bounce rate (2014) ➤ DoubleClick: -1 redirect => +12% CTR (2011) ➤ Edmunds: -77% load time => +20% page views (2011) ➤ Mozilla: -2.2s => +15.4% Downloads (2010) ➤ Google: +400ms => -0.21% searches after experiment! (2009) ➤ Shopzilla: -5s => +12% Conversion rate (2009) ➤ Amazon: +100ms => -1% revenue (2008) ➤ Google: +500ms => -25% searches (2006)
  5. % OF DAILY BUDGET WHATDOESMYSITECOST.COM http://www.disney.com/
  6. DESIGN
 FOR SPEED and progressive enhancement
  7. MOVIES OR PAINTINGS? Speed vs. Fluency, What drives user engagement? Kent Alstad, Velocity NY 2015
  8. PERFORMANCE CHOREOGRAPHERS Performance Choreography Tim Kadlec, WebPerfDays NY 2014
  9. PROGRESSIVE ENHANCEMENT ➤ Main goals: 1. Enable features based on browser capabilities
 (e.g. JavaScript, image formats, local storage, gyro/compass) 2. Reveal features as page is being downloaded and constructed
 (render basic html + CSS, add JS handlers, fonts, etc)
  10. FEATURES BASED ON CAPABILITIES book by
 Filament Group
 
 filamentgroup.com/dwpe/
  11. REVEAL FEATURES as page is being downloaded and constructed
  12. RENDER & INTERACTION STAGES 1. Verify destination 2. Provide primary content 3. Allow interaction 4. Show secondary content 5. The rest & invisible tasks
 Acknowledge action
 1. Verify destination 2. … Experience
  13. VERIFY DESTINATION ➤ Core branding ➤ Maybe a breadcrumb
  14. PROVIDE PRIMARY CONTENT ➤ Leaderboards, article text & photo, product title & image
  15. ALLOW INTERACTION ➤ Main calls to action (CTA), Video play button, carousel arrows
  16. SHOW SECONDARY CONTENT ➤ Sidebars, secondary content ➤ Additional navigation ➤ User-generated content, sharing buttons, ads
  17. THE REST & INVISIBLE TASKS ➤ “The Rest” ➤ Invisible Tasks ➤ Subsequent Carousel slides ➤ Below the fold content ➤ Analytics calls and instrumentation code (“pixels”)
  18. RENDER & INTERACTION STAGES 1. Verify destination 2. Provide primary content 3. Allow interaction 4. Show secondary content 5. Invisible tasks
 Acknowledge action
 1. Verify destination 2. …
  19. ACKNOWLEDGE ACTION ➤ Disable submit button with “in progress” label,
 disable form elements ➤ Show transitional overlay (e.g. “Connecting to PayPal…”) ➤ Erase content area of the page ➤ No spinners!
  20. INCREMENTAL MOCKUP 1
  21. INCREMENTAL MOCKUP 2
  22. INCREMENTAL MOCKUP 3
  23. INCREMENTAL MOCKUP 4
  24. FULL MOCKUP
  25. PROGRESSIVE STORYBOARDS Home Page Action Verify Destination Primary Content Allow Interaction Secondary Content Rest & Invisible 0 1 2 3 4 5
  26. ACKNOWLEDGE ACTION MOCKUP
  27. ACKNOWLEDGE ACTION MOCKUP SUSPECT’S LAWYER: IT’S NOT WHAT YOU THINK
  28. PROGRESSIVE STORYBOARDS Main Article SUSPECT’S LAWYER: IT’S NOT WHAT YOU THINK SUSPECT’S LAWYER: IT’S NOT WHAT YOU THINK Acknowledge
 Action Verify Destination Primary Content 0 1 2 200ms 300ms
  29. STAGES & TECHNICAL CONSTRAINTS Stage 1. Verify destination 2. Provide primary
 content 3. Allow interaction 4. Show secondary
 content
 5. The rest + invisible tasks Acknowledge action Technology Constraints 1. Inline CSS & Logo, 14K 2. no JS, CSS, just HTML,
 1/2 images 3. Skeletal CSS, async JS 4. All CSS, above the fold images, fonts, AJAX-in content 5. The rest Pre-transition feedback,
 fake transition UserExperienceFlow Complexity
  30. THROUGHOUT DESIGN & DEV PROCESS ➤ Wires (multiple files) ➤ PSD / SketchApp Progressive Storyboard ➤ HTML Mockups (separate HTML files) ➤ Front-end implementation (query string params)? ➤ Full implementation (in dev / test / pre-prod)? http://test.mysite.com/page.html?stage=1 http://test.mysite.com/page.html?stage=2 ...
  31. SPEED PROCESS ➤Identify design components ➤Set Constraints ➤Measure and compare to baseline ➤Avoid Anti-Patterns,
 define best practices
  32. THANK YOU @SergeyChe | sergey.chernyshev@gmail.com
Advertisement