À partir de quand une page est-elle lente ? Combien de temps est prêt à attendre un utilisateur ?
Les chiffres de base
Je me base souvent sur des chiffres glanés je ne sais plus où (probablement Jackob Nielsen mais je ne retrouve pas la référence) : moins de 100ms c’est instantané, entre 100ms et 1s on perçoit la notion de téléchargement ou de calcul de la page qui arrive, et supérieur à 1s on a l’impression d’attendre.
Reste que dans ma mémoire ces chiffres n’étaient pas spécifiques au web. L’utilisateur web est habitué à attendre dans certains contextes, et habitué à avoir ce qu’il cherche immédiatement dans d’autre contextes. La bonne question c’est donc de savoir en dessous de quelle valeur on a un avantage concurrentiel sur les autres, et à partir de quelle valeur nos visiteurs partiront effectivement chez les concurrents.
Ceux qui font prendre conscience
Je vous avais donné des chiffres il y a quelques temps. Ils permettent de sensibiliser les gens : Montrer que Google perd 30% de traffic quand sa page passe de 400ms à 900ms est assez percutant. Montrer que 100ms a un impact concret sur les ventes d’Amazon impose de ne pas compter qu’en secondes.
Maintenant ces chiffres là non plus ne sont pas suffisants. Un moteur de recherche est un site bien à part. Lire ces données permet de prendre conscience de l’importance des performances mais cela ne vous donne toujours aucune référence, enfin sauf si vous développez un moteur de recherche.
Et ceux qui peuvent servir de seuil d’alerte
C’est Akamai qui va nous donner une dernière catégorie de chiffres. Dans un communiqué de 2006 ils identifiaient un palier à 4 secondes. Au delà de ce chiffre, les utilisateurs commencent à abandonner. Voilà un exemple de limite haute, qui doit générer une alerte quand vous la dépasser.
Maintenant n’oubliez pas que les choses ont évoluées depuis 2006. Le français moyen a une connexion avec un meilleur débit qu’à l’époque, sa machine est plus puissante et il a moins l’habitude d’attendre. Bref, dépasser 4 secondes est probablement plus grave qu’avant.
Gardez aussi le contexte à l’esprit. Un utilisateur qui cherche une information et vient à partir d’un moteur de recherche risque de ne pas attendre 4 secondes, là chaque dixième de seconde compte.
Quoi faire de ces chiffres ?
Tous ces chiffres sont déduis de mesures réelles et à prendre en compte. Ils sont donc vrais en même temps. Surtout ne gardez pas à l’esprit que ces 4 secondes.
Vous devez toujours viser de meilleures performances, et garder à l’esprit que 100ms ou 500ms peuvent représenter une perte de chiffre d’affaire ou un tiers de traffic en moins. Vous devez toujours vous rendre compte à partir de quel moment l’utilisateur percevra l’attente. Mais en plus, maintenant, vous avez un palier à partir duquel vous pouvez juger la page inacceptable.
Je suis d’accord avec les premiers chiffres, à savoir si le chargement dure plus d’une seconde on a l’impression d’attendre. Maintenant il faut que les entreprises/décideurs le comprennent et en fassent un critère qualitatif important. Actuellement je ne connais pas beaucoup de boites qui seraient prêt à investir du temps pour gagner 100ms. Et c’est bien dommage.
Peut être que cela va changer? Par exemple j’ai été très surpris de rencontrer à la fin de la conférence deux ingénieurs qui travaillaient sur le front end à Amadeus (qui est le système de réservation de beaucoup de compagnies aériennes, y compris AirFrance).
Ces chiffres sont intéressants, notamment le palier à 4s. Ca correspond bien à ce que l’on ressent en tant qu’utilisateur.
En lisant ça, je me disais qu’il est important de savoir quel est le temps que l’on mesure. Par exemple, il faut compter la page HTML principale, ainsi que les CSS. Par contre, il n’est pas probablement pas nécessaire de compter toutes les images. Une page « classique » est exploitable par l’utilisateur même si toutes les images ne sont pas affichées. Par contre si on regarde un album photo (Flickr, Picasa…), on veut que l’image principale soit affichée très vite.
La question n’est pas que celle de la page « exploitable », parce que la page a intérêt à être exploitable avant 4s. C’est la différence entre un problème objectif de performance et la notion de ressenti de l’utilisateur.
Si la page continue à se charger, il risque d’en avoir marre, de se dire que de toutes façons il n’avancera pas sur le site (que les prochains clics seront aussi lents), ou que la page ne va jamais se terminer.
Le sablier est là un défaut terrible, même si ce qui est en train de charger c’est une image tout en bas de la page dont l’utilisateur n’a rien à faire.
Ho je me souviens encore des connections dial-up de 33.6kbs, où l’on essayait de deviner la photo lors du long téléchargement. Quelle frustration, on ne cliquait que si on était sur que ce serait intéressant à 200%. Pour ce qui est d’aujourd’hui, l »instantané joue beaucoup sur la qualité de visite, mais je pense que le critère le plus intéressant est le « hmm c’est rapide je vais le mettre dans mes favoris et revenir souvent ». La lenteur d’une site n’est justifiable que si l’information dessus est tout simplent unique et non trouvable ailleurs. Mais bon, un jour ou l’autre, il faut simplifier la structure et augmenter la rapidité, quitte à ne mettre que 3-4 post d’un blog en page principales au lieu des 15 que quelques un aiment mettre!