Nous savons tous qu'il existe de très bonnes interfaces, dont certaines que nous utilisons tous les jours:
Et de temps en temps, certains nous font saigner des yeux:
Et malgré (ou peut-être au nom de) le nombre "d'applications d'inventaire de magasin" que les gens font sur les cours de programmation, si vous en voyez un, c'est plus ou moins précisément comme ceci:
Pourquoi ne le feriez-vous pas créer une interface utilisateur simple, propre et minimaliste?
Y a-t-il une autre raison que l'incompétence totale de conception ou les délais dus à hier?
Ce que je veux savoir, c'est s'il y a réellement une préférence entreprise vers saignement des yeux interfaces compliquées.
Je veux dire, peut-être qu'il y en a!
Peut-être qu'en maîtrisant un tel dinosaure prouve à une entreprise que ses employés sont très sérieux au sujet de leur travail.
J'ai demandé au bibliothécaire local, au gars du magasin de construction, etc. et ils détestent tous les interfaces des logiciels qu'ils utilisent. Je n'aurais jamais pensé à créer une telle interface (cela ne prend pas beaucoup de poussière de lutin magique pour regrouper les fonctionnalités liées sur les barres d'outils, afin que l'utilisateur puisse au moins désactiver certaines "fonctionnalités").
Donc, dans tous les sérieux , y a-t-il une motivation réelle, consciente et sobre derrière les interfaces utilisateur compliquées (cf: complexes, comme par exemple, MS Office Word ou Photoshop)?
Certaines des interfaces utilisateur mises en évidence par la question ne sont que de la merde et nous sommes probablement tous d'accord avec cela.
En ce qui concerne la question "y a-t-il une raison justifiable à une interface utilisateur complexe?", La réponse est oui, mais tout dépend des commentaires de l'utilisateur.
Un exemple personnel que j'ai à ce sujet était lorsque j'essayais de créer une interface plus simple pour une application de centre d'appels. Si vous avez déjà vu des applications de centre d'appels, ce sont des interfaces utilisateur complexes et alambiquées avec une tonne d'informations. J'ai essayé de le simplifier à la fois du point de vue du flux de travail et des tâches. Pendant les tests, je me suis concentré sur 2 sources principales de rétroaction - les commentaires et réponses des utilisateurs finaux et les statistiques de statistiques d'appels. Pour l'entreprise, si les appels duraient plus longtemps que l'ancienne interface utilisateur, la nouvelle interface était un échec, car chaque appel répondu est de l'argent pour les personnes occupées.
Ce que j'ai fini par découvrir, c'est que les utilisateurs finaux demandaient plus d'informations à l'écran. Ils voulaient pouvoir accéder aux informations des clients le plus rapidement possible. L'interface utilisateur a été refactorisée à nouveau pour garder les choses plus concentrées sur les tâches; cependant, l'interface utilisateur elle-même est devenue encombrée (imo) en raison des informations que les utilisateurs finaux voulaient.
Bref, cela dépend des utilisateurs finaux; cependant, les cas où la complexité est utilisée sont rares et ne devraient être effectués que si les utilisateurs finaux en ont besoin/le souhaitent.
La complexité d'une interface est directement proportionnelle à la complexité des interactions de l'utilisateur avec le système.
Les interfaces utilisateur compliquées —ou complexes— proviennent d'un système qui fournit un large éventail de fonctionnalités à l'utilisateur , et chacune de ces fonctionnalités est réalisée de manière complexe . Plus l'utilisateur a d'options, plus il y aura d'interfaces de contrôle. (Par exemple, MS Excel.)
En plus d'être complexe ou non, une interface utilisateur peut simplement être mal conçue. Les mauvaises interfaces utilisateur apparaissent souvent dans les applications qui ne suivent pas conception centrée sur l'utilisateur , et, à la place, les développeurs ont ajouté l'interface utilisateur éléments que les fonctionnalités viennent. (Par exemple, les deux derniers écrans de la question.)
Voici un extrait de GUI Structural Metrics [PDF] sur la complexité:
Certaines mesures de complexité d'interface (...) incluent:
- Le nombre de contrôles dans une interface.
- La plus longue séquence de commandes distinctes qui doivent être utilisées pour effectuer une tâche spécifique.
- Le nombre maximum de choix parmi les contrôles avec lesquels un utilisateur peut être présenté à tout moment dans l'utilisation de cette interface.
- Temps nécessaire à un utilisateur pour exécuter certains événements dans l'interface graphique. Cela peut inclure: les touches, les clics de souris, le pointage, la sélection d'un élément dans une liste et plusieurs autres tâches qui peuvent être effectuées dans une interface graphique.
En minimisant ces variables, nous obtenons des interfaces plus simples.
Je peux simplement parler de mon expérience personnelle, de la complexité et de la surpopulation des interfaces:
C'est parce que les programmeurs ou les ingénieurs commencent simplement à coder, mettent brique à brique et ajoutent pour chaque partie fonctionnelle du code, là où ils ont besoin de la contribution de l'utilisateur, un contrôle en surface. Les développeurs pensent du point de vue de la fonctionnalité, combattez un bug au suivant, ajoutez quelques fonctions ici et là, mais ne vous souciez pas de l'utilisateur, de la disposition ou de la cohérence de l'interface utilisateur. Ce qui n'est pas du tout leur métier.
Donnez-moi une interface utilisateur et je peux vous dire si un développeur ou un ingénieur l'a codée. Vous voyez même la différence dans les mots et les étiquettes qu'ils utilisent. (Attention, ce qui suit est polémique)
Pour poser votre question dans l'autre sens: pourquoi mettons-nous tant l'accent sur les bonnes interfaces de nos jours? La nécessité de rendre les logiciels utilisables, compréhensibles et fiables était déjà donné il y a 20 ans, mais il n'était pas nécessaire pour les entreprises d'investir de l'argent dans de bonnes interfaces.
Je pense que les gens voient de nos jours l'importance de bonnes interfaces, principalement pour deux raisons:
Ainsi, pour rendre votre logiciel plus attrayant et digne que celui de votre concurrent, la plupart des entreprises investissent dans la conception d'interface et l'expérience utilisateur. Ce n'est plus une question de fonctionnalité, mais de convivialité.
Donc, ma réponse serait que la motivation est de l'argent.
Les interfaces doivent être aussi complexes que le cas d'utilisation l'exige.
Vous référencez deux très différents cas d'utilisation.
Gardez à l'esprit que vos exemples étaient
Il y a de telles choses sont de bonnes conceptions compliquées et de mauvaises conceptions minimales.
La principale raison d'une interface complexe est d'avoir des options là-bas. Pour les utilisateurs, les éléments de l'interface utilisateur égalent les capacités du système. S'ils ne voient pas d'option, la plupart d'entre eux ne sauront pas qu'il y a une capacité.
Google vous permet de rechercher par exemple "pages modifiées au cours des deux derniers jours", mais vous n'avez pas d'éléments d'interface utilisateur pour cela sur la première page - vous devez d'abord exécuter la recherche et seulement ensuite vous aurez ces options à gauche de la jeu de résultats. Oui, il existe peut-être (je ne suis pas sûr) des moyens de spécifier le même droit dans la chaîne de requête de recherche, mais peu d'utilisateurs s'en souviendront et la plupart s'appuieront sur les éléments visiblement de l'interface utilisateur.
Maintenant, les concepteurs de Google ont décidé que ces options n'étaient pas si essentielles pour être affichées sur la première page. C'est leur choix et le résultat est une interface utilisateur minimaliste très soignée avec des fonctionnalités visibles un peu réduites. Peu d'entreprises autorisent une telle conception à de telles dépenses et toutes les conceptions ne peuvent pas être faites comme ça.
Je suis d'avis que des interfaces comme les deux dernières images proviennent du fait que le programmeur ne se soucie pas de l'interface utilisateur, mais qu'il suffit de faire la mentalité. De plus, il peut y avoir plus d'un programmeur et ils ne discutent pas de l'interface utilisateur les uns avec les autres. C'est ce que le monde des entreprises et même des petites entreprises encourage. J'ai un superviseur qui est toujours sur la réduction de nos estimations de temps (il l'appelle "nous mettre au défi") pour un travail, et dit de ne pas consacrer trop de temps à quelque chose, de trouver une solution rapide et d'y revenir et de la réparer plus tard . Bien sûr, plus tard ne vient jamais, car vous avez une autre échéance serrée qui suit.
Pour le développement d'applications internes, la situation est encore pire, car maintenant le programmeur estime que puisque seuls les gens de l'entreprise le verront, ils n'ont vraiment pas à se soucier de l'apparence ou de l'UX. Ou comment il sera convivial.
Les patrons de mes emplois précédents ne se soucient PAS de passer du temps à faire quelque chose de bien, car cela allongera le délai. Ils se soucient davantage de le faire parvenir au client le plus rapidement possible, donc ils ont l'air bien. Les équipes sur lesquelles j'ai travaillé n'allouent PAS de temps pour la conception de l'interface utilisateur, et la plupart des équipes sur lesquelles j'ai travaillé dans le passé n'avaient même pas de concepteur. De plus, ils n'écoutent jamais les gens qui doivent utiliser cette interface utilisateur au jour le jour.
Pas complètement le cas dans mon travail actuel. Nous avons un concepteur ici, qui sera également utilisé pour aider à la conception de l'interface utilisateur sur nos applications internes. Ce qui fait une grande différence. Notre application interne toujours aussi utile aura désormais un concepteur travaillant sur l'interface, et je suis le type de l'interface utilisateur, je vais donc l'implémenter et laisser les programmeurs s'inquiéter de la programmation.
Voici donc l'équipe maintenant:
Si nous travaillons tous dans nos domaines de perspective sans marcher l'un sur l'autre, nous ferons le travail. Si tout va bien à l'heure, car il y aura aussi beaucoup de coordination. De plus, tout le monde doit également être sur la même page, donc les documents techniques doivent être mis à jour et chaque membre doit avoir la dernière version. Sans ces éléments, une bonne interface utilisateur sera laissée entre les mains du programmeur, ce qui ne se passe généralement pas si bien.
Les mauvaises interfaces sont créées via de mauvais processus.
Beaucoup de gens blâment les développeurs, mais c'est rarement le cas. Les développeurs se soucient beaucoup du bon design comme n'importe qui. Cependant, dans de nombreux contextes d'entreprise, ils n'ont pas cette capacité de s'occuper. Et, en fait, sont souvent découragés de le faire.
C'est souvent un échec de divers processus de projet:
Un bon processus conduira à une bonne interface utilisateur. Malheureusement, trop d'endroits utilisent encore de très mauvais processus.
Je dirais que tout cela est dû à une recherche d'utilisateurs mauvaise ou inexistante. L'encombrement signifie presque toujours le manque de hiérarchisation et vous ne pouvez pas hiérarchiser lorsque vous ne savez pas ce qui est important. Une fois que vous avez une solide étude du comportement des utilisateurs, vous savez quels contrôles doivent être visibles à tout moment et lesquels peuvent être masqués la plupart du temps.
Et j'assimilerais également les mauvaises compétences en recherche d'utilisateurs à l'incompétence de conception.