Quelles métriques pour mesurer l’expérience utilisateur?

L’expérience utilisateur est défini comme un concept apparu dans les années 2000 pour tenter de qualifier le résultat (bénéfice) et le ressenti de l’utilisateur (expérience) lors d’une manipulation (utilisation provisoire ou récurrente) d’un objet fonctionnel ou d’une interface homme-machine (source wikipedia).

C’est cette expérience utilisateur qui est au cœur de la stratégie de développement des grands noms du commerce sur internet. Lorsqu’on sait qu’un internaute s’impatiente à partir de 2 secondes d’attente, ou que le taux d’abandon augmente de 40% lorsque le chargement d’une page passe de une à cinq secondes on comprend pourquoi ces sociétés investissent beaucoup de moyens dans l’optimisation de leurs sites web.

Dans ce contexte, le temps de chargement d’une page web revêt une attention toute particulière que les experts essayent de mesurer efficacement. Deux aspects sont primordiaux dans l’analyse de l’expérience utilisateur: Le contenu de la page doit commencer à s’afficher très rapidement pour permettre à l’utilisateur d’interagir avec l’application, et le chargement de la partie visible de la page doit être privilégié. La partie en dessous de la ligne de flottaison est moins importante du fait qu’elle n’est pas immédiatement visible par l’utilisateur. C’est ce sentiment d’interactivité avec l’application qui va satisfaire ou non l’internaute.

« Page load time »

La mesure la plus ancienne permettant d’analyser la vitesse de chargement d’une page est fournit par la méthode window.onload(). Cette métrique identifie le temps nécessaire au chargement, par le navigateur, de toutes les ressources de la page. Cette méthode, largement utilisée par le passé, n’est plus adaptée car un grand nombre de sites sont devenus entièrement dynamique et les ressources des pages sont chargées de façon asynchrone. De fait il est possible que cette métrique soit inférieure (ou supérieure) au temps nécessaire pour afficher le contenu de la page.

Steve Souders, un des experts mondiaux de la performance, rapportait en 2013 que certains sites internet pouvaient s’afficher très rapidement mais cet indicateur windows.onload révélait que le temps de chargement des pages étaient lent. Pourquoi? Parce que tout simplement le contenu au dessus de la ligne de flottaison de la page s’affichait rapidement et que le reste du contenu de la page prenait un peu plus de temps à se charger.

« Start render »

Certains sites tel que webpagetest fournissent un indicateur « start render » qui mesure le moment ou le contenu de la page commence à apparaître dans le navigateur. C’est un indicateur intéressant car il indique le moment à partir duquel l’internaute commence à voir le résultat de son action. Mais il reste insuffisant car il n’indique pas quand l’internaute peut interagir avec le site. Ce n’est donc pas non plus la métrique idéale pour mesurer cette expérience utilisateur.

« Speed index »

Le « speed index » prend en compte la progression du chargement de la partie visible de la page et calcule un score global mesurant la rapidité avec laquelle le contenu est affiché. Pour calculer cette métrique WebPagetest utilisait un algorithme qui analysait une capture vidéo du chargement de la page à raison de 10 frames par seconde, plus récemment WebPagetest a implémenté un procédé d’analyse basé sur des événements émis par le navigateur lors du rendu de la page. Le détail du calcul du « speed index » est décrit sur le site WebPageTest  (https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index).
Ce score mesure donc la vitesse à laquelle la partie de la page se situant au dessus de la ligne de flottaison est affichée : plus le score est bas, plus la page s’est affichée rapidement.
Cette métrique illustre plutôt bien la qualité de l’expérience utilisateur mais elle n’est disponible qu’au travers de WebPageTest.

« Time to First Contentful Paint (TTFCP) »

Plus récemment les métriques TTFCP « Time to First Contentful Paint » et TTFP « Time to First Paint » exposent des informations qui peuvent permettre aux développeurs de mieux comprendre la performance du chargement des sites internet, et mesurer l’expérience utilisateur. Ces nouveaux indicateurs sont disponibles au travers de l’API « Paint timing API » du navigateur Chrome.

Solutions spécifiques

D’autres initiatives commencent à voir le jour telles que Hero Rendering Times disponible dans la solution SpeedCurve. Cette solution part de l’idée qu’il faut pouvoir spécifier ce qui doit être mesuré dans une page, et que tous les éléments d’une page n’ont pas la même importance du point de vue de l’internaute. Par exemple l’affichage d’un encart publicitaire au dessus de la ligne de flottaison a t-il la même importance que les autres informations présentées sur la page?

https://www.jperf.com

Publicités

A propos jlerbsc

founder of JavaPerf Consulting Http://www.jperf.com
Cet article a été publié dans Uncategorized. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s