Überwindung des allgemeinen Mangels an UI-Designfähigkeiten bei Entwicklern [geschlossen]


17

Mir wurde gesagt und ich habe selbst festgestellt, dass viele Entwickler im UI-Design nicht gut sind (ich weiß nicht, wie wahr das ist), aber es stimmt zumindest für mich .

In der Webentwicklung reichen gute Codeentwicklungsfähigkeiten nicht aus, ohne die entsprechenden Kenntnisse im UI-Design zu besitzen.

Also für mich und viele Entwickler wie mich, die nur die Hälfte der Dinge (gute Entwicklungsfähigkeiten) haben, wie sollten wir unsere andere Hälfte vervollständigen, außer für einen Designer zu bezahlen?

Ist die Verwendung von Open Source-Webvorlagen mit geringen Änderungen die beste Lösung dafür, oder gibt es andere Optionen?


12
"Wie sollte ich als UX-Person mit schlechten Entwicklungsfähigkeiten eine Site entwickeln, ohne dafür einen Entwickler zu bezahlen?"
Steven Evers

Sie sollten sehen, woran ich gerade arbeite - UI-Katastrophe. Ich glaube, niemand, der an dem Projekt arbeitet, hat sich jemals mit Designleitfäden für Benutzeroberflächen beschäftigt. Dasselbe gilt für mein vorheriges Projekt, nur für dieses habe ich das Problem erzwungen und mich an den Grafikdesigner gewandt, aber es gab einige Teile des Codes, die sich meiner Kontrolle entzogen hatten und die wirklich schrecklich waren.
Skizz

7
Stelle einen Designer ein. Nur so können Sie sicher sein.
SF.

1
Diese Frage ist problematisch. Sie könnten genauso gut über die Überwindung des allgemeinen Mangels an Programmierkenntnissen bei Designern sprechen.
Alex Feinman

Antworten:


11

Ich bin ein Entwickler, der auch nicht so gut im Design ist. Wenn ich an einem Projekt arbeite, in dem ich entwerfen muss, bemühe ich mich, die Dinge so einfach wie möglich zu halten. Ich gehe sehr logisch vor und gestalte nur für das Benutzererlebnis. Ich kann es nicht wirklich schön aussehen lassen, aber ich kann es benutzerfreundlich und für das Auge relativ angenehm machen.

Ich habe einige dieser Bücher gelesen: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/ und sie haben mir wirklich geholfen.

Bearbeiten Sie meinen Favoriten auf dieser Liste ist Don't Make Me Think: Ein vernünftiger Ansatz für die Benutzerfreundlichkeit im Web, 2. Auflage von Steve Krug


Ich weiß nicht, warum Entwickler das Gefühl haben, dass sie die ganze Zeit alles für alle sein müssen. Ich bin bereits Entwickler, Designer, Architekt, Business Analyst, Produktionsbetreuer und QS. Es ist immer noch nicht genug und ich muss jetzt auch DBA sein.
maple_shaft

3
Als Freiberufler müssen Sie entweder über alle Fähigkeiten verfügen oder Teile eines Projekts auslagern. Wenn Sie überhaupt nicht in der Lage sind, etwas zu tun, müssen Sie unbedingt eine andere Person finden. Aber wenn Sie die Fähigkeiten erlernen können, warum dann nicht? Machen Sie es möglich, mehr zu verdienen und aus der Perspektive potenzieller Kunden ein attraktiverer Entwickler zu werden.
Sydenam

2
Ich weiß und stimme Ihnen zu, ich bin nur angewidert von dem, was die Branche wird. Ich bin umgeben von Leuten, die ihren Job hassen und überarbeitet sind und eine blöde Vorstellung davon haben, dass sie hoffen, die nächsten Angry Birds zu sein, und sie fragen mich, ob sie einen Inder 6 USD pro Stunde bezahlen können, um ALLE ARBEITEN zu erledigen und einfach zu öffnen Quelle für alles, ohne etwas beizutragen, denn Open Source ist KOSTENLOS. Dann hoffen sie, Millionen zu verdienen und ihren Job zu kündigen. Diese Inhaber von schlechten Ideen erwarten immer mehr und dann immer mehr für fast kein Geld. Es macht mich nur krank.
maple_shaft

5

Design (von irgendetwas) ist eine Aushandlung zwischen den Bedürfnissen der verschiedenen Interessengruppen (Kunden, Entwickler, Benutzer). Keiner der Stakeholder ist in der Regel in der Lage, das beste Design zu erstellen, da sie ihre eigenen Bedürfnisse am besten verstehen und sie über die Bedürfnisse der anderen Stakeholder stellen. Ein guter Designer kann die Bedürfnisse der verschiedenen Stakeholder identifizieren - oftmals Bedürfnisse, die der Stakeholder selbst nicht bemerkt - und eine Lösung finden, die für alle funktioniert.

Sie haben das wahrscheinlich schon oft selbst gesehen. Benutzer überlegen, wie sie mit einem System interagieren müssen, normalerweise in Bezug auf ein anderes System, mit dem sie bereits vertraut sind. Entwickler denken hauptsächlich darüber nach, wie das System funktioniert. Kunden möchten normalerweise etwas, das alle ihre Probleme löst, oder sie möchten ein ganz bestimmtes Problem zu den geringsten Kosten lösen.

Um ein guter Designer zu werden, muss man lernen, nicht weiter darüber nachzudenken, wie man etwas umsetzt. Stattdessen müssen Sie sich darauf konzentrieren, was die anderen Beteiligten Ihnen über ihre Bedürfnisse und Wünsche erzählen, und Sie müssen in der Lage sein, zwischen den Zeilen zu lesen. Wie Entwickler haben Kunden und Benutzer oft eine vorgefasste Lösung im Sinn, und sie neigen dazu, diese Lösung anstelle der zugrunde liegenden Anforderungen zu beschreiben. (Dabei ist es wichtig zu wissen, dass ein Kunde manchmal meint, was er sagt, wenn er Ihnen genau sagt, was er will. Wenn Sie sich nicht sicher sind, fragen Sie.)

Oberflächlich betrachtet haben einige Entwickler auch Probleme mit dem ästhetischen Design einer Benutzeroberfläche. Ich denke, das liegt zum Teil daran, dass Softwareentwickler oft nicht viel Erfahrung mit Ästhetik haben - CS-Studenten haben möglicherweise nicht viel Zeit für Kunstkurse. Es ist auch teilweise wieder so, weil wir mehr daran interessiert sind, wie etwas funktioniert, als daran, wie es aussieht. Es ist uns einfach egal, ob die Ecken einer Schaltfläche einen Radius von 9 Pixel oder 10 Pixel haben. Diese beiden Faktoren hängen sicherlich zusammen. Manchmal können Sie dies überwinden, indem Sie sich auf vordefinierte Lösungen in Form von UI-Frameworks verlassen. Die Verwendung vordefinierter Komponenten bietet den Vorteil, dass Sie Ihre eigene Arbeit visuell mit anderen Anwendungen auf demselben System vereinen können. Sie können Ihre ästhetischen Fähigkeiten verbessern, indem Sie die Arbeit anderer lesen, und achten Sie genau auf die visuellen Details, die Sie in der Vergangenheit möglicherweise ignoriert haben. Sie sollten auch versuchen, die Logik hinter den visuellen Unterschieden zu verstehen: Bedeuten quadratische Schaltflächen etwas anderes als abgerundete Schaltflächen? Wie wird Farbe verwendet? etc.


1
danke für die gr8-antwort gibt es ressourcen, bücher und sites, die über dieses thema sprechen: "logik hinter visuellen unterschieden: Bedeuten eckige knöpfe etwas anderes als abgerundete knöpfe? Wie werden farben verwendet? etc."
Ali

Auf einer Seite zur Kenntnis und rein aus Neugier, tut Quadrat eckige Tasten mittleres etwas andere abgerundete Tasten? Wurde dies auf der UX SE angesprochen, frage ich mich?
Sean Hanley

Farbe und abgerundete Schaltflächen sind ein Problem der Grafik und haben wirklich nichts mit UX zu tun. Eine bessere Frage für UX wäre "Was hält unser Benutzer von unserer Site mit dem Farbschema x gegenüber dem Farbschema y" und der Platzierung dieser Schaltflächen.
Nic

@Yadyn, das hängt vom Kontext ab. Die Tastengeometrie kann dem Benutzer einen Hinweis auf Funktion und Verhalten geben: Quadratische Tasten bilden attraktive Gruppen und eignen sich häufig gut zur Auswahl von Optionen oder Modi. Abgerundete Schaltflächen sind nicht so gut gestapelt und weisen häufig auf bestimmte Vorgänge hin. Diese Art von visuellen Hinweisen hat jedoch nur dann eine Bedeutung, wenn sie in einer Anwendung oder (besser) in einer gesamten GUI konsistent verwendet werden.
Caleb

@melee, ich komme zu diesem Punkt aus der Sicht der Anwendungsentwicklung. Die Schnittstellen im Web sind in der Regel sehr viel vielfältiger, und ich stimme zu, dass es in diesem Zusammenhang schwieriger ist, dies zu tun. Aber wenn Sie eine typische Desktop-Anwendung auf dem Mac verwendet haben und sagten: "Blaue Schaltflächen sehen gut aus - machen wir alle Schaltflächen blau!" Sie würden den Benutzern viel Verwirrung bereiten, da die Benutzer der Farbe und Form einer Schaltfläche eine Bedeutung beimessen. Beispiele hier (Apple HIG): tinyurl.com/6agv54v
Caleb

3

Hier sind einige Dinge, die mir helfen:

  • Beachten Sie, was Sie in anderer Software mögen / nicht mögen. Wir sind Programmierer, wir verbringen einen großen Teil unseres Lebens am Computer. Versuchen Sie und beachten Sie, was Sie lieben / hassen, wenn Sie Software verwenden. Egal, ob es sich um Computersoftware, Videospiele, mobile Geräte usw. handelt. Achten Sie nur darauf, was bequem und einfach zu bedienen ist und was nicht.

  • Hier finden Sie ein benutzerfreundliches Skizzierwerkzeug zum Skizzieren der Benutzeroberfläche für Sie und Ihre Benutzer. Ich liebe es, Balsamiq zu verwenden, da es schnell und einfach ist und die Webversion kostenlos ist.

  • Denken Sie daran, dass Sie nicht jemanden suchen müssen, der sich auf Software-Design spezialisiert hat, um etwas zu entwerfen - jeder Benutzer wird es tun. Ich führe meine Skizzen oft von Leuten durch, die nichts mit dem Projekt zu tun haben, nur weil ich weiß, dass sie den ganzen Tag mit Software zu tun haben und mir sagen können, ob etwas in Ordnung aussieht oder benutzerfreundlich ist. Denken Sie nur daran, dass sie Ihnen oft verrückte Ideen darüber geben, was zu tun ist, und Sie müssen wissen, was einfach "cool" ist und was die Produktivität tatsächlich verbessert.

  • Fühlen Sie sich frei, unter /ux// detaillierte Fragen zu stellen


1
Guter Rat, gutes Werkzeug
NoChance

2

Um ehrlich zu sein, ist das Entwerfen von Benutzeroberflächen eine ganz andere Sache. Ein Entwickler denkt immer an ein subtiles Design und ist beim Entwerfen nicht zu kreativ. Ich bin der festen Überzeugung, einen anderen Entwickler für das UI-Design beizubehalten. Dies erhöht zwar die Kosten, hilft Ihnen jedoch definitiv dabei, bessere Ergebnisse zu erzielen.

Für jemanden, der beides selbst macht, gibt es nie wirklich das beste Ergebnis. Also, meiner Meinung nach sollten diese beiden unterschiedlichen Aspekte zwei unterschiedlichen Entwicklern zugewiesen werden. Ein wenig HTML- und CSS-Kenntnisse für das Enthäuten und Entwickeln von Themen werden für verschiedene CMS empfohlen. Wenn Sie jedoch ein völlig neues Design entwickeln müssen, wenden Sie sich an einen UI-Designer.



2

UI-Design ist für viele Menschen nicht selbstverständlich. Ich bin jedoch in letzter Zeit viel besser darin geworden, indem ich ein paar einfachen Prinzipien gefolgt bin.

  1. Nicht ausflippen, es ist nicht so schwer, wie du denkst.

  2. Modellieren Sie zuerst die Datenstruktur und Ihren Motor. Erstellen Sie klare und realitätsnahe Modelle. Dies setzt natürlich voraus, dass Sie sich die Zeit genommen haben, um zu verstehen, was der Kunde benötigt.

  3. Setzen Sie sich jetzt mit einem Blatt Papier und einem Bleistift hin und zeichnen Sie die logische Anordnung der Bildschirme. Dies präsentiert dem Benutzer normalerweise einfach Ihr Datenmodell in einer organisierten Art und Weise. Ihr Ziel sollte einfach sein:

    ein. Imitieren Sie die Umgebung, in der die App bereitgestellt wird. Wenn es sich beispielsweise um eine Windows-App handelt, muss es sich wie eine Windows-App verhalten. Wenn es sich um eine Web-App handelt, muss es sich wie ähnliche Webanwendungen verhalten, die beliebter sind als Ihre.

    b. Ihr Ziel ist es, den Benutzer auf eine Weise durch Ihr Datenmodell zu führen, die SIE vorhersagen würden. Eine Benutzeroberfläche ist gut gestaltet, wenn ein Benutzer etwas in Ihrer Anwendung ausführt und genau das tut, was er erwartet hat.

    c. Dies braucht Zeit und es ist eine Lernkurve, aber jeder kann es tun.

  4. Kümmern Sie sich nicht um die Grafiken, dh die Schaltflächen, die Hintergründe usw. Ihr einziges Ziel an dieser Stelle ist das logische Layout der Seite.

  5. Sie müssen die GUI-Bibliothek beherrschen, die Sie verwenden, unabhängig davon, ob es sich um HTML, GTK, Cocoa, Android, Windows.Forms usw. handelt, sofern Sie die Mechanismen zur Ereignisbehandlung, die Layout-Engine und das Abrufen von Eingaben und Anzeigen verstehen Daten. Zumindest das sollte jeder Entwickler können.

  6. Es ist keine Schande, einen Grafikdesigner von hier zu übernehmen. Sie sollten jedoch mindestens in der Lage sein, Schritt 5 zu überwinden. Dies entspricht 95% der Arbeitslast für die gesamte App.

Hier ist ein hilfreicher Artikel, der mich von einem armen GUI-Designer zu einem viel besseren GUI-Designer gemacht hat.

http://www.joelonsoftware.com/uibook/fog0000000249.html


Guter Rat, aber ich stimme Punkt 2 nicht zu. Ich würde den Benutzer auch mehr in die obigen Schritte einbeziehen.
NoChance

1
@Emmad Wenn Sie sich Ihre Anwendung als eine Reihe von Vorgängen vorstellen, die mit Daten ausgeführt werden, besteht der einzige Zweck der Benutzeroberfläche darin, eine organisierte Methode zum Empfangen von Eingaben in das Datenmodell und zum Anzeigen des Datenmodells bereitzustellen. Der Grund, warum ich dort 2 eingegeben habe, ist, dass die Benutzeroberfläche nach dem Modellieren der Daten einfach nicht mehr passt. Ich führe ausführliche Interviews mit dem Endbenutzer, um festzustellen, mit welchen Daten er was machen möchte. Das ist die Anwendung. Dann lege ich das Zeug auf die Seite und frage, wie soll das aussehen? Es hat mich nie falsch gemacht.
Jonathan Henson

1
Wenn ich den Grafikern erlaube, die Benutzeroberfläche zu zeichnen, endet dies immer in einer Katastrophe. Sie wissen nicht, wie die Daten organisiert werden sollen, und sie wissen fast nie, was möglich ist und was nicht.
Jonathan Henson

Vielen Dank für die Erklärung, ich stimme Ihnen zu, dass Grafikdesigner nicht mit dem Informationsmanagement beauftragt werden dürfen.
NoChance

1

Sie können auch nach erfolgreichen Beispielen für "ähnliche" Websites suchen, um Ideen für Layouts, Grafiken und Designs zu erhalten. Mit ein wenig Feinarbeit in Ihrem Lieblings-Malprogramm können Sie sich viele Ideen ausleihen und diese zu Ihren eigenen machen. Kopieren Sie nicht direkt - es ist nicht nur schlecht, es ist wahrscheinlich auch in den meisten Fällen illegal.

Wenn Sie ein paar Mal ausgeliehen haben, werden Sie ein besseres Gefühl für die Entwürfe erfolgreicher Websites bekommen und Sie werden die Werkzeuge kennenlernen, mit denen auch diese Entwürfe erstellt werden können (mit kleinen Änderungen).


1

Mit der Einführung von HTML wurde die Erstellung einer einfachen, nicht hässlich aussehenden Website zu einer Herausforderung. Während Sie das Konzept haben, sind einige Tricks, Tools, fertige Grafiken und CSS-Kenntnisse erforderlich, um es richtig zu machen. Außerdem sind Usability-Techniken und andere menschliche Faktoren, die den Designprozess beeinflussen, erforderlich, um scharf aussehende Seiten zu erstellen.

Entwickler verbringen die meiste Zeit damit, komplexe Sprachen, OOP, ORM, SQL, T-SQL usw. zu erlernen. Außerdem investieren sie selten in Tools zum Erstellen von Websites (die meisten sind teuer).

Infolgedessen leiden viele Entwickler unter der Unfähigkeit, umwerfende Webseiten zu erstellen. Ich glaube, wenn Sie die erforderlichen Tools erlernen, können Sie auch gute Seiten erstellen.

Es ist auch wichtig zu wissen, was Ihre Rolle im Anwendungsentwicklungsprozess ist. Sie werden vielleicht feststellen, dass Webdesign eine gute Fähigkeit ist, statt eine obligatorische Fähigkeit zu sein. In großen Projekten sollte es zumindest aus den oben genannten Gründen keine Programmiereraufgabe sein.

Ich fand, dass dieses Tool ein großartiges Tool ist, es kann Ihnen helfen:

Künstler

Schauen Sie sich das an und probieren Sie die Demo aus, sie ist wirklich gut.


1

Noch in der Webentwicklung reichen gute Entwicklungsfähigkeiten nicht aus, ohne große Fähigkeiten im Entwerfen

Ich weiß nicht, ob diese Aussage zutrifft. Ich denke, es hängt davon ab, wo Sie arbeiten.

Zum Beispiel wird ein kleineres Unternehmen wahrscheinlich erfordern, dass Sie flexibler mit Ihren Fähigkeiten umgehen, während ein großes Unternehmen möglicherweise nicht die gleichen Erwartungen hat und Sie Ihre ganze Zeit damit verbringen können, sich zu entwickeln, während ein Designteam am Entwerfen arbeitet.

Microsoft hat sein Toolset aktualisiert, um die klare Trennung zwischen Entwicklern und Designern hervorzuheben. Sie haben Expression Blend mit WPF eingeführt, was nun bedeutet, dass der Entwickler an der Funktionalität einer Software arbeiten kann und jemand anderes das Design dafür übernehmen kann. Beide verwenden unterschiedliche Tools, beide können gleichzeitig am Projekt arbeiten, aber einer übernimmt die Funktionen und einer das Design.

Der Entwickler gibt die Datenpunkte an und der Designer zeigt sie an.


danke, ich habe darüber nachgedacht, als ich es ohne Team gemacht habe, als ich als Freiberufler alleine war!
Ali

Mit einer großen Firma definitiv nicht wahr. Es hat separate Design- und Entwicklungsteams und beide benötigen nur minimale Kenntnisse voneinander (wissen, was möglich ist, wissen, was defekt ist).
SF.

1

Denken Sie daran, dass nicht nur Code, sondern auch Design getestet werden kann. Fangen Sie einfach an, testen Sie Ihr Design an einer kleinen Gruppe von Menschen, nehmen Sie deren Feedback auf und gehen Sie von dort aus. Dies kann Ihnen helfen, Probleme mit Ihrem Design zu identifizieren und Ihnen Ideen zu geben, was anders gemacht werden könnte / sollte. Überarbeiten Sie dann das Design und wiederholen Sie es.


0

Sie müssen es nur fälschen und andere Designs kopieren. Vermeiden Sie alles, was Ihnen gefällt, außer ein oder zwei Funktionen, die für die Benutzer von großem Nutzen sind. Befolgen Sie einige grundlegende Methoden zur Begrenzung von Schriftarten, Farben und Unordnung.

Haben Sie keine Angst, Fragen auf UI.stackexchange.com zu stellen


+ 1 - ein guter Punkt für die Begrenzung von Farben usw. Die Markierung der Benutzeroberfläche eines Programmierers ist normalerweise ein neon-blaugrüner Hintergrund mit einem Blink-Tag um alle Schaltflächen und einem Laufschrift-Tag um alles andere. Gut aussehende Websites verwenden die Standardeinstellungen (weißer Hintergrund, normale Schriftarten usw.) zu 90%, mit ein paar coolen Abweichungen.
Morgan Herlocker

0

Auch wenn es nicht Ihr Fachgebiet ist, finde ich es immer interessant zu lernen, wie man Benutzeroberflächen erstellt. Heutzutage sind die meisten Webseiten sehr dynamisch und die Kenntnis einiger UI-Kenntnisse würde sicherlich beim Erstellen von Komponenten und beim Festlegen ihrer Interaktionen mit den Elementen Ihrer Seite helfen. Ich habe einen reinen Backend-Entwicklungshintergrund und war überrascht, wie viel Aufwand beim Erstellen von Schnittstellen anfällt.

Ich habe ein besonders gutes Buch über Webdesign gelesen, das sich an Entwickler richtet:

Webdesign für Entwickler: http://pragprog.com/book/bhgwad/web-design-for-developers

Es ist ein einfach zu lesendes Buch, das alle Phasen beim Erstellen von Benutzeroberflächen abdeckt: vom einfachen Skizzieren und Prototyping von Benutzeroberflächen bis zum Erstellen von Designs mit HTML + CSS.

Um Ihre UI-Kenntnisse weiter zu verbessern, empfehle ich außerdem den neuesten Screencast von PeepCode mit Ryan Singer: http://peepcode.com/products/ryan-singer-ux


0

Ich denke, dass das Erlernen einiger Grundlagen von UX / UI / Grafik / Typografie sicherlich ein wertvolles Unterfangen ist. Natürlich kann man nicht immer ein "abgerundetes" Team von Spezialisten haben. Oft müssen Leute mehrere Hüte tragen. Ein guter Entwickler wird Wert darauf legen, Zeit mit dem Erlernen von Dingen außerhalb seiner Domäne zu verbringen, und sollte zumindest in der Lage sein, gute Arbeit im Design zu erkennen.

Es gibt jedoch etwas zu sagen, was Designer tun. Ein Entwickler kann nur so viel im Bereich Design (zugegebenermaßen mehr als andere). Insbesondere große öffentlich zugängliche Projekte, die über eine enge Nische hinausreichen, profitieren in hohem Maße von der Beschäftigung tatsächlicher Designfachleute. Und ich meine nicht einfach Leute, die CSS- und HTML-Farbcodes verwenden können. Ich meine Leute, die JAHRE damit verbracht haben, Dinge wie Typografie zu studieren, die Josef Albers Buch über Farbe gelesen und verstanden haben und die schöne Skizzen mit zerbröckelnder Kohle auf Zeitungspapier anfertigen können. Dies sind wertvolle Fähigkeiten, und die Projekte, die dies erkennen und diese Fähigkeiten gezielt einsetzen können, haben einen entscheidenden Vorteil gegenüber der Konkurrenz.

Es gibt jedoch einige Bereiche, in denen Designer und Entwickler ihre Fähigkeiten überschneiden können. Besonders UX und seine Subdomain UI. Ich empfehle ...


0

Mieten Sie einen Profi.

Im Ernst, Benutzeroberflächen von Entwicklern haben einen schrecklichen Ruf. Dies liegt nicht daran, dass Entwickler beim Entwerfen unterdurchschnittlich sind, sondern daran, dass Entwickler beim Bitten um Hilfe unterdurchschnittlich sind.

Ein Entwickler hat die Tendenz, jede digitale Herausforderung anzunehmen, die auf ihn zukommt.

(Ich war 10 Jahre lang professioneller Entwickler und meine Frau ist 20 Jahre lang Designerin für Benutzeroberflächen.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.