Si vous êtes un programmeur qui ne possède pas de compétences en conception visuelle, qu'est-ce qui a le mieux fonctionné pour vous - pour vous associer à un graphiste ou pour faire toute la programmation et ensuite réaliser un travail spécifique?
J'ai travaillé en tant que développeur indépendant pendant longtemps avant le travail en entreprise et je recommande ce dernier si vous avez un budget et un calendrier serrés et que vous devez expédier.
Le problème est que travailler avec un designer en amont est idéal, mais les frais généraux de collaboration peuvent être énormes , surtout s'ils sont de grands designers. Les grands designers seront obsédés par chaque détail, sauf que leurs conceptions ne communiqueront souvent pas chaque détail jusqu'à la dernière fonction. Vous pouvez finir par devoir lire entre les lignes pour toutes les maquettes, et il devient difficile de savoir qui est le concepteur réel en ce qui concerne ces décisions de workflow subtiles mais très importantes.
Travailler avec les concepteurs Upfront
Une chose délicate qui peut se produire est que vous pourriez obtenir un concepteur qui fabrique cette belle maquette d'aspect produit final méticuleusement rendue dans Photoshop, par exemple, il est bon d'éviter réellement ces types ou au moins de les former à l'avance.
Le problème dans ces cas est que vous pouvez finir par passer tout votre temps à essayer de faire correspondre une ombre portée ou un biseau / arrondi de bouton ou un anticrénelage de police à l'apparence de Photoshop, par exemple
Idéalement, la conception de votre logiciel et la conception graphique du concepteur évoluent ensemble, donc c'est génial si vous commencez par un concepteur dès le départ pour que le concepteur garde ses conceptions très lâches, sommaires, comme "griffonné sur une serviette" en quelque sorte lâche. Il doit être hautement collaboratif, et encore plus au tout début. Vous et le concepteur devez être disposés à faire évoluer vos conceptions et à s'écarter un peu du "croquis" du début, et il faut mettre l'accent sur le "croquis lâche".
Il est également bon d'établir certaines contraintes à l'avance afin de ne pas essayer de faire correspondre les capacités de rendu de Photoshop ou d'Illustrator. Par exemple, pour la boîte à outils GUI que vous utilisez, vous voulez faire attention à ses capacités de rendu pratiques, à quoi il ressemble, et formez le concepteur pour que ses conceptions correspondent à la capacité (et même à l'utilisation / aux dispositions encouragées) de votre kit d'interface graphique.
Si vous vous battez contre le kit GUI pour essayer de faire correspondre vos conceptions, vous devez soit former le concepteur des contraintes du système plus à l'avance, soit abandonner le kit GUI et éventuellement même lancer le vôtre si vous voulez vraiment obtenir une correspondance parfaite. . Idéalement, le concepteur esquisse sa conception à l'intérieur du kit GUI, mais cela peut ou non être pratique selon vos outils.
Travailler tard avec les concepteurs
Je suppose que cela se produit car je dois être explicite dans ce que je veux avec les entrepreneurs, et leur créativité est limitée par l'architecture que j'ai créée.
Ce n'est pas forcément une mauvaise chose. Un grand designer peut faire des choses fantastiques à partir de contraintes strictes. Parfois, ils font même mieux avec des contraintes strictes, comme les concepteurs de sprites pour Super Nintendo, Ridley Scott quand il a fait Alien, etc. Je recommanderais en fait cette route si vous manquez de temps / budget, et ne soyez pas déçu de voir beaucoup de votre empreinte dans la conception.
Troisième option: développer vos compétences en conception
Je suis un horrible concepteur d'interface utilisateur, mais je ne suis pas un programmeur très riche et je n'ai jamais eu l'argent pour me permettre un concepteur d'interface utilisateur.
De plus, mon expérience en entreprise ne m'a pas donné une bonne idée du coût (en termes de temps et d'argent) de travailler avec un atelier dédié (même après avoir passé par plusieurs designers pendant une décennie), bien que le kilométrage de chacun puisse varier. Il semble que certaines personnes ici aient eu de grandes expériences de travail avec des concepteurs, donc il se peut que ce soit le cadre de l'entreprise (tous les programmeurs détestaient travailler avec les concepteurs là-bas et le considéraient largement comme consacrant beaucoup de temps à des détails difficiles).
J'ai donc toujours essayé de développer un peu mes compétences en conception. Un exemple d'une de mes petites applications:
Il a obtenu de belles réponses quant à la conception, bien que cela puisse être des utilisateurs qui me flattent, et aussi parce que cette application est un peu technique (programmation visuelle avec audio et images et vidéo). Avec un peu de chance, je ne me suis pas trop embarrassé juste là (je pense que c'est raisonnable, mais ça pourrait être de l '"art programmeur").
Si cela ne semble pas trop horrible, je trouve que la clé est juste de travailler avec mes compétences de conception limitées. Comme je suis si horrible, j'utilise des palettes minimales, comme du gris foncé avec pas plus de deux ou trois couleurs principales pour les surlignages de sélection et des choses comme ça, calmez-vous sur les dégradés, utilisez des menus et des trucs au lieu de beaucoup de dialogues fantaisistes, mais ne les faites pas défiler lorsque cela est possible. Fondamentalement, je fais tout ce que je peux pour cacher le fait que je ne sais pas ce que je fais.
Habituellement, quand je vois des conceptions de développeurs qui semblent vraiment dégoûtantes (pas seulement à mes yeux mais à peu près tout le monde), les programmeurs ne sont probablement pas pires que moi au niveau de la conception et très probablement beaucoup mieux mais tout simplement trop ambitieux. Ils mettent des dégradés de fantaisie partout, essayant de créer un design très coloré - et cela demande beaucoup de compétences pour bien faire. Il est plus facile de créer un design sobre avec une sélection minutieuse d'une poignée de couleurs pour faire ressortir les choses, et cela prend peu de compétences en conception.
Tout est organisation comme je le vois. Mes conceptions ne semblent peut-être pas vraiment bonnes, mais elles sont en quelque sorte liées à la fonctionnalité, et je me concentre sur les choses sur lesquelles je peux facilement me concentrer en tant que programmeur, comme garder tout réactif, rapide, à faible mémoire, sans bégaiement. Il semble obtenir une réponse positive, mais je ne sais pas.
Une autre chose est que si vous travaillez sur une application où il y a comme une zone de mise au point principale comme une toile ou une fenêtre ou quelque chose, les gens sont étonnamment généreux avec un design incroyablement minimaliste ici. Ci-dessous, je l'ai gardé dans les menus et les boîtes de dialogue tout au long du processus et les utilisateurs au moins ne semblaient pas le détester même s'il n'y a pas grand-chose de "design" ici (juste un menu de style "start" et un niveau supérieur menus et quelques boîtes de dialogue contextuelles de base qui peuvent être ancrées):
Ici, j'ai vraiment caché le fait que je ne sais pas ce que je fais en décorant simplement la fenêtre avec des menus et des trucs de base, mais l'illustration au centre la rend un peu intéressante sans mon "intervention de conception". Ainsi, vous pouvez vraiment, vraiment soumettre le design dans ces cas et laisser la beauté du travail de l'utilisateur ressortir.
... Ce n'est pas si difficile de concevoir un logiciel qui pourrait au moins se débrouiller raisonnablement bien avec un public indé. Je ne suis généralement pas en concurrence avec les grandes entreprises quand je suis en solo, alors peut-être que les gens me donnent beaucoup de latitude avec mes créations. Pourtant, je pense que cela vaut la peine de développer vos compétences en conception un tout petit peu, ne serait-ce que pour mieux communiquer vos intentions avec le designer. J'aurais peut-être juste fait un crétin de moi-même avec ces images ci-dessus, mais si ce n'est pas le cas et qu'elles ne sont pas trop mauvaises, j'ai trouvé qu'il ne fallait pas de formation formelle ni de temps pour faire ce genre de conceptions de base. Tout ce dont nous avons besoin, c'est de retenue.