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?
Antworten:
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
quelle
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.
quelle
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
quelle
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.
quelle
Ich kann Joel Spolskys Buch User Interface Design for Programmers auf jeden Fall empfehlen . In diesem Buch geht er so ziemlich den Ansatz an, den Sie suchen: Erklären, warum UI-Design für Programmierer wichtig ist. Für einige Online-bezogene Materialien:
Entwerfen für Menschen, die bessere Dinge mit ihrem Leben zu tun haben
quelle
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.
Nicht ausflippen, es ist nicht so schwer, wie du denkst.
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.
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.
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.
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.
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
quelle
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).
quelle
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.
quelle
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.
quelle
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.
quelle
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
quelle
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
quelle
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 ...
quelle
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.)
quelle