Wenn Sie ein Programmierer sind, dem es an visuellen Designfähigkeiten mangelt, was hat für Sie am besten funktioniert - sich mit einem Grafikdesigner zusammenzutun oder die gesamte Programmierung durchzuführen und dann bestimmte Arbeiten zu erstellen?
Ich habe lange Zeit als Indy-Entwickler gearbeitet, bevor ich in der Firma gearbeitet habe, und ich empfehle letzteres, wenn Sie ein knappes Budget und einen engen Zeitplan haben und versenden müssen.
Das Problem ist, dass die Zusammenarbeit mit einem Designer im Voraus ideal ist, aber der Aufwand für die Zusammenarbeit kann enorm sein , insbesondere wenn es sich um großartige Designer handelt. Großartige Designer werden von jedem Detail besessen sein, außer dass ihre Entwürfe oft nicht jedes Detail bis zur letzten Funktion kommunizieren. Es kann sein, dass Sie für alle Modelle zwischen den Zeilen lesen müssen, und es wird langsam unklar, wer der eigentliche Designer ist, wenn es um diese subtilen, aber sehr wichtigen Workflow-Entscheidungen geht.
Vorab mit Designern arbeiten
Eine schwierige Sache, die auftreten kann, ist, dass Sie möglicherweise einen Designer finden, der dieses schöne, wie ein Endprodukt aussehende Modell in Photoshop akribisch rendert. ZB ist es gut, diese Typen tatsächlich zu vermeiden oder sie zumindest im Voraus zu trainieren.
Das Problem in diesen Fällen ist, dass Sie möglicherweise Ihre ganze Zeit damit verbringen, einen Schlagschatten oder eine Abschrägung / Rundung der Schaltfläche oder ein Antialiasing der Schriftarten an das Aussehen von Photoshop anzupassen, z
Im Idealfall entwickeln sich sowohl Ihr Software-Design als auch das Grafikdesign des Designers zusammen. Wenn Sie also mit einem Designer im Voraus beginnen, sollte der Designer seine Designs sehr locker und skizzenhaft halten, wie "auf eine Serviette gekritzelt". Es muss sehr kooperativ sein, und das von Anfang an. Sowohl Sie als auch der Designer müssen bereit sein, Ihre Entwürfe weiterzuentwickeln und von Anfang an stark von der "Skizze" abzuweichen, und es muss eine sehr starke Betonung auf die "lose Skizze" gelegt werden.
Es ist auch gut, einige Einschränkungen im Voraus festzulegen, damit Sie nicht versuchen, die Rendering-Funktionen von Photoshop oder Illustrator anzupassen. ZB für jedes verwendete GUI-Toolkit möchten Sie auf die praktischen Rendering-Funktionen achten, wie es aussieht. und schulen Sie den Designer, damit seine Entwürfe den Fähigkeiten (und sogar der empfohlenen Verwendung / Layouts) Ihres GUI-Kits entsprechen.
Wenn Sie gegen das GUI-Kit kämpfen, um zu versuchen, dass Ihre Designs übereinstimmen, müssen Sie entweder den Designer der Systemeinschränkungen im Voraus schulen oder das GUI-Kit fallen lassen und möglicherweise sogar Ihr eigenes rollen, wenn Sie wirklich eine perfekte Übereinstimmung erzielen möchten . Im Idealfall skizziert der Designer sein Design tatsächlich innerhalb des GUI-Kits, aber das kann je nach Ihren Werkzeugen praktisch sein oder auch nicht.
Spät mit Designern arbeiten
Ich denke, dies geschieht, da ich explizit angeben muss, was ich mit Auftragnehmern möchte, und deren Kreativität durch die von mir erstellte Architektur eingeschränkt ist.
Das ist nicht unbedingt eine schlechte Sache. Ein großartiger Designer kann aus engen Zwängen fantastische Dinge machen. Manchmal machen sie es sogar besser mit engen Einschränkungen, wie den Sprite-Designern für Super Nintendo, Ridley Scott, als er Alien gemacht hat usw. Ich würde diese Route tatsächlich empfehlen, wenn Sie wenig Zeit / Budget haben und nicht enttäuscht sind, viel davon zu sehen Ihr Abdruck im Design.
Dritte Option: Entwickeln Sie Ihre Designfähigkeiten
Ich bin ein schrecklicher UI-Designer, aber ich bin kein sehr reicher Programmierer und hatte nie das Geld, mir einen UI-Designer zu leisten.
Auch meine Unternehmenserfahrung gab mir keinen guten Eindruck von den Kosten (zeitlich und finanziell) für die Arbeit mit einem engagierten Mitarbeiter (selbst nachdem ich über ein Jahrzehnt mehrere Designer durchlaufen hatte), obwohl die Laufleistung jedes Einzelnen variieren kann. Es scheint, dass einige Leute hier großartige Erfahrungen mit Designern gemacht haben, so dass es möglicherweise nur diese Firmenumgebung war (alle Programmierer hassten es, mit den Designern dort zu arbeiten, und sahen darin größtenteils, dass sie übermäßig viel Zeit mit wählerischen Details verbrachten).
Deshalb habe ich immer versucht, meine Designfähigkeiten ein wenig zu entwickeln. Ein Beispiel für eine meiner kleinen Apps:
Es gab einige nette Antworten bezüglich des Designs, obwohl das vielleicht Benutzer sind, die mir nur schmeicheln, und auch, weil diese Anwendung ein bisschen technisch ist (visuelle Programmierung mit Audio und Bildern und Video). Hoffentlich habe ich mich gerade dort nicht zu sehr in Verlegenheit gebracht (ich denke, es ist vernünftig, aber es könnte nur "Programmierkunst" sein).
Wenn das nicht allzu schrecklich aussieht, finde ich, dass der Schlüssel nur darin besteht, mit meinen begrenzten Designfähigkeiten zu arbeiten. Da ich so schrecklich darin bin, verwende ich minimale Paletten, wie etwas Dunkelgrau mit nicht mehr als zwei oder drei Hauptfarben für Auswahlhighlights und ähnliches, schont die Farbverläufe, verwende Menüs und andere Dinge anstelle von vielen ausgefallene Dialoge, aber lassen Sie sie nicht scrollen, wenn dies möglich ist. Grundsätzlich tue ich alles, um die Tatsache zu verbergen, dass ich nicht weiß, was zum Teufel ich tue.
Wenn ich Entwicklerdesigns sehe, die wirklich eklig erscheinen (nicht nur für meine Augen, sondern für so ziemlich jeden), sind die Programmierer normalerweise nicht schlechter als ich im Design und möglicherweise viel besser, aber einfach zu ehrgeizig. Sie setzen überall ausgefallene Farbverläufe ein und versuchen, ein sehr farbenfrohes Design zu erstellen - und das erfordert viel Geschick, um es richtig zu machen. Es ist einfacher, ein gedämpftes Design mit einer sorgfältigen Auswahl einer Handvoll Farben zu erstellen, damit die Dinge herausspringen, und das erfordert überhaupt wenig Designkenntnisse.
Es ist alles Organisation, wie ich es sehe. Meine Designs sehen vielleicht nicht wirklich gut aus, aber sie hängen irgendwie mit der Funktionalität zusammen, und ich konzentriere mich auf die Dinge, auf die ich mich als Programmierer leicht konzentrieren kann, wie alles reaktionsschnell, schnell, speicherarm und stotternd zu halten. Es scheint eine positive Antwort zu bekommen, aber ich weiß nicht.
Eine andere Sache ist, dass wenn Sie an einer Anwendung arbeiten, bei der es einen Hauptfokusbereich wie eine Leinwand oder ein Ansichtsfenster oder etwas anderes gibt, die Leute hier überraschend großzügig mit einem unglaublich minimalistischen Design sind. Unten habe ich es nur auf Menüs und Dialoge gehalten und die Benutzer schienen es zumindest nicht zu hassen, obwohl es hier überhaupt nicht viel von einem "Design" gibt (nur ein Menü im "Start" -Stil und eine Top-Ebene Menüs und einige grundlegende Popup-Dialoge, die angedockt werden können):
Hier habe ich wirklich die Tatsache versteckt, dass ich nicht weiß, was ich tue, indem ich nur das Ansichtsfenster mit einfachen Menüs und Dingen dekoriere, aber das Kunstwerk in der Mitte lässt es ohne meine "Designintervention" irgendwie interessant aussehen. So können Sie das Design in diesen Fällen wirklich, wirklich unterdrücken und die Schönheit der Arbeit des Benutzers herausspringen lassen.
... Es ist nicht so schwer, eine Software zu entwickeln, die bei einem Indy-Publikum zumindest einigermaßen gut abschneidet. Normalerweise konkurriere ich nicht mit großen Unternehmen, wenn ich alleine bin. Vielleicht geben mir die Leute nur viel Spielraum bei meinen Entwürfen. Ich denke jedoch, dass es sich lohnt, Ihre Designfähigkeiten ein wenig weiterzuentwickeln, um Ihre Absichten besser mit dem Designer zu kommunizieren. Ich hätte mit diesen obigen Bildern vielleicht gerade einen Esel aus mir gemacht, aber wenn nicht und sie nicht schlecht sind, habe ich festgestellt, dass es keine formelle Schulung oder Zeit braucht, um diese Art von Grundentwürfen zu erstellen. Alles was wir brauchen ist Zurückhaltung.