Bonjour, Habr! Je vous présente la traduction de l'article
"Contrôler votre environnement vous rend heureux" de Joel Spolsky.
À propos de l'auteur: Joel Spolsky, copropriétaire de Trello, Fog Creek Software et responsable de Stack OverflowLa plupart des développeurs C ++ détestent la programmation d'interface utilisateur. C'est surprenant car je trouve la programmation de l'interface utilisateur ridiculement simple, directe et amusante.
Simple , car l'algorithme le plus compliqué ici consiste à placer un rectangle dans un autre.
Compréhensible , car vous voyez immédiatement les montants et pouvez les réparer.
C'est fascinant parce que vous semblez observer le processus et les résultats du travail.
Je pense que les développeurs ont peur de la programmation de l'interface utilisateur par peur de la conception de l'interface utilisateur. Dans leur compréhension, la conception d'interface utilisateur est similaire à la conception graphique - un processus mystérieux soumis uniquement à des personnes créatives «au total noir» avec des piercings étranges qui absorbent les lattes et créent des choses agréables à l'œil. Les programmeurs, en revanche, se considèrent comme des analystes logiques: ils savent bien raisonner, au travail ce sont des zéros. Par conséquent, nous sommes sûrs que la conception des interfaces n'est pas pour eux.
Je trouve la conception de l'interface utilisateur structurée et simple. Pour le maîtriser, il n'est pas nécessaire de recevoir un diplôme d'école d'art et de teindre vos cheveux en rose acide. Il existe un moyen moins épineux: appliquez quelques règles simples et améliorez l'interface du programme sur lequel vous travaillez.
Je ne publierai pas Zen and the Art of UI Design. Ce n'est pas lié à l'art ou au bouddhisme, c'est un ensemble de règles raisonnables pour les programmeurs. Je suppose que vous n'avez pas besoin d'instructions sur la façon de créer une barre de menus: vous pensez plutôt à quoi y mettre et si vous en avez besoin. Par conséquent, je vais vous enseigner un principe simple à comprendre mais important d'une bonne interface utilisateur.
Dans ma jeunesse, j'ai travaillé dans une boulangerie industrielle. La boulangerie contenait six convoyeurs de production. Pour chaque deuxième convoyeur, il y avait un mélangeur, qui produisait des morceaux de pâte pesant 180 kg, puis déversés à droite ou à gauche:
Il a donc été conçu. En fait, quelque chose manquait et l'emplacement ressemblait à ceci:
Le lecteur attentif sera indigné: "Comment la pâte est-elle passée du deuxième mélangeur au sixième convoyeur?" C'était au tour du petit Joel. C'est difficile à croire, mais tout le travail a été que j'ai dû me tenir à gauche du deuxième mélangeur, attraper un morceau géant dans un chariot, le porter jusqu'au sixième convoyeur et y mettre la pâte à l'aide d'un appareil similaire à un treuil.
Je l'ai fait toutes les dix minutes de dix heures du soir jusqu'à quatre heures du matin. Mais il y avait d'autres difficultés. Le sixième convoyeur ne pouvait pas supporter un poids de 180 kg, et j'ai dû diviser la pâte en dix parties avec un couteau géant. Je ne veux pas entrer dans les détails à quel point c'était stupide.
Au début, j'ai fait un sale boulot. Ce travail semblait tout simplement impossible. Chaque os de mon corps me faisait mal, l'ampoule était assise sur l'ampoule. Des endroits malades que je ne soupçonnais pas existaient. Au début, je n'ai pas réussi à alimenter le convoyeur en pâte. Des lacunes sur la ligne provoquaient des interruptions constantes: la pâte avec des lacunes tombait dans le four et le pain brûlait en raison du volume plus petit pour une quantité d'énergie constante.
Parfois, le convoyeur s'est bouché et s'est arrêté, mais le mélangeur a continué de fonctionner correctement. Le problème est que le chariot pourrait manquer d'espace. Lorsque cela s'est produit, j'ai été obligé de laver le sol, de le graisser avec de l'huile, de vider la pâte pour la récupérer plus tard. Ce n'est pas la meilleure solution, car après 30 minutes, la pâte a commencé à fermenter et le bon pain n'a plus fonctionné. Ensuite, j'ai dû le couper en morceaux de 5 kg et ajouter une partie à chaque nouveau lot.
Mais après une semaine, j'ai commencé à bien me débrouiller: 2 minutes de repos toutes les 10 minutes du «cycle de test». J'ai fait un programme précis et j'ai appris à mettre le mélangeur en pause lorsqu'un dysfonctionnement du pipeline s'est produit. Ensuite, je me suis demandé pourquoi, comme le dit l'annonce sur la bière, certains jours sont meilleurs que d'autres.
Une fois, j'ai remarqué que l'un des chariots avait des roues cassées. J'étais un peu ennuyé que parfois elle se tournait dans la mauvaise direction et démolissait tout sur son passage. Légèrement furieux, et que, tirant sur la chaîne du treuil, j'ai gratté un petit morceau de métal. C'était ennuyeux quand j'ai couru avec un chariot vide pour attraper la pâte et j'ai glissé l'huile pulvérisée.
Mais il y a aussi eu de minuscules victoires. J'ai planifié le temps de faire la pâte pour que le lot frais soit prêt à être expédié quelques secondes avant la fin du précédent. Le pain frais fait un excellent pain. Certaines victoires ont été encore moins importantes: j'ai remarqué une petite goutte de pâte qui volait du mélangeur, je l'ai grattée avec une truelle de peinture que je portais dans ma poche arrière et je l'ai jetée. Oh oui! Parfois, il s'est avéré que la pâte était coupée en morceaux réguliers. À de tels moments, j'ai réussi à garder la situation sous contrôle, même dans les petites choses.
Alors mes jours ont passé. Un tas de petites défaites plus un tas de petites victoires. Qu'est-ce que j'ai obtenu au total? Même un léger bouleversement affecte l'humeur. La qualité est beaucoup plus importante que la portée lorsqu'il s'agit d'émotions. J'ai remarqué que les jours les plus heureux étaient accompagnés de nombreuses petites victoires et de plusieurs mini-échecs.
Des années plus tard, au collège, j'ai étudié l'importante théorie psychologique de l'impuissance acquise de Martin Seligman. Cette théorie, appuyée par de nombreuses années de recherche, nous dit que la dépression se développe à partir d'un sentiment d'impuissance lorsque vous ne pouvez pas garder une situation sous contrôle. Mieux vous maîtrisez la situation, plus vous en tirez. Vous devenez fâché et fou si tout devient incontrôlable: l'espace sur le clavier est cassé, et lorsque vous tapez, les mots collent les uns aux autres. C'est ennuyeux car vous cliquez sur la barre d'espace, mais rien ne se passe. La clé de la porte d'entrée n'ouvre pas toujours la serrure. Il se coince lorsque vous le faites pivoter. En somme, toutes ces petites choses nous bouleversent de jour en jour. Malgré le fait qu'ils ne ressemblent à rien par rapport à la famine en Afrique. Mais qu'est-ce qui m'inquiète, c'est l'écart stupide!
Bon, revenons aux ordinateurs. Je propose de créer un utilisateur Windows typique nommé Pete. Cela permet de garder une image à l'esprit lors de la création d'une interface. Plus l'utilisateur imaginaire est réaliste, plus il est facile d'imaginer comment il va utiliser le produit. Pete travaille comme comptable dans une société d'édition technique et utilise Windows pour le travail et la maison depuis six ans. Il est compétent et averti technique. Pete installe son propre logiciel: lit des magazines informatiques et programme même des macros Word simples pour faciliter l'envoi des factures par les secrétaires. Il a un modem câble à la maison. Pete n'a jamais utilisé de Macintosh: cela lui coûte cher. "Pour un PC avec 700 MHz et 128 Mo de RAM - c'est trop mort ..", - d'accord, Pete, nous vous comprenons.
Un jour, l'amie de Pete, Gina, m'a demandé de l'aider avec un ordinateur. Gina a un iBook Macintosh et elle adore les «boîtes» translucides. Pete déteste ces choses, alors il est devenu furieux dès qu'il s'est assis devant l'ordinateur. À la fin, il a aidé sa petite amie, mais est resté extrêmement mécontent: "Le Macintosh a une interface utilisateur ridicule." Ridicule? De quoi parle-t-il? Tout le monde sait que le Mac a une interface élégante, et l'astuce est la facilité d'utilisation.
Voici mon analyse de cette énigme. Si vous souhaitez faire glisser la fenêtre sur le Mac, tirez-la simplement vers n'importe quel bord. Sous Windows, la barre de titre est utilisée pour se déplacer et si vous tirez sur le coin, la fenêtre changera de forme. En appliquant ce principe, Pete a essayé d'agrandir la fenêtre sur Mac Gina, mais elle se déplaçait perfidement. Lorsqu'une boîte de message apparaît sur Windows, vous appuyez sur Entrée ou la barre d'espace et elle se ferme. Sous Mac OS, la barre d'espace ne fonctionnera pas, vous devez cliquer sur la souris. Après avoir reçu une notification, Pete par habitude a appuyé sur la barre d'espace pour la supprimer. Cela a fonctionné au cours des six dernières années, mais pas cette fois. Sans s'en rendre compte, Pete a commencé à marteler la clé. Il était sûr que Mac n'avait tout simplement pas enregistré le clic. À la fin, il a utilisé la souris, mais a réussi à devenir nerveux.
Pete fermait la fenêtre Windows avec la combinaison de touches Alt + F4. Sur le Mac, avec leur aide, le volume change. À un moment donné, Pete a voulu cliquer sur l'icône Internet Explorer, couverte par une autre fenêtre. Il a maintenu Alt + F4 pour fermer la fenêtre puis a double-cliqué sur l'icône désirée. Eh bien, après cela, il a dû fermer deux fenêtres: les opérations fonctionnaient différemment.
Cela semblerait insignifiant, mais ils ont réussi à gâcher la soirée de Pete. Le gars a essayé de tout garder sous contrôle, mais rien n'en est sorti. L'espace et Alt + F4 «n'ont pas fonctionné», mais à notre avis, cela ressemble plus à une panne. La fenêtre coquine semblait se moquer de Pete et bouger au lieu de s'étendre. Mauvaise fenêtre. Même ce sentiment subconscient et subtil d'incontrôlabilité se transforme en impuissance, qui se transforme en malheur. «J'adore mon ordinateur», explique Pete. - Windows fonctionne comme j'aime. Sur ces coquelicots, c'est tellement difficile et inconfortable. Certains troubles. Si Apple avait travaillé sur le système d'exploitation pendant toutes ces années, plutôt que de bricoler avec les Newton, il n'y aurait pas une telle confusion. »
Nous vous comprenons très bien, Pete. Mais, malgré vos sentiments, Macintosh est très pratique à utiliser. Par exemple, pour les utilisateurs Mac. Les programmeurs Microsoft, qui auraient copié l'interface Mac, pensaient qu'ils ajoutaient une nouvelle fonctionnalité intéressante, vous permettant de redimensionner les fenêtres en étirant n'importe quel bord. Les programmeurs Mac OS 8.0 ont probablement pensé qu'il serait pratique de déplacer les fenêtres en utilisant des bords. La plupart des guerres déclenchées sur les interfaces utilisateur se concentrent sur les mauvaises choses. Windows est meilleur car il est pratique de redimensionner la fenêtre? Peu importe. L'astuce est que l'interface doit répondre aux attentes des utilisateurs. Si ce n'est pas le cas, l'utilisateur se sentira impuissant. Comme moi, lorsque les roues du chariot ont tourné dans la mauvaise direction, et je me suis écrasé contre un mur. Toi, tu es nul!
L'interface utilisateur est importante car elle affecte les sentiments, les émotions et l'humeur de vos utilisateurs. Si l'interface utilisateur est mauvaise, les gens ne pourront pas contrôler les opérations effectuées, ils seront bouleversés, mais le développeur est à blâmer. Si l'interface fonctionne comme il se doit, les utilisateurs seront satisfaits car ils ont atteint leurs petits objectifs. Hourra! Ça a marché! Super logiciel! Woohoo!
Rendre les gens heureux, c'est leur donner le contrôle de la situation. Pour ce faire, vous devez interpréter correctement leurs actions. Ainsi, la règle principale de la conception de l'interface utilisateur est la suivante:
"Une bonne interface utilisateur se comporte exactement comme prévu"
Comme Giggel l'a dit: "Tout le reste n'est que des commentaires." Les autres règles de conception de l'interface utilisateur ne sont que des conséquences.
Source:
Contrôler votre environnement vous rend heureuxTraduction: cinnamongirl