SlideShare une entreprise Scribd logo
1  sur  80
Améliorer la performance
Entre réalité et perception
“Améliorer la performance” — @geoffrey_crofte 2
Geoffrey Crofte
geoffrey.crofte.fr
creativejuiz.fr
Full-Stack Developer pour la société
@geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Tour d’horizon
Pourquoi parler de performance ?
La notion de temps.
D’un point de vue technique.
Faire patienter.
Détourner l’attention.
Mentir à l’utilisateur·rice.
Bonus ?
Pourquoi parler de performance ?
53% des utilisateur·rice·s abandonnent un
site qui met plus de 3 secondes à se
charger sur mobile.

Le temps moyen de chargement d’un site
web en 3G est de 19 seconds.
Les utilisateur·rice·s
n’attendent pas
Source : soasta.com (septembre 2016)
la durée moyenne d’attention passe de 12
secondes (en 2000) à 8.25 secondes (en
2015)

C’est une seconde de moins que la durée
d’attention d’un poisson rouge.
Les utilisateur·rice·s

attendent de moins
en moins
Source : statisticbrain.com
“Améliorer la performance” — @geoffrey_crofte
Vous perdez vos utilisateur·rice·s
au bout de 10 secondes.
La notion de temps
Le temps objectif

Celui que vous avez sur vos montres.

Le temps psychologique

Celui qui va être réellement perçu par une
personne.
Il y a plusieurs temps
Source : Smashing Magazine
0,1 à 0,2s : aucun délai ressenti.

0,5 à 1 s : délai immédiat proche d’une
réponse d’humain à humain.

2 à 5 s : expérience optimale dans une
activité.

5 à 10 s : la durée d’attention d’un
utilisateur·rice.
Durées psychologiques
Source : Smashing Magazine
“Améliorer la performance” — @geoffrey_crofte
Cette semaine est passée super
vite, je n’ai pas vu le temps filer !
Youpiiii!
Le type et la complexité de la tâche.

L’expérience de la personne sur des tâches
similaires.

La disposition de la personne (fatigue,
stress, etc.)
Perception non linéaire
Source : tinyartshop
On va pouvoir jouer sur plusieurs facteurs :
Différents paramètres clés
La stimulation

Les indices qui rappellent l’attente.

La durée

Réelle ou ressentie.

L’attention

L’occupation du cerveau à une tâche ou une autre.
Comment améliorer la perception de l’attente ?
Le temps objectif
Optimiser ce qui est concrètement
optimisable.
Détourner l’attention
Occuper la personne à une autre
tâche que celle de l’attente.
Mentir à l’utilisateur·rice
Lui faire croire qu’elle n’a pas besoin
d’attendre.
Indicateurs de l’attente
Fournir une indication adaptée au
type d’attente.
Ce que vous avez déjà fait
j’espère…
“Améliorer la performance” — @geoffrey_crofte
Nginx, Apache… testez et retenez
le meilleur pour vos besoins.
La solution Serveur
Nginx est meilleur (2 fois plus rapide
qu’Apache) pour servir des documents
statiques.

Apache et Nginx s’équivalent sur l’aspect
dynamique.
“Améliorer la performance” — @geoffrey_crofte
Les mises à jour vont (très souvent) dans le
sens de la performance.
Tenez votre système à jour
PHP 7 traite 2 fois plus de requêtes par
seconde que la version 5.6. (précédente)

Apache entre sa version 2.2 et 2.4 est
environ 40% plus performant.
Sources : genious-interactive.com et rootusers.com
Cette technique permet de distributer des ressources plus rapidement.
Mettez en cache
Le cache serveur

Évite à votre machine de refaire les calculs.

Le cache navigateur

Stocke des fichiers dans le navigateur client.
Profiter des avantages des Service Workers.
Pensez à votre Progressive Web App
Offline / Connexion bas débit

Permet d’accéder à des ressources même hors-ligne.

Rapidité

Une partie des fichiers étant stockée sur la machine de l’utilisateur·rice.
Parce qu’on ne peut pas tout voir ensemble, pensez aussi à :
Pensez à plein d’autres choses…
HTTP/2,
CSS Critical Path,
local/sessionStorage,
Optimiser vos bases de données,
Optimiser vos images (formats, compression),
Minifier et concaténer CSS et JS
CDN Géolocalisé
…
“Améliorer la performance” — @geoffrey_crofte
L’interface doit faire ressortir les réponses
immédiates.
Les réponses immédiates
Au survol, focus ou activation d’un
élément.

Sur une action instantanée traitée en JS.
Il y a un tutoriel pour ça :
http://bit.ly/clipboardscript
Démonstration disponible ici :
http://bit.ly/clipboarddemo
Faire patienter
Next slide loading…
“Améliorer la performance” — @geoffrey_crofte
Plusieurs manières de procéder qui n’expriment pas la même chose.
Indiquer l’attente
Le spinner

Ce petit truc qui tourne indéfiniment.

La barre de chargement

Qui propose un début et une fin.
Les mots

Pour expliciter le pourquoi du
comment.
Les faux contenus

Pour aider à la projection.
“Améliorer la performance” — @geoffrey_crofte
Pratique pour une attente courte.
Le spinner
Le traitement dure entre 2 et 8 secondes.

Ne pas afficher de spinner en dessous de 2
secondes.

Au delà de 8 secondes l’utilisateur·rice
perd sa capacité d’attention.
Pour qu’un indicateur ait du sens, il doit être
proche de la zone activée par l’utilisateur·rice.
Un indicateur doit être suffisamment
longtemps visible pour éviter l’effet “bug
visuel”
Un indicateur proche
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Pour des tâches plus longues.
Spinner originaux
Un effet original et travaillé peut délecter
l’utilisateur·rice.

Permet d’augmenter un peu le délai
d’attente sans décourager.
“Améliorer la performance” — @geoffrey_crofte
Source : https://www.backmarket.fr/
“Améliorer la performance” — @geoffrey_crofte
Pour une attente quantifiable/définie
moyenne.
La barre de chargement
Le traitement risque de durer plus de 8
secondes.

Vous pouvez mesurer la durée ou le
nombre d’items à traiter.

“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Apparemment :
De la sur-optimisation ?
L’accélération finale offre un effet positif
sur le ressenti,

L’animation en sens inverse dans la barre
offre un effet de vitesse supplémentaire.
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
http://bit.ly/progressbar1
“Améliorer la performance” — @geoffrey_crofte
http://bit.ly/progressbar2
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Aménager l’espace et proposer du faux
contenu.
Les faux contenus
Permet de fournir du contenu au compte-
gouttes.

Le faux contenu peut servir à
l’utilisateur·rice à se projeter et faciliter la
phase de découverte.
“Améliorer la performance” — @geoffrey_crofte
http://bit.ly/placeholderdemo
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Ajouter une information claire avec de vrais
mots.
Paroles, les paroles
Il permet d’être explicite sur le processus.

Donner des chiffres sert d’estimatif du
temps restant.

Il permet de donner de la lecture à
l’utilisateur·rice…
gtmetrix.com
Détourner l’attention de l’attente
“Améliorer la performance” — @geoffrey_crofte
Attente alternée
L’attente de l’utilisateur·rice passe de
passive à active.

L’action peut être utile.

L’action peut être ludique également.
Source : La Sphère Bleue
“Améliorer la performance” — @geoffrey_crofte
En donnant de la lecture
Afficher les news de votre entreprise/blog.

Donner des astuces sur l’interface.

Raconter une anecdote ou blague.

Personnaliser l’attente.
“Améliorer la performance” — @geoffrey_crofte
En proposant une activité
Par exemple :
Commencer à accomplir la tâche suivante.

Communiquer avec une communauté.

En jouant le temps de l’attente.
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Ecran de LoL avec sélection des perso et discussion en cours.
“Améliorer la performance” — @geoffrey_crofte
Mentir sur le temps d’attente
“Améliorer la performance” — @geoffrey_crofte
Fake It Until You Make It
Partir du principe que la réponse serveur
est positive dans 99% des cas.

Proposer une réponse instantanée.

Prévenir le 1% restant si jamais ça se passe
mal.
Source : Jakob Schnitker sur RedBubble
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Mensonge par omission
Profiter que l’utilisateur·rice soit occupé·e sur
une tâche pour effectuer nos requêtes
serveur sans prévenir.



Ça permet de ne pas montrer d’indicateur
d’attente.
Source : Instagram Upload
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Lazyload
Du contenu à la demande.
Des ressources quand elles sont utiles.

Chargement du contenu premier plus
rapide.

Ça marche avec plein de types de
contenu.
Source : Medium
“Améliorer la performance” — @geoffrey_crofte
Qualité adaptée
Permet de réduire le temps d’attente
passive.

Permet de ne pas interrompre le service.

Conserve l’attention sur la tâche en cours.

Mieux en faible qualité que pas du tout.
“Améliorer la performance” — @geoffrey_crofte
Cacher derrière une
animation
Gagnez quelques secondes ci et là en
proposant des animations courtes dans votre
interface.
Les animations fluides et courtes ont un effet
positif sur le ressenti de l’utilisateur·rice.
Démo sur CodePen : http://bit.ly/animationperf
Et si on prenait notre temps ?
“Améliorer la performance” — @geoffrey_crofte
Le délai attendu
Trop rapide, le prise en compte de
l’accomplissement d’une tâche par le cerveau
peut ne pas être immédiate, voire absente.
L’utilisateur·rice peut également dans certains
cas ressentir de la frustration.
“Améliorer la performance” — @geoffrey_crofte
Durée, gage de qualité
Donne une idée de la quantité de tâches
accomplies.

Idée commune “d’en avoir pour son argent”
ou “plus ça dure, mieux c’est”.
Quand une action est communément censée
durer car gage de qualité, n’optimisez rien.
“Améliorer la performance” — @geoffrey_crofte
Lâchons le Chronomètre ?
“Améliorer la performance” — @geoffrey_crofte
Et si au lieu d’essayer de gagner
du temps on évitait d’en perdre ?
“Améliorer la performance” — @geoffrey_crofte
Soyez prévoyants
Éviter à l’utilisateur·rice de lui faire perdre
son temps.
Enregistrer les données d’un formulaire
en local/sessionStorage par exemple.

L’informer en cas de crash et restaurer
ses données.
Source : Projet en cours
“Améliorer la performance” — @geoffrey_crofte
Et détecter le reste.
Demander l’indispensable 35% : abandon du processus de
commande car un compte est nécessaire.

27% : abandon du processus de
commande car trop de champs à remplir.
Sources : SecuPress.me et Baymard.com
“Améliorer la performance” — @geoffrey_crofte
“Améliorer la performance” — @geoffrey_crofte
Évitez les formulaires (?)
La technique tip-top :
Proposer d’enregistrer des données.

Les réutiliser le plus souvent possible
pour faire gagner du temps.
Source : Amazon
“Améliorer la performance” — @geoffrey_crofte
Proposez une alternative
Offrir une alternative à l’utilisateur·rice
permet d’augmenter son niveau de
satisfaction, même s’il n’a pas pu aller
jusqu’au bout de sa démarche.
Source : WebPageTest
À retenir
Optimisez du côté technique autant que possible.
Un Spinner pour les attentes courtes.
Une barre de progression pour les attentes longues.
Du faux contenu pour aider l’utilisateur.
Détourner l’attention de l’attente.
Cacher l’attente sous le tapis.
Utiliser les animations pour faire patienter.
Prendre son temps quand il le faut.
Proposer des portes de sortie.
“Améliorer la performance” — @geoffrey_crofte
Quelques ressources
Mobile Speed Matters (DoubleClick)
The perception of time (Smashing Mag)
Attention Span Statistics (Statistic Brain)
Getting Started with PWA (Google Devs)
Cart Abandonment Rate (baymard.com)
Étude sur la vitesse de défilement des
barres de progression (Carine Lallemand)
Lighttpd solution serveur.
Nginx solution serveur.
G-Wan solution serveur.
LazySizes: Lazyload et la technique de
l’image de remplacement floue.
Credit Card IIN Ranges
N’hésitez pas je ne mords pas.
Merci ! Des Questions ?

Contenu connexe

En vedette

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

En vedette (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Améliorer la performance : entre réalité et perception

  • 1. Améliorer la performance Entre réalité et perception
  • 2. “Améliorer la performance” — @geoffrey_crofte 2 Geoffrey Crofte geoffrey.crofte.fr creativejuiz.fr Full-Stack Developer pour la société @geoffrey_crofte
  • 3. “Améliorer la performance” — @geoffrey_crofte Tour d’horizon Pourquoi parler de performance ? La notion de temps. D’un point de vue technique. Faire patienter. Détourner l’attention. Mentir à l’utilisateur·rice. Bonus ?
  • 4. Pourquoi parler de performance ?
  • 5. 53% des utilisateur·rice·s abandonnent un site qui met plus de 3 secondes à se charger sur mobile.
 Le temps moyen de chargement d’un site web en 3G est de 19 seconds. Les utilisateur·rice·s n’attendent pas Source : soasta.com (septembre 2016)
  • 6. la durée moyenne d’attention passe de 12 secondes (en 2000) à 8.25 secondes (en 2015)
 C’est une seconde de moins que la durée d’attention d’un poisson rouge. Les utilisateur·rice·s
 attendent de moins en moins Source : statisticbrain.com
  • 7. “Améliorer la performance” — @geoffrey_crofte Vous perdez vos utilisateur·rice·s au bout de 10 secondes.
  • 8. La notion de temps
  • 9. Le temps objectif
 Celui que vous avez sur vos montres.
 Le temps psychologique
 Celui qui va être réellement perçu par une personne. Il y a plusieurs temps Source : Smashing Magazine
  • 10. 0,1 à 0,2s : aucun délai ressenti.
 0,5 à 1 s : délai immédiat proche d’une réponse d’humain à humain.
 2 à 5 s : expérience optimale dans une activité.
 5 à 10 s : la durée d’attention d’un utilisateur·rice. Durées psychologiques Source : Smashing Magazine
  • 11. “Améliorer la performance” — @geoffrey_crofte Cette semaine est passée super vite, je n’ai pas vu le temps filer ! Youpiiii!
  • 12. Le type et la complexité de la tâche.
 L’expérience de la personne sur des tâches similaires.
 La disposition de la personne (fatigue, stress, etc.) Perception non linéaire Source : tinyartshop
  • 13. On va pouvoir jouer sur plusieurs facteurs : Différents paramètres clés La stimulation
 Les indices qui rappellent l’attente.
 La durée
 Réelle ou ressentie.
 L’attention
 L’occupation du cerveau à une tâche ou une autre.
  • 14. Comment améliorer la perception de l’attente ? Le temps objectif Optimiser ce qui est concrètement optimisable. Détourner l’attention Occuper la personne à une autre tâche que celle de l’attente. Mentir à l’utilisateur·rice Lui faire croire qu’elle n’a pas besoin d’attendre. Indicateurs de l’attente Fournir une indication adaptée au type d’attente.
  • 15. Ce que vous avez déjà fait j’espère…
  • 16. “Améliorer la performance” — @geoffrey_crofte Nginx, Apache… testez et retenez le meilleur pour vos besoins. La solution Serveur Nginx est meilleur (2 fois plus rapide qu’Apache) pour servir des documents statiques.
 Apache et Nginx s’équivalent sur l’aspect dynamique.
  • 17. “Améliorer la performance” — @geoffrey_crofte Les mises à jour vont (très souvent) dans le sens de la performance. Tenez votre système à jour PHP 7 traite 2 fois plus de requêtes par seconde que la version 5.6. (précédente)
 Apache entre sa version 2.2 et 2.4 est environ 40% plus performant. Sources : genious-interactive.com et rootusers.com
  • 18. Cette technique permet de distributer des ressources plus rapidement. Mettez en cache Le cache serveur
 Évite à votre machine de refaire les calculs.
 Le cache navigateur
 Stocke des fichiers dans le navigateur client.
  • 19. Profiter des avantages des Service Workers. Pensez à votre Progressive Web App Offline / Connexion bas débit
 Permet d’accéder à des ressources même hors-ligne.
 Rapidité
 Une partie des fichiers étant stockée sur la machine de l’utilisateur·rice.
  • 20. Parce qu’on ne peut pas tout voir ensemble, pensez aussi à : Pensez à plein d’autres choses… HTTP/2, CSS Critical Path, local/sessionStorage, Optimiser vos bases de données, Optimiser vos images (formats, compression), Minifier et concaténer CSS et JS CDN Géolocalisé …
  • 21. “Améliorer la performance” — @geoffrey_crofte L’interface doit faire ressortir les réponses immédiates. Les réponses immédiates Au survol, focus ou activation d’un élément.
 Sur une action instantanée traitée en JS.
  • 22. Il y a un tutoriel pour ça : http://bit.ly/clipboardscript
  • 23. Démonstration disponible ici : http://bit.ly/clipboarddemo
  • 26. “Améliorer la performance” — @geoffrey_crofte
  • 27. Plusieurs manières de procéder qui n’expriment pas la même chose. Indiquer l’attente Le spinner
 Ce petit truc qui tourne indéfiniment.
 La barre de chargement
 Qui propose un début et une fin. Les mots
 Pour expliciter le pourquoi du comment. Les faux contenus
 Pour aider à la projection.
  • 28. “Améliorer la performance” — @geoffrey_crofte Pratique pour une attente courte. Le spinner Le traitement dure entre 2 et 8 secondes.
 Ne pas afficher de spinner en dessous de 2 secondes.
 Au delà de 8 secondes l’utilisateur·rice perd sa capacité d’attention.
  • 29. Pour qu’un indicateur ait du sens, il doit être proche de la zone activée par l’utilisateur·rice. Un indicateur doit être suffisamment longtemps visible pour éviter l’effet “bug visuel” Un indicateur proche
  • 30. “Améliorer la performance” — @geoffrey_crofte
  • 31. “Améliorer la performance” — @geoffrey_crofte Pour des tâches plus longues. Spinner originaux Un effet original et travaillé peut délecter l’utilisateur·rice.
 Permet d’augmenter un peu le délai d’attente sans décourager. “Améliorer la performance” — @geoffrey_crofte
  • 33.
  • 34.
  • 35. “Améliorer la performance” — @geoffrey_crofte Pour une attente quantifiable/définie moyenne. La barre de chargement Le traitement risque de durer plus de 8 secondes.
 Vous pouvez mesurer la durée ou le nombre d’items à traiter.
 “Améliorer la performance” — @geoffrey_crofte
  • 36. “Améliorer la performance” — @geoffrey_crofte Apparemment : De la sur-optimisation ? L’accélération finale offre un effet positif sur le ressenti,
 L’animation en sens inverse dans la barre offre un effet de vitesse supplémentaire. “Améliorer la performance” — @geoffrey_crofte
  • 37. “Améliorer la performance” — @geoffrey_crofte http://bit.ly/progressbar1
  • 38. “Améliorer la performance” — @geoffrey_crofte http://bit.ly/progressbar2
  • 39. “Améliorer la performance” — @geoffrey_crofte
  • 40. “Améliorer la performance” — @geoffrey_crofte Aménager l’espace et proposer du faux contenu. Les faux contenus Permet de fournir du contenu au compte- gouttes.
 Le faux contenu peut servir à l’utilisateur·rice à se projeter et faciliter la phase de découverte.
  • 41. “Améliorer la performance” — @geoffrey_crofte http://bit.ly/placeholderdemo
  • 42. “Améliorer la performance” — @geoffrey_crofte
  • 43. “Améliorer la performance” — @geoffrey_crofte
  • 44. “Améliorer la performance” — @geoffrey_crofte Ajouter une information claire avec de vrais mots. Paroles, les paroles Il permet d’être explicite sur le processus.
 Donner des chiffres sert d’estimatif du temps restant.
 Il permet de donner de la lecture à l’utilisateur·rice… gtmetrix.com
  • 46. “Améliorer la performance” — @geoffrey_crofte Attente alternée L’attente de l’utilisateur·rice passe de passive à active.
 L’action peut être utile.
 L’action peut être ludique également. Source : La Sphère Bleue
  • 47. “Améliorer la performance” — @geoffrey_crofte En donnant de la lecture Afficher les news de votre entreprise/blog.
 Donner des astuces sur l’interface.
 Raconter une anecdote ou blague.
 Personnaliser l’attente.
  • 48.
  • 49.
  • 50.
  • 51. “Améliorer la performance” — @geoffrey_crofte En proposant une activité Par exemple : Commencer à accomplir la tâche suivante.
 Communiquer avec une communauté.
 En jouant le temps de l’attente.
  • 52. “Améliorer la performance” — @geoffrey_crofte
  • 53. “Améliorer la performance” — @geoffrey_crofte
  • 54. “Améliorer la performance” — @geoffrey_crofte Ecran de LoL avec sélection des perso et discussion en cours.
  • 55. “Améliorer la performance” — @geoffrey_crofte
  • 56. Mentir sur le temps d’attente
  • 57. “Améliorer la performance” — @geoffrey_crofte Fake It Until You Make It Partir du principe que la réponse serveur est positive dans 99% des cas.
 Proposer une réponse instantanée.
 Prévenir le 1% restant si jamais ça se passe mal. Source : Jakob Schnitker sur RedBubble
  • 58. “Améliorer la performance” — @geoffrey_crofte
  • 59. “Améliorer la performance” — @geoffrey_crofte Mensonge par omission Profiter que l’utilisateur·rice soit occupé·e sur une tâche pour effectuer nos requêtes serveur sans prévenir.
 
 Ça permet de ne pas montrer d’indicateur d’attente. Source : Instagram Upload
  • 60. “Améliorer la performance” — @geoffrey_crofte
  • 61. “Améliorer la performance” — @geoffrey_crofte
  • 62. “Améliorer la performance” — @geoffrey_crofte
  • 63. “Améliorer la performance” — @geoffrey_crofte
  • 64. “Améliorer la performance” — @geoffrey_crofte Lazyload Du contenu à la demande. Des ressources quand elles sont utiles.
 Chargement du contenu premier plus rapide.
 Ça marche avec plein de types de contenu. Source : Medium
  • 65. “Améliorer la performance” — @geoffrey_crofte Qualité adaptée Permet de réduire le temps d’attente passive.
 Permet de ne pas interrompre le service.
 Conserve l’attention sur la tâche en cours.
 Mieux en faible qualité que pas du tout.
  • 66. “Améliorer la performance” — @geoffrey_crofte Cacher derrière une animation Gagnez quelques secondes ci et là en proposant des animations courtes dans votre interface. Les animations fluides et courtes ont un effet positif sur le ressenti de l’utilisateur·rice. Démo sur CodePen : http://bit.ly/animationperf
  • 67. Et si on prenait notre temps ?
  • 68. “Améliorer la performance” — @geoffrey_crofte Le délai attendu Trop rapide, le prise en compte de l’accomplissement d’une tâche par le cerveau peut ne pas être immédiate, voire absente. L’utilisateur·rice peut également dans certains cas ressentir de la frustration.
  • 69. “Améliorer la performance” — @geoffrey_crofte Durée, gage de qualité Donne une idée de la quantité de tâches accomplies.
 Idée commune “d’en avoir pour son argent” ou “plus ça dure, mieux c’est”. Quand une action est communément censée durer car gage de qualité, n’optimisez rien.
  • 70. “Améliorer la performance” — @geoffrey_crofte
  • 72. “Améliorer la performance” — @geoffrey_crofte Et si au lieu d’essayer de gagner du temps on évitait d’en perdre ?
  • 73. “Améliorer la performance” — @geoffrey_crofte Soyez prévoyants Éviter à l’utilisateur·rice de lui faire perdre son temps. Enregistrer les données d’un formulaire en local/sessionStorage par exemple.
 L’informer en cas de crash et restaurer ses données. Source : Projet en cours
  • 74. “Améliorer la performance” — @geoffrey_crofte Et détecter le reste. Demander l’indispensable 35% : abandon du processus de commande car un compte est nécessaire.
 27% : abandon du processus de commande car trop de champs à remplir. Sources : SecuPress.me et Baymard.com
  • 75. “Améliorer la performance” — @geoffrey_crofte
  • 76. “Améliorer la performance” — @geoffrey_crofte Évitez les formulaires (?) La technique tip-top : Proposer d’enregistrer des données.
 Les réutiliser le plus souvent possible pour faire gagner du temps. Source : Amazon
  • 77. “Améliorer la performance” — @geoffrey_crofte Proposez une alternative Offrir une alternative à l’utilisateur·rice permet d’augmenter son niveau de satisfaction, même s’il n’a pas pu aller jusqu’au bout de sa démarche. Source : WebPageTest
  • 78. À retenir Optimisez du côté technique autant que possible. Un Spinner pour les attentes courtes. Une barre de progression pour les attentes longues. Du faux contenu pour aider l’utilisateur. Détourner l’attention de l’attente. Cacher l’attente sous le tapis. Utiliser les animations pour faire patienter. Prendre son temps quand il le faut. Proposer des portes de sortie.
  • 79. “Améliorer la performance” — @geoffrey_crofte Quelques ressources Mobile Speed Matters (DoubleClick) The perception of time (Smashing Mag) Attention Span Statistics (Statistic Brain) Getting Started with PWA (Google Devs) Cart Abandonment Rate (baymard.com) Étude sur la vitesse de défilement des barres de progression (Carine Lallemand) Lighttpd solution serveur. Nginx solution serveur. G-Wan solution serveur. LazySizes: Lazyload et la technique de l’image de remplacement floue. Credit Card IIN Ranges
  • 80. N’hésitez pas je ne mords pas. Merci ! Des Questions ?