Ta page charge, ce n'est pas rassurant rss

Cet article est une extension de "Ta page charge, ce n'est pas sale." chez hteumeuleu.fr. Il explique avec justesse pourquoi les barres de chargement (et consorts) sont une mauvaise chose sur le web ; avec une certaine ironie d'ailleurs, puisqu'elles alourdissent les pages.

C'est tout à fait exact, bien sûr. Mais je voulais étendre la portée de ce billet parce que le web n'est plus seulement une agrégation de sites vitrines interconnectés. On construit aujourd'hui de véritables applications, sur le web. Bon, ça ne date pas d'hier, mais le mot ActiveX me donne des boutons...

L'auteur de l'article original nous explique qu'une page de chargement est plus frustrante qu'autre chose pour l'utilisateur qui n'a alors la main sur rien et ne peut qu'attendre. Et nous le savons, personne n'aime attendre. Encore moins lorsque l'on est sur Internet où tout va si vite.

En revanche, dans les métiers de l'informatique et des web applications en général, on est souvent confronté à des fonctionnalités qui sont leeeentes. Parfois même, la boutade qui dit qu'on aurait le temps d'aller chercher un café en attendant... n'en est pas une. Ce problème trouve sa cause dans une pléiade de possibilités : fonctionnalité mal codée, non optimisée ; la demande farfelue d'un client ; des serveurs surchargés ; un poste client inadapté ; une sollicitation trop importante du réseau ; etc.

Mais là, c'est le drame. Le client qui vous paie, cher, n'admettra jamais que l'export PDF sa base de données de 2Go soit aussi lent. Il voit son navigateur mouliner dans la semoule, pendant 1 minutes, puis 2. Et puis, il se dit que ça a planté alors il recommence. Et il recommence à nouveau sur l'ordinateur de son collègue pour vérifier que ça ne vient pas du sien. Et là, gagné, c'est le serveur qui lâche.

not-sure.jpg

C'est un cas extrême, d'accord. Vous allez me dire qu'on n'aura jamais à implémenter une fonctionnalité pareille dans une webapp. Mais quoiqu'il en soit, vous aurez toujours des actions lourdes à faire, qui prendront du temps. Un exemple plus réaliste : l'import OPML dans le projet Autoblog.

Alors comment éviter ces comportements, frustrer les utilisateurs et ramasser des anomalies qui n'en sont pas ?

La réponse est l'inverse de ce qu'y est écrit dans l'introduction : les barres de chargements ! Elles animent la page charge. Elles permettent à l'utilisateur de suivre l'avancement. Elles permettent surtout de constater l'application ne nous a pas lâché, et qu'elle continue à faire son job.

Ca ne s'applique pas qu'au web d'ailleurs. Qui attend 5 minutes en voyant : L'application Windows.exe ne répond pas. ? Qui tue une application en voyant une barre de chargement avancer ?

Eh oui. Une page qui charge, ce n'est pas sale. Mais une barre de chargement, c'est rassurant. Utilisez-les avec parcimonie et intelligence, sur des fonctionnalités qui sont susceptibles d'être lourdes, vos utilisateurs seront ravis.

PS : Si jamais la cyber-psychologie est une discipline, je crois que ce billet en est !

5 commentaires

#1 - elo - 23 mai 2013 @ 14:55 :

Heu, oui. Mais encore ?
Il y a lieu d'écrire un si long texte juste pour dire quelque chose d'aussi évident que ça ?

#2 - Arthur Hoaro - 23 mai 2013 @ 15:03 :

@elo : Ce billet m'a été inspiré par ce que j'ai pu voir, et crois moi, ce n'est pas si évident que ça. Les heures perdues sur des anomalies remontées qui n'existent pas ou qui sont générées bêtement, sont réelles.

Par contre, j'aurais effectivement pu faire plus court. :)

#3 - yohann - 23 mai 2013 @ 15:20 :

Hum, c'est pas mieux d’effectuer les traitement lourd en arrière plan de de renvoyé tout de suite une page ?
il y a maintenant des outils adapté pour cela (je pense par exemple à celery)

#4 - Valentin - 23 mai 2013 @ 21:00 :

L'idéal, c'est la pseudo barre. Par ex le petit gif d'un gars qui pioche.
ça doit être moins gourmand en ressource.
Qu'en pensez vous ? Maaaaître....
PS: C'est sympa de pouvoir commenter sans s'inscrire.
Je te favorisiiiise

#5 - Arthur Hoaro - 23 mai 2013 @ 21:42 :

@yohann : Je connaissais pas cet outil, mais c'est en effet une solution. Une autre, plus radicale, est de s'appuyer des cron/batch exécutés x fois par jour.

@Valentin : Je ne peux pas cautionner le GIF moche ! Mais effectivement les animations "infinies" aident, et sont bien plus simple à implémenter. Par contre, ça peut rapidement agacer (comme Windows 7 et sa barre de chargement qui défile, encore et encore. :)

Merci pour le favori !

Écrire un commentaire

Quelle est la deuxième lettre du mot asfuwr ? :