Catégories
Uncategorized

C’était mieux avant tous ces sites pleins de javas­cript

Il y a un courant chez les (vieux) dev web du « c’était mieux avant tous ces sites pleins de javas­cript »

Et bien permet­tez-moi de vous dire, ce n’était pas mieux avant. Vrai­ment pas.

Le web d’avant était globa­le­ment moins perfor­mant, moins utili­sable, moins compa­tible, et pas énor­mé­ment plus pérenne.

Non, sérieu­se­ment, c’était extrê­me­ment pénible, autant pour le déve­lop­peur que pour l’uti­li­sa­teur.


Côté perfor­mance c’est le jour et la nuit.

Ok on a des sites plein de JS qui mettent plusieurs secondes à char­ger mais c’est à compa­rer à avant où la moindre page quasi vide se char­geait en plus de temps que ça.

Attendre 30 secondes une page sans vidéo ni compor­te­ment parti­cu­lier n’avait rien d’anor­mal.

À l’époque, la bonne pratique vis à vis de certains pays c’était même de mettre autant de choses que possible dans la page parce qu’ils allaient faire autre chose pendant qu’elle se char­geait et que quand ils reve­naient il étaient hors de ques­tion qu’ils recom­mencent. Il fallait donc tout mettre à l’avance sur des kilo­mètres, au cas où, plutôt que de les faire navi­guer page à page. On en était là.

Si les moteurs de recherche Alta­vista et Google avaient gagné c’était d’ailleurs aussi pour ça : En ayant des pages d’ac­cueil quasi­ment vides, c’étaient celles qu’on arri­vait à char­ger dans un temps accep­table avant de lancer la recherche.

Tout était lent au point que, pendant un moment, on a même consi­déré le WAP et ses 1ko/s comme accep­table. Même une page quasi vide mettait forcé­ment plusieurs secondes.

Aujourd’­hui j’ai parfois un peu de temps de char­ge­ment initial mais ça n’a plus rien à voir, et le reste de la navi­ga­tion est souvent quasi instan­tané.

Rien que de ne pas rechar­ger la page à chaque action ça change la vie. Vous n’ima­gi­nez pas.


C’est la même chose côté compa­ti­bi­lité.

Ok aujourd’­hui on a parfois des choses qui ne passent qu’a­vec Chrome mais avant c’était tout le web qui était dans une guerre de tran­chée.

Il fallait le bon navi­ga­teur, dans la bonne version, sur le bon système d’ex­ploi­ta­tion, avec un écran de la bonne taille. Même là on priait une fois sur deux pour avoir le bon plugin, la bonne version de flash ou la machine virtuelle Java à jour pour les applets.

C’était au point où il n’était pas rare d’avoir une page « ce site néces­site Inter­net Explo­rer 4 avec Flash et une réso­lu­tion d’écran d’au moins 1280 × 1024 » avant d’ar­ri­ver à la page d’ac­cueil.

C’était invi­vable, réel­le­ment.

Je me rappelle de l’époque inter­mé­diaire où nous étions une poignée de mili­tants à essayer de démon­trer qu’on s’en sorti­rait mieux en suivant des stan­dards avec HTML et CSS. Je me rappelle Open­web et Pompage. Je me rappelle les contri­bu­tions à l’équipe Tech­ni­cal Evan­ge­lism de Mozilla qui s’oc­cu­pait de contac­ter les respon­sables de sites pour suggé­rer des modi­fi­ca­tions afin que le web soit navi­gable ailleurs que sur Inter­net Explo­rer.

Ce jour est arrivé et ça fait un bien fou.

Aujourd’­hui je ne me pose quasi­ment plus la ques­tion du navi­ga­teur. Je sais que ça va fonc­tion­ner. Les rares problèmes finissent par être corri­gés, ou concernent des amélio­ra­tions dispen­sables. Je peux même géné­ra­le­ment utili­ser le même site sur mon ordi­na­teur de bureau et sur mon télé­phone.

Des problèmes de compa­ti­bi­lité aujourd’­hui ? « You know nothing, Jon Snow ».


Ce n’était pas non plus plus utili­sable.

On peut râler tout son saoul contre nos webapp javas­cript, nos publi­ci­tés, nos bannières cookies et tout ce que vous voulez, mais même ainsi je n’échan­ge­rais pas le web d’aujourd’­hui contre le web d’avant.

Je ne parle même pas de graphisme. Aujourd’­hui je peux faire plusieurs actions sans rechar­ger la page ni perdre ce qui est en cours. Je peux reca­drer la photo dans la page que je viens d’en­voyer sur un forum. Je peux mesu­rer l’avan­ce­ment de l’en­voi de cette photo. Je peux conti­nuer à utili­ser le forum voire à navi­guer dedans pendant que ma photo se trans­fère. Je peux voir en temps réel si la photo que je voulais envoyer a le bon format. J’ai une auto­com­plé­tion effi­cace sur le nom que j’as­so­cie au fichier. Quand j’ai fini je peux modi­fier mes diffé­rentes options avec une prise en compte instan­ta­née et voir le résul­tat en temps réel sur ma fenêtre.

Arrê­tez de fantas­mer le web d’avant, c’était une plaie.

Travailler en temps réel à plusieurs sur un même docu­ment rele­vait à de la science fiction à l’époque.


Il y a des usages où de simples pages de texte suffi­raient ample­ment mais je n’ai quand même aucune envie de retour­ner au web d’avant.

Pas une seule seconde.

On s’est amélioré sur tous les points, sans excep­tion. Le pire d’aujourd’­hui est objec­ti­ve­ment souvent meilleur que le meilleur de l’époque.

En fait une partie des appli­ca­tions web d’aujourd’­hui sont à la fois plus perfor­mants, plus compa­tibles et plus utili­sables que l’étaient même les appli­ca­tions natives avant.

Le vrai problème, c’est que nos attentes ont évolué encore plus vite.

Vous vous éner­vez parce qu’il faut fermer le bandeau d’in­for­ma­tion cookie et que le site ne réagit pas en atten­dant quelques secondes le char­ge­ment complet quand vous l’uti­li­sez sur le mauvais navi­ga­teur ? Bande d’en­fants gâtés.

On s’ha­bi­tue vite. Même les plus vieux se font avoir.


Je vous vois venir. Vous allez me dire que tout ça est surtout grâce à l’ex­plo­sion de la bande passante et de la puis­sance des machines.

Oui, et ? Il reste que tout s’est amélioré, très nette­ment.

Certes on aurait d’en­core meilleures perfor­mances si on était resté sur de simples pages web plein texte, et on se serait éviter certains problèmes, mais on n’au­rait alors pas progressé sur d’autres aspects.

On n’a pas gâché 90% de l’amé­lio­ra­tion de bande passante et de puis­sance de calcul avec du JS, du CSS, des polices de carac­tères, de la vidéo et des grosses images. On a juste utilisé une partie de ces amélio­ra­tions pour d’autres gains que de la perfor­mance pure.

C’est certain qu’il y a des usages où peut-être que des docu­ments texte simples et échan­gés très rapi­de­ment seraient préfé­rables. Nos tech­no­lo­gies permettent déjà de le faire si on en a besoin.

C’est juste que les compro­mis et les équi­libres ne pointent pas si souvent que ça dans cette direc­tion. Prétendre faire un nouveau web qui force­rait ce choix ne serait pas une avan­cée, ce serait une forte régres­sion.

7 réponses sur « C’était mieux avant tous ces sites pleins de javas­cript »

D’accord et pas d’accord.

Je partage entièrement ton avis, *dans l’absolu*, le Web est bien plus utilisable, agréable et rapide aujourd’hui qu’il y a quinze ans.

Mais si l’on râle autant, je pense que ce n’est pas parce qu’on compare aujourd’hui à hier, mais ce qu’on a et ce qu’on pourrait avoir.

Il y a vingt ans, quand il fallait attendre 30 secondes le chargement d’une page, c’était un problème d’infrastructure. C’était comme ça et puis c’est tout.

Aujourd’hui, quand la moindre opération nécessite plusieurs fois les mêmes 30 secondes de chargement sur l’interface d’OVH, le problème est ailleurs.

Je râle parce que j’ai une machine surpuissante et 16go de ram et malgré tout, mon flux de pensée est constamment interrompu parce que firefox sature ou crashe au bout de quelques onglets ouverts.

Je râle parce que je passe une partie de mon temps de travail à attendre alors que j’ai une bonne machine et une connexion fibre.

Surtout, je râle parce que ce problème de performance généralisé n’est pas dû à des contraintes techniques ou d’infrastructure mais à des choix techniques qui privilégient le confort des développeurs plutôt que celui des utilisateurs.

Je comprends parfaitement que le Web ne soit plus une plateforme qui se limite à l’échange de documents, et je comprends que faire tourner une véritable application comme Slack ou Trello dans le navigateur puisse avoir un impact.

Ce que j’ai du mal à comprendre, c’est que les mêmes stacks techniques soient souvent déployées alors que rien ne le justifie fonctionnellement, sur des sites qui n’offrent rien de plus complexes que quelques formulaires.

Et le plus rageant, c’est que créer un site performant n’est même pas *difficile* techniquement, il est donc d’autant plus rageant que ce soit l’exception plutôt que norme.

Cela certes ne change rien au fait que je n’échangerais pour rien au monde le Web d’aujourd’hui avec celui d’hier.

Oui, on pourrait faire mieux en performances. Ce ne serait pas gratuit. Ca voudrait dire y passer du temps de développement, et donc passer moins de temps ailleurs. Est-ce que vraiment que ce soit plus rapide si c’est au prix de moins de travail ergonomique, ou de moins de fonctionnalités, ou de moins d’accessibilité, ou de services plus chers, ou de … ?

Peut-être que des fois oui mais attention ces équilibres ne sont pas simples et existaient déjà « avant ». C’est juste qu’avant la performance était *vraiment* mauvaise. Maintenant on l’a amélioré à un point où on peut commencer à investir ailleurs. Quelque part je trouve ça positif.

Je rebondis sur le « On s’est amélioré sur tous les points, sans excep­tion. », comment vois-tu les évolutions du côté de l’expérimentation graphique (mise en page, graphisme improbable, animation, mini-jeu avec l’arrivée de Flash) et le côté bricolé du web ? J’ai l’impression que nous avons perdu des choses de ce côté.

Vous comparez des choux et des carottes. Il faut comparer les choses au même ratio technique et là ça devient catastrophique aujourd’hui. Des sites très mal construits, des temps d’attente horrible. Même avec des rechargements (pas single page) un site à l’ancienne offrirait une expérience utilisateur très convenable. L’évolution technologique cache des incompétences et l’utilisation de framework à tout va, même pour un simple site vitrine, est une plaie. Je ne suis pas contre le web d’aujourd’hui mais je pense que ce que veulent dire les « vieux » c’est que malgré des évolutions techniques énorme, quelques kilo de bande contre des dizaines voire des centaines de Mo, l’expérience n’a pas beaucoup changé.

C’est tout le sujet du billet. L’expérience a justement changé, si, et radicalement. Ça n’a rien à voir.

Oui les sites avec rechargement à chaque page offraient une expérience utilisateur convenable… à l’époque. Si c’est brouillon c’est que nos attentes ont changé en parallèle. Aujourd’hui on fait autre chose avec nos sites et nos app et ça ne passerait plus.

Tu le dis d’ailleurs toi-même en cherchant à ne pas comparer l’expérience de l’utilisateur mais le ratio entre l’expérience utilisateur et les capacités technologiques.

C’est d’ailleurs là qu’est à mon sens l’erreur de toute la critique. Mesurer le volume de données comme tu le fais (*) c’est se tromper d’objectif. L’objectif est l’expérience utilisateur. Il n’y a que ça qui compte.

Alors oui on a fait un x1_000 sur les volumes échangés quand la bande passante a fait un x10_000. Et alors ?
Chercher à regarder le ratio entre l’expérience utilisateur et la capacité technologique c’est un indicateur technique, pas un objectif. J’irai même pus loin : Il n’y a rien qui permette d’affirmer que les deux courbes doivent forcément avancer avec un ratio 1/1, ou même que cette évolution doive forcément être linéaire.

C’est d’autant moins vrai que là tu regardes en pur performance. L’augmentation de volume a aussi permis d’avoir des plus grosses images sur des écrans à haut DPI, de mettre de la vidéo là où on n’imaginait à peine mettre une image, d’avoir des polices de caractères dédiées, de faire des traitements dans le navigateur avec retour immédiat ou hors ligne.

Tout ça a de la valeur aussi. Alors si la performance a augmenté moins vite que les capacité en cpu et bande passante, c’est aussi à cause de ça, et c’est une *bonne* chose pour l’essentiel des utilisations.

(* et merci de ne pas exagérer en parlant d’une échelle de x100_000 en passant de quelques Ko à quelques centaines de Mo. On va rester réaliste en parlant de quelques dizaines de Ko à quelques dizaines de Mo, et même ça est discutable)

> L’évolution technologique cache des incompétences et l’utilisation de framework à tout va, même pour un simple site vitrine, est une plaie

Oui, « il y a des incompétents », « il y a des sites qui font n’importe quoi ». Spoiler : C’était vrai avant aussi (si tu savais… aujourd’hui l’incompétence ou les mauvais choix dont tu parles fait juste attendre quelques secondes, c’est quasiment ridicule par rapport aux conséquences de l’incompétence et des mauvais choix à l’époque).

À part flatter l’égo de ceux qui critiquent les soit-disants incompétents, ça ne fait rien avancer et ça ne représente rien.

Bien que je soit d’accord avec le fait que « le web, c’était pire avant », je crois que je ne suis pas d’accord avec ce que tu en conclues. Finalement le « c’était pire avant » ce n’est qu’une variation du « il y a pire ailleurs », qui justifie souvent l’immobilisme en politique.

Personnellement je trouve que le web d’aujourd’hui a encore tendance à exclure, à la fois les utilisateur·ices qui n’ont pas les moyens ou le temps à investir dans la compréhension son utilisation, et aussi celles et ceux qui pourraient devenir développeur·ses. Utiliser un build complexe à base de polyfills et de webpack et faire de React et consorts un pré-requis à n’importe quel poste de dev, ou partir du principe que tout le monde a un téléphone récent et une bonne connexion, je ne peux pas me faire à l’idée qu’on peut se le permettre parce-que « c’était pire avant ».

PS : tu dis que faire mieux en performances ce ne serait pas gratuit, mais la plupart du temps en fait c’est moins de code, et en général si tu sais t’y prendre ça fait gagner du temps de dev et pas l’inverse (c’est pour ça qu’on râle). Et webperf, ergonomie (inclusive) et accessibilité vont très souvent ensemble en fait.

> et aussi celles et ceux qui pourraient devenir développeur·ses. Utiliser un build complexe à base de polyfills et de webpack et faire de React et consorts un pré-requis à n’importe quel poste de dev, ou partir du principe que tout le monde a un téléphone récent et une bonne connexion, je ne peux pas me faire à l’idée qu’on peut se le permettre parce-que « c’était pire avant ».

On est d’accord, à la fois sur la complexification côté développeur (et donc la barrière que ça créé) et sur la stratification des utilisateurs en fonction de leur milieu social/géographique.

Je pourrais dire que ça se voit maintenant parce que justement il y a démocratisation, là où avant c’était de toutes façons uniquement pour un petit groupe d’élus. Qu’on se pose la question est quelque part très très positif vu qu’on pense à une démocratisation et une mondialisation qui n’existait juste pas avant.

Maintenant autant je suis d’accord avec le problème, autant ce n’était pas vraiment le sujet que je voulais porter avec ce billet

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *