Offrir une expérience utilisateur sans trop de kilo octets

Au cours des dernières années, il semble que les performances Web aient diminué. En effet, avec de nombreux sites utilisant désormais des frameworks tels que React et Vue, les SPA devenant monnaie courante et les demandes se chiffrant en centaines, la page Web moyenne est désormais plus grande que jamais avec des pages de 2 à 3 Mo.
C’est un fléau sur Internet, et de nombreuses personnes blâment les  frameworks dans leur ensemble. Après tout, beaucoup de ces sites sont construits avec des frameworks JavaScript même quand ce n’est pas vraiment nécessaire (comme avec de nombreux sites d’actualités). Et bon nombre utilisent probablement des choses comme Bootstrap pour le CSS.

Mais je ne pense pas que ce soit le vrai problème ici. Un site Web bien construit et performant peut être créé avec n’importe quel framework ou type de technologie existant. Cela peut être plus difficile pour certains que pour d’autres, mais cela peut être fait.

Le problème est l’état d’esprit du développeur et du designer dans de nombreuses entreprises.

Avec cet état d’esprit, le développement et la conception Web devraient être «amusants». Je suis convaincu que de nombreux développeurs et ingénieurs logiciels placent leur satisfaction professionnelle au-dessus de leurs utilisateurs ou clients.

Et c’est ce qui a conduit à toutes ces pratiques discutables, ainsi qu’à un manque d’intérêt pour ce qui compte. Des systèmes de construction lourds comme Webpack et des dizaines et des dizaines de composants pré-fabriqués à partir de NPM sont apportés pour «économiser du temps / des efforts de développement», sans trop penser aux kilo-octets supplémentaires (ou même mégaoctets) de JavaScript que cela ajoute au produit fini. Les composants tiers sont introduits avec de grandes quantités de CSS et de JavaScript, simplement pour économiser sur la nécessité de réellement construire lesdits composants à partir de zéro, la taille de la page doit être damnée.

De plus, dans de nombreux cas, le choix de la langue lui-même a été choisi parce qu’il est «cool» plutôt que parce qu’il est le bon pour le travail. Regardez tous ces sites d’actualités reconstruits en SPA avec des frameworks JavaScript très résistants. Ils n’ont pas besoin d’être faits comme ça, et ils ne devraient probablement pas l’être … mais ils le sont parce que l’équipe de développement préfère faire semblant de travailler chez Google ou Facebook.

Il en va de même avec le design aussi. De nombreux designers s’ennuient à travailler sur des applications CRUD génériques pour certaines entreprises ennuyeuses fabriquant des widgets et préfèrent travailler sur la toute nouvelle startup la plus brillante, collectant des millions dans la Silicon Valley.

Donc, comme avec les développeurs, ils ont mis le flashiness au-dessus de l’aspect pratique. Des effets sont ajoutés partout sans raison, la structure de la page est partout car elle a l’air « unique », et tout semble avoir été conçu pour être agréable dans leur profil Dribbble ou Behance, la convivialité est sacrément damnée.

C’est comme si vous aviez une armée de cuisiniers en ligne McDonalds qui se font passer pour des chefs étoilés Michelin et qui essaient de leur mieux pour transformer leur lieu de travail en les mêmes. Oh, bien sûr, ces clients peuvent vraiment vouloir un Big Mac et des puces, mais qui s’en soucie. Nous préférons cuisiner ce que nous voulons cuisiner, afin d’essayer d’impressionner nos pairs sur Internet.

Mais ce ne sont pas seulement les développeurs qui sont comme ça. Tout le monde dans la chaîne de commandement est ainsi. Les gestionnaires, les PDG, les investisseurs, l’équipe marketing, les ventes, etc. Tout le monde veut bien paraître devant ses pairs ou les supérieurs, et tout se termine par une ingénierie et une lourdeur en conséquence.

C’est ce qui doit changer. Le client ou l’utilisateur doit être la priorité numéro 1, pas les personnes travaillant sur le produit ou l’entreprise.

Ou, comme l’a parfaitement dit Sean Malstrom en ce qui concerne les concepteurs de jeux:

“Le but des jeux vidéo est de rendre le joueur impressionnant. Ce n’est pas au designer de se sentir génial.”

En d’autres termes, le produit devrait rendre la vie meilleure à l’utilisateur, pas agir comme un vaisseau pour ses créateurs. L’objectif d’un bon produit n’est pas de laisser ses créateurs se sentir bien dans leur «créativité» ou d’admirer leur «génie technique», mais de résoudre un problème que les utilisateurs rencontrent d’une manière simple, efficace et performante.

Et c’est une leçon que Sean mentionne beaucoup dans ses articles la conception de jeux, car les mêmes problèmes sont souvent présents. Vous avez des concepteurs qui essaient de devenir réalisateurs de films et qui sacrifient les mécanismes de jeu réels pour un flair visuel et une cinématographie. Vous leur avez fait installer des mécanismes lourds qui ne correspondent pas au jeu, car ils étaient «amusants» à travailler ou compliquaient les actions simples, car ce nouveau schéma de contrôle est «intelligent». De plus, vous avez ignoré des genres entiers car ils ne sont pas «amusants» à travailler, avec l’exemple donné souvent par Nintendo.

On le voit aussi assez souvent en architecture. Là où les bâtiments semblent souvent conçus plus pour les architectes pour montrer à leurs pairs ou mettre dans leurs portefeuilles que pour les personnes qui y vivent ou y travaillent réellement.

De plus, les utilisateurs le comprennent dans une certaine mesure. Vous pouvez le voir très bien par le nombre de produits et de services «moins Wahou”mais qui finissent par battre les rivaux plus amateurs.

Par exemple, regardez Craigslist (7ème site le plus visité aux USA). C’est moche, c’est ennuyeux et la technologie n’a probablement pas grand-chose à raconter. Mais ça marche, cela fonctionne très bien pour ses utilisateurs. Il en va de même pour Hacker News. Pour l’ancienne version de Reddit. ou pour de nombreux jeux populaires en général : Minecraft, Wii Sports ou Tetris. Aucun de ceux-ci n’est particulièrement sophistiqué dans tous les sens du terme, mais ils ont tous vendu des millions d’exemplaires en offrant une boucle de gameplay agréable et en évitant l’enfer du joueur après l’avoir configuré.

Alors créatifs, arrêtez de vous concentrer sur votre CV ou votre convenance personnelle. Arrêtez de mettre vos propres intérêts au-dessus de ceux de vos utilisateurs et de gaspiller des centaines de kilo-octets sur des choses dont personne ne se soucie.

Au lieu de cela, offrez une expérience que l’utilisateur appréciera d’utiliser, avec aussi peu de ressources que nécessaire.
Faites-le, et vos utilisateurs et clients vous remercieront.

N’hésitez pas à aller faire un tour sur notre blog ou sur notre page Facebook pour découvrir l’intégralité de nos actualités ! Nous en sortons une par semaine !