Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cheating the UX When There Is Nothing More to Optimise


Published on

You have optimised every line of code of your site or mobile app and used all the techniques at your disposal to have the fastest loading time possible. But you don’t have Instagram or Pinterest’s budget, right? Let's talk about perceived performance and influencing the users' perception of speed!

I take a look at a few projects I worked on to show how to use various design and UX techniques to improve web performance also at the level of user perception.

Published in: Design
  • Be the first to comment

  • Be the first to like this

Cheating the UX When There Is Nothing More to Optimise

  1. 1. Cheating The UX When There Is Nothing More To Optimize Pixel Pioneers 2018 — Stéphanie Walter
  2. 2. UI & UX designer. Mobile enthusiast Pixel and CSS Lover. Currently working for @WalterStephanie
  3. 3. Psychological time (perception of time in my brain) Objective time (the clock)
  4. 4. Human Perception of Speed
  5. 5. External factors might affect speed perception…
  6. 6. How fast can users interact with the content?
  7. 7. User State of MindUser profile Younger audience is more demanding Speed is perceived as faster by relaxed users Google and Awwwards study
  8. 8. User Situation - the ROI for waiting
  9. 9. Speed perception impacts user satisfaction.
  10. 10. Interface visual time response
  11. 11. 0 - 300ms Instant UI visual response
  12. 12. Instant visual feedback on user micro-interactions
  13. 13. Providing states is the designer’s job
  14. 14. 300ms - 1 second Delay can be noticed but it’s tolerable, no special feedback is necessary.
  15. 15. 2 - 5 seconds Dynamic indeterminate loaders to show that the system is still working
  16. 16. “Everything is fine, the system is currently working”
  17. 17. It’s time to get creative
  18. 18. Show some brand personality
  19. 19. More than 5 seconds Determinate progress indicators to keep user focused
  20. 20. ๏ Show advanced dynamic progress indicator
  21. 21. ๏ Show advanced dynamic progress indicator ๏ Explain what will take time (and why)
  22. 22. ๏ Show advanced dynamic progress indicator ๏ Explain what will take time (and why) ๏ Show current progression (% or steps)
  23. 23. ๏ Show advanced dynamic progress indicator ๏ Explain what will take time (and why) ๏ Show current progression (% or steps) ๏ If possible, don’t block users
  24. 24. “ “ 10 seconds is about the limit for keeping the user's attention focused (Nielsen, 1994; Bouch, 2000)
  25. 25. Seagull Loader
  26. 26. “We optimized every piece of code possible but users with big queries are still complaining”
  27. 27. A seagull replaces the boring spinner — widely approved by the users — ๏ While users wait for the search to finish, the interface displays useful information
  28. 28. While users wait for the search to finish, the interface displays useful information
  29. 29. It looks fast… Clever transitions and animations
  30. 30. Animated page transitions
  31. 31. Animate arrivals and departures via Val Head
  32. 32. Ease-out works best for instant reactions, menus, buttons, to respond to user input. Ease-in works best for prompt windows and when you need to display information.
  33. 33. It’s more satisfying to see the bar speed up towards the end. (Harrison, Amento, Kuznetsov et Bell - 2007 )
  34. 34. Backwards decelerating ribbing significantly increased perceived performance. (Harrison, Yeo et Hudson - 2010 )
  35. 35. On Demand Surveillance Video Loading
  36. 36. Discussing with the development team to understand technical requirements. 1.
  37. 37. How this works Camera takes the video and sends it to the server Server reencodes the video and sends it to the app The app displays the video and users can play it
  38. 38. Deconstructing the waiting timeline millisecond by millisecond. 2.
  39. 39. Interface Transition 300ms 2s 3 - 8s Video player components load on the screen with a fade in transition Indeterminate waiting indicator Video plays as soon as loaded
  40. 40. Communicating and sharing the specifications with the development team. 3.
  41. 41. Step by step static states in design tool.
  42. 42. Specifications document for the developers
  43. 43. Faking it Building Optimistic UIs
  44. 44. Optimistic likes
  45. 45. Optimistic Home Alarm Status Switching
  46. 46. Trusting our API (and server) - providing optimistic instant feedbacks to the user 1.
  47. 47. We don’t wait for the server to respond to visually change the status on the interface
  48. 48. “But what will be the consequences of a system failure from a user perspective?”
  49. 49. Identifying possible failure cases and acting accordingly. 2.
  50. 50. Informing users that something went wrong (and helping them fix it if possible) 3.
  51. 51. In case of failure: notifying the user and switching back to previous state
  52. 52. Smart User Distractions
  53. 53. GVBeestje crocodiles by Daniel Disselkoen in Amsterdam’s metro
  54. 54. Instagram’s preemptive media uploading upload starts here
  55. 55. Skeleton screens and progressively display content as it arrives in the browser
  56. 56. Pinterest has some really nice colorful interface placeholders
  57. 57. Be careful with content jumps & layout updates
  58. 58. Be careful not to overdue it …
  59. 59. Car Repair Image Gallery Loading
  60. 60. The mechanic takes photos and records small videos to explain what needs to be repaired. 00:35 00:35 Nouvelle Image Nouvelle Video Medias Précédent Suivant 00:35 Vidéo Privé Frontal
  61. 61. Understanding the user context and user flow to enhance experience. 1.
  62. 62. ๏ Data connexion in a body repair workshop can be really slow and wifi is often bad. ๏ Mechanics sometimes miss information because of latency. ๏ Some users share the same device.
  63. 63. Discussing and understanding technical scope and requirements. 2.
  64. 64. ๏ Medias are deleted from the device once the file is sent (so we need to load them again when we edit a file). ๏ Size, media type, number of medias is sent in a Json file, ๏ Thumbnails are loaded from Amazon S3 00:35 00:35 Nouvelle Image Nouvelle Video Medias Précédent Suivant 00:35
  65. 65. Building the gallery step by step 3.
  66. 66. A Skeleton Grid based on the number of medias Nouvelle Image Nouvelle Video Medias Précédent Suivant
  67. 67. A gallery of spinners is never a good solution
  68. 68. Media type thumbnails to fill the skeleton Nouvelle Image Nouvelle Video Medias Précédent Suivant
  69. 69. Pulsing animation as loader
  70. 70. Progressively displaying media content as it loads
  71. 71. Visual feedbacks for time-out and loading failures. 00:35 Nouvelle Image Nouvelle Video Medias Précédent Suivant 00:35
  72. 72. No user flow interruption: users can interact with the interface and take new images while the gallery loads in the background
  73. 73. Communicating what is expected with developers 4.
  74. 74. ๏ Static mockups ๏ Timer to switch between each screen ๏ Really limited: frame by frame animation = long and tedious Invision prototype for the developers
  75. 75. ๏ Flinto to build the pulse animation ๏ Static mockups replaced by GIFs prepared in Photoshop (glitchy in Invision on mobile)
  76. 76. Too realistic fake prototypes might backfire during user testing…
  77. 77. ๏ Don’t use the same fake prototype for developers and user testing ๏ If possible, test performance on an “coded” prototype with a real user connexion What I learned
  78. 78. Documentation for the developers:
 ๏ Invision clickable prototype ๏ video animation of the flow ๏ written specs.
  79. 79. Wait, let’s slow down a little bit…
  80. 80. Do we ALWAYS need to make our interface faster?
  81. 81. “It can’t be THAT fast, there must be a trick somewhere” - me, the first time I saw my bank instant notification after paying in a shop.
  82. 82. Wells Fargo’s eye-scan based log-in was too fast for users, they had to slow it down.
  83. 83. The Kayak Effect The “labour illusion” - users value things more when they believe effort has been put into them
  84. 84. To make conversations with chatbots feel more natural: slow down response time and add a typing indicator Image via Shan Shen
  85. 85. In the end …
  86. 86. We design and develop in privileged environments and sometimes need a “what is it like for our user” reality check.
  87. 87. Our developers use the network conditioner to simulate a bad connexion on the iPhone
  88. 88. Building a performant product is a team effort!
  89. 89. Building Designers and developers need to communicate and work together to come up with the best solution possible.
  90. 90. Perceived performance might not be the top priority on the roadmap. Be patient, start small, one step at a time.
  91. 91. We can’t all be Instagram, Twitter or Pinterest… And it’s okay.
  92. 92. @WalterStephanie Attribution-NonCommercial-ShareAlike 4.0 International