On m'a dit, et j'ai découvert par moi-même, que beaucoup de développeurs ne sont pas bons en conception d'interface utilisateur (je ne sais pas si c'est vrai) mais c'est vrai pour moi au moins .
Dans le développement Web, de bonnes compétences en développement de code ne suffisent pas sans de grandes compétences en conception d'interface utilisateur pour les accompagner.
Donc pour moi, et beaucoup de développeurs comme moi, qui n'ont que la moitié de la chose (bonnes compétences en développement), comment devrions-nous compléter notre autre moitié à part payer pour un designer?
L'utilisation de modèles Web Open Source avec peu de modifications est-elle la meilleure solution pour cela, ou existe-t-il d'autres options?
Réponses:
Je suis un développeur qui n'est pas très doué pour le design. J'essaie de mon mieux, lorsque je travaille sur un projet où je dois faire de la conception, de garder les choses aussi simples que possible. J'adopte une approche et une conception très logiques uniquement pour l'expérience utilisateur. Je ne peux pas le rendre vraiment beau, mais je peux le rendre convivial et relativement agréable à l'œil.
J'ai lu plusieurs de ces livres: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/ et ils m'ont vraiment aidé.
modifier mon préféré sur cette liste est Don't Make Me Think: A Common Sense Approach to Web Ergonomie, 2nd Edition par Steve Krug
la source
Le design (de tout) est une négociation entre les besoins des différentes parties prenantes (client, développeur, utilisateurs). Aucune des parties prenantes n'est généralement en bonne position pour créer le meilleur design car elle a tendance à mieux comprendre ses propres besoins et à les placer au-dessus des besoins des autres parties prenantes. Un bon concepteur peut identifier les besoins des différentes parties prenantes - souvent des besoins que la partie prenante elle-même ne réalise pas - et trouver une solution qui fonctionne pour tout le monde.
Vous l'avez probablement déjà vu plusieurs fois. Les utilisateurs réfléchissent à la façon dont ils doivent interagir avec un système, généralement en termes d'un autre système qu'ils connaissent déjà. Les développeurs pensent principalement en termes de fonctionnement du système. Les clients veulent généralement quelque chose qui résoudra tous leurs problèmes, ou bien ils veulent résoudre un problème très spécifique au moindre coût.
Pour devenir un bon designer, vous devez apprendre à arrêter de penser à la façon dont vous allez mettre en œuvre quelque chose. Au lieu de cela, vous devez vous concentrer sur ce que les autres parties prenantes vous disent sur ce dont elles ont besoin et ce qu'elles veulent, et vous devez être capable de lire entre les lignes. Comme les développeurs, les clients et les utilisateurs ont souvent en tête une solution préconçue et ils ont tendance à décrire cette solution au lieu des exigences sous-jacentes. (Cela dit, il est important de réaliser que parfois un client veut dire ce qu'il dit quand il vous dit exactement ce qu'il veut; si vous n'êtes pas sûr, demandez.)
Plus superficiellement, la conception esthétique d'une interface utilisateur est également quelque chose qui pose problème à certains développeurs. Je pense que c'est en partie parce que les développeurs de logiciels n'ont souvent pas beaucoup de formation en esthétique - les étudiants CS peuvent ne pas avoir beaucoup de temps pour les cours d'art. C'est aussi en partie parce que nous sommes plus intéressés par le fonctionnement de quelque chose que par ce à quoi il ressemble; peu nous importe que les coins d'un bouton aient un rayon de 9 pixels ou un rayon de 10 pixels. Ces deux facteurs sont certainement liés. Parfois, vous pouvez surmonter cela en vous appuyant sur des solutions prédéfinies sous la forme de cadres d'interface utilisateur, et l'utilisation de composants préconçus a l'avantage d'unifier visuellement votre propre travail avec d'autres applications sur le même système. Vous pouvez améliorer vos compétences esthétiques en lisant, en regardant le travail des autres, et en accordant une attention particulière aux détails visuels que vous auriez pu ignorer dans le passé. Vous devez également essayer de comprendre la logique derrière les différences visuelles: les boutons carrés signifient-ils quelque chose de différent des boutons arrondis? Comment la couleur est-elle utilisée? etc.
la source
Voici certaines choses que je trouve m'aider:
Prenez note de ce que vous aimez / n'aimez pas dans d'autres logiciels. Nous sommes programmeurs, nous passons une grande partie de notre vie à l'ordinateur. Essayez de prendre note de ce que vous aimez / détestez lorsque vous utilisez un logiciel. Peu importe qu'il s'agisse de logiciels informatiques, de jeux vidéo, d'appareils mobiles, etc. essayez simplement de garder un œil sur ce qui est pratique et facile à utiliser, et ce qui ne l'est pas.
Trouvez un outil d'esquisse facile à utiliser pour esquisser l'interface utilisateur pour vous et vos utilisateurs. J'adore utiliser Balsamiq car il est rapide, simple et la version Web est gratuite.
N'oubliez pas que vous n'avez pas besoin de trouver quelqu'un qui se spécialise dans la conception de logiciels pour vous aider à concevoir quelque chose - n'importe quel utilisateur fera l'affaire. Je réalise souvent mes croquis par des personnes qui ne sont pas du tout liées au projet simplement parce que je sais qu'elles tournent autour des logiciels toute la journée et peuvent me dire si quelque chose semble correct ou convivial. Gardez à l'esprit qu'ils vous donneront souvent des idées folles sur ce qu'il faut faire, et vous devez savoir ce qui serait simplement «cool» à faire et ce qui améliorerait réellement la productivité.
N'hésitez pas à demander sur /ux// des questions détaillées
la source
Pour être honnête, la conception de l'interface utilisateur est tout ensemble une chose différente. Un développeur pense toujours à un design subtil et n'est pas trop créatif lorsqu'il s'agit de concevoir. Je pense que l'approche définitive est de garder un développeur différent pour la conception de l'interface utilisateur. Bien que cela augmente le coût, mais vous aidera certainement à obtenir de meilleurs résultats.
Pour quelqu'un qui fait les deux choses lui-même, ne donne jamais vraiment le meilleur résultat. Donc, à mon humble avis, ces deux aspects différents devraient être attribués à deux développeurs différents. Un peu de connaissance de HTML et CSS pour le skinning et le développement de thèmes est recommandé dans le cas de CMS différents, mais lorsque vous avez besoin de développer une conception entièrement nouvelle, consultez un concepteur d'interface utilisateur.
la source
Je peux certainement recommander le livre de Joel Spolsky, User Interface Design for Programmers . Dans ce livre, il adopte à peu près l'approche que vous recherchez: Expliquer pourquoi la conception de l'interface utilisateur est importante pour les programmeurs. Pour certains documents en ligne:
Concevoir pour les personnes qui ont de meilleures choses à faire avec leur vie
la source
La conception de l'interface utilisateur n'est pas quelque chose de naturel pour beaucoup de gens. Cependant, je me suis récemment beaucoup amélioré en suivant quelques principes simples.
Ne paniquez pas, ce n'est pas aussi difficile que vous le pensez.
Modélisez d'abord la structure des données et votre moteur. Créez des modèles clairs et correspondant au monde réel. Évidemment, cela suppose que vous avez pris le temps de comprendre ce dont le client a besoin.
Maintenant, avec une feuille de papier et un crayon, asseyez-vous et commencez à dessiner la disposition logique des écrans. Cela présente normalement simplement votre modèle de données à l'utilisateur de manière organisée. Votre objectif doit être simplement:
une. Imitez l'environnement dans lequel l'application sera déployée. Par exemple, s'il s'agit d'une application Windows, elle doit se comporter comme une application Windows, si c'est une application Web, elle doit se comporter comme des applications Web similaires qui sont plus populaires que la vôtre.
b. Votre objectif est de guider l'utilisateur à travers votre modèle de données d'une manière qu'ILS prédiraient. Une interface utilisateur est bien conçue lorsqu'un utilisateur fait quelque chose dans votre application et fait exactement ce qu'il attendait de lui.
c. Cela prend du temps et c'est une courbe d'apprentissage, mais n'importe qui peut le faire.
Ne vous souciez pas des graphiques, c'est-à-dire des boutons, des arrière-plans, etc ... votre seul objectif à ce stade est la mise en page logique de la page.
Vous devez maîtriser la bibliothèque gui que vous utilisez, qu'elle soit html, gtk, cacoa, android, Windows.Forms et ainsi de suite dans la mesure où vous comprenez les mécanismes de gestion des événements, le moteur de mise en page et la récupération des entrées et de l'affichage Les données. Tout développeur devrait être en mesure de faire au moins cela.
Il n'y a aucune honte à faire en sorte qu'un graphiste prenne la relève d'ici. Mais vous devriez au moins pouvoir passer l'étape 5. C'est 95% de la charge de travail pour l'application entière.
Voici un article utile qui m'a fait passer d'un pauvre concepteur de GUI à un bien meilleur concepteur de GUI.
http://www.joelonsoftware.com/uibook/fog0000000249.html
la source
Vous pouvez également rechercher des exemples réussis de sites "similaires" pour obtenir des idées de mises en page, de graphiques et de conceptions. Avec un peu de peaufinage dans votre programme de peinture préféré, vous pouvez emprunter beaucoup d'idées et les faire vôtre. Ne copiez pas purement et simplement - ce n'est pas seulement de mauvaises manières, c'est probablement aussi illégal dans la plupart des cas.
Une fois que vous aurez emprunté plusieurs fois, vous commencerez à avoir une meilleure idée des conceptions de sites réussis, et vous connaîtrez également les outils pour créer ces conceptions (avec vos petits ajustements).
la source
Avec l'introduction du HTML, créer un site simple et non laid est devenu un défi. Bien que vous ayez le concept, il faut plusieurs astuces, outils, graphiques prêts à l'emploi et connaissances CSS pour bien faire les choses. En outre, des techniques d'utilisation et d'autres facteurs humains influençant le processus de conception sont nécessaires pour produire des pages à l'aspect net.
Les développeurs passent la plupart de leur temps à se battre pour apprendre des langages complexes, POO, ORM, SQL, T-SQL, etc. Ils investissent également rarement dans des outils pour créer des sites Web (la plupart sont chers).
En conséquence, de nombreux développeurs souffrent de leur incapacité à produire de superbes pages Web. Je crois que si vous apprenez les outils nécessaires, vous pourrez également créer de bonnes pages.
Il est également important de connaître votre rôle dans le processus de développement d'applications. Vous trouverez peut-être que la conception de sites Web est agréable d'avoir des compétences plutôt que d'être une compétence obligatoire. Dans les grands projets, cela ne devrait pas être une tâche de programmeur pour les raisons mentionnées ci-dessus au moins.
J'ai trouvé que cet outil est un excellent outil, il peut vous aider:
Artisteer
Jetez-y un œil et essayez la démo, c'est vraiment bien.
la source
Je ne sais pas si cette affirmation est vraie, je pense que cela dépend de l'endroit où vous travaillez.
Par exemple, une petite entreprise vous demandera probablement d'être plus flexible avec vos compétences, tandis qu'une grande entreprise pourrait ne pas avoir les mêmes attentes et vous pourriez en fait passer tout votre temps à développer pendant qu'une équipe de conception travaille sur la conception.
Microsoft a en fait mis à jour son ensemble d'outils pour mettre en évidence la nette séparation entre les développeurs et les concepteurs. Ils ont introduit Expression Blend avec WPF, ce qui signifie maintenant que le développeur peut travailler sur les fonctionnalités d'un logiciel et que quelqu'un d'autre peut en faire la conception. Ils utilisent tous deux des outils différents, ils peuvent tous les deux travailler sur le projet en même temps mais l'un fait la fonctionnalité et l'autre la conception.
Le développeur spécifie les points de données et le concepteur les affiche.
la source
N'oubliez pas que le design peut également être testé, pas seulement le code. Commencez simplement, essayez votre conception sur un petit groupe de personnes, enregistrez leurs commentaires et continuez à partir de là. Cela peut vous aider à identifier les problèmes avec votre conception et vous donner des idées sur ce qui pourrait / devrait être fait différemment. Révisez ensuite la conception et répétez.
la source
Vous devrez juste le simuler et copier d'autres conceptions. Évitez tout ce qui est sophistiqué, à l'exception d'une ou deux fonctionnalités qui seront un avantage majeur pour les utilisateurs. Suivez quelques pratiques de base pour limiter les polices, les couleurs et l'encombrement.
N'ayez pas peur de poster des questions sur UI.stackexchange.com
la source
Même si ce n'est pas votre domaine d'expertise, je pense qu'il est toujours intéressant d'étudier comment créer des interfaces utilisateur. De nos jours, la plupart des pages Web sont très dynamiques et la connaissance de certaines compétences de l'interface utilisateur serait certainement utile lors de la création de composants et de définir leurs interactions avec les éléments de votre page. Je viens d'un arrière-plan de développement uniquement backend et j'ai été surpris de voir à quel point la création d'interfaces est impliquée.
Il y a un très bon livre que j'ai lu sur la conception web et qui s'adresse aux développeurs:
Conception Web pour les développeurs: http://pragprog.com/book/bhgwad/web-design-for-developers
C'est un livre facile à lire qui touche toutes les phases lors de la création d'interfaces: de l'esquisse simple et du prototypage d'interfaces utilisateur à la création de conceptions avec HTML + CSS.
Pour améliorer davantage vos compétences d'interface utilisateur, je recommande également le dernier screencast de PeepCode avec Ryan Singer: http://peepcode.com/products/ryan-singer-ux
la source
Je pense que prendre quelques notions de base en UX / UI / graphiques / typographie est certainement une entreprise précieuse. Bien sûr, vous ne pouvez pas toujours avoir une équipe de spécialistes "bien équilibrée". Souvent, les gens doivent porter plusieurs chapeaux. Un bon développeur verra la valeur de passer du temps à apprendre des choses en dehors de son domaine et devrait être en mesure de reconnaître au moins un bon travail dans la conception.
Cependant, il y a quelque chose à dire sur ce que font les designers. Un développeur ne peut que faire beaucoup dans le domaine du design (certes certains plus que d'autres). En particulier, les grands projets destinés au public qui dépassent un créneau étroit bénéficient grandement en employant de vrais professionnels de la conception. Et je ne parle pas simplement des gens qui peuvent se déplacer autour des codes de couleur CSS et HTML. Je veux dire des gens qui ont passé des ANNÉES à étudier des choses comme la typographie, qui ont lu et compris le livre de Josef Alber sur la couleur , qui peuvent faire de beaux croquis avec du charbon de bois en ruine sur du papier journal. Ce sont des compétences précieuses et les projets qui reconnaissent cela et qui peuvent mettre ces compétences à un usage ciblé ont un avantage certain sur la concurrence.
Cela dit, il existe certains domaines dans lesquels les concepteurs et les développeurs peuvent chevaucher leurs compétences. Surtout UX et son sous-domaine, UI. Je recommande ...
la source
Embauchez un pro.
Sérieusement, les interfaces utilisateur des développeurs ont une terrible réputation. Ce n'est pas parce que les développeurs sont inférieurs à la moyenne lors de la conception, mais plutôt parce que les développeurs sont inférieurs à la moyenne lorsqu'ils demandent de l'aide.
Un développeur a tendance à relever tous les défis numériques qui se présentent à lui.
(J'ai été développeur professionnel pendant 10 ans et ma femme est designer d'interface utilisateur depuis 20 ans)
la source