wake-up-neo.net

Warum ist gutes UI-Design für manche Entwickler so schwierig?

Einige von uns haben es einfach schwer mit den weicheren Aspekten des UI-Designs ( mich selbst, insbesondere ). Sind "Back-End-Codierer" dazu verdammt, nur Geschäftslogik- und Datenschichten zu entwerfen? Können wir etwas tun, um nser Gehirn neu zu trainieren effektiver an der Gestaltung ansprechender und nützlicher Präsentationsebenen zu arbeiten?

Die Kollegen haben mir ein paar Bücher empfohlen, darunter Das Design von Websites , Lass mich nicht nachdenken und Warum saugt Software , aber ich frage mich, was andere getan haben, um ihre Mängel in diesem Bereich zu beseitigen?

206
Chris Ballance

Das UI-Design ist schwierig

Zur Frage:

Warum ist UI-Design für die meisten Entwickler so schwierig?

Versuchen Sie die umgekehrte Frage zu stellen:

Warum ist Programmieren für die meisten UI-Designer so schwierig?

Das Codieren einer Benutzeroberfläche und das Entwerfen einer Benutzeroberfläche erfordern unterschiedliche Fähigkeiten und eine unterschiedliche Denkweise. Das Design der Benutzeroberfläche ist für die meisten Entwickler und nicht für einige Entwickler schwierig, genauso wie das Schreiben von Code für schwierig ist. die meisten Designer, nicht einige Designer.

Codierung ist schwer. Design ist auch schwer. Nur wenige Leute machen beides gut. Gute UI-Designer schreiben selten Code. Sie wissen vielleicht nicht einmal wie, aber sie sind immer noch gute Designer. Warum fühlen sich gute Entwickler für das Design der Benutzeroberfläche verantwortlich?

Wenn Sie mehr über das Design der Benutzeroberfläche wissen, werden Sie zu einem besseren Entwickler. Dies bedeutet jedoch nicht, dass Sie für das Design der Benutzeroberfläche verantwortlich sein sollten. Für Designer gilt das Gegenteil: Wenn sie wissen, wie sie Code schreiben, werden sie zu besseren Designern. Dies bedeutet jedoch nicht, dass sie für die Codierung der Benutzeroberfläche verantwortlich sein sollten.

So werden Sie besser im UI-Design

Für Entwickler, die das UI-Design verbessern möchten, habe ich drei grundlegende Ratschläge:

  1. Erkennen Sie Design als eigenständige Fähigkeit . Codierung und Design sind getrennt, aber miteinander verbunden. Das Design der Benutzeroberfläche ist keine Teilmenge der Codierung. Es erfordert eine andere Denkweise, Wissensbasis und Fähigkeitsgruppe. Es gibt Leute da draußen, die sich auf UI-Design konzentrieren.
  2. Erfahren Sie mehr über Design . Zumindest ein bisschen. Versuchen Sie, einige der Designkonzepte und -techniken aus der folgenden langen Liste zu lernen. Wenn Sie ehrgeiziger sind, lesen Sie ein paar Bücher, besuchen Sie eine Konferenz, nehmen Sie an einem Kurs teil und machen Sie einen Abschluss. Es gibt viele Möglichkeiten, etwas über Design zu lernen. Joel Spolkys Buch über UI-Design ist eine gute Einführung für Entwickler, aber es steckt noch viel mehr dahinter, und hier kommen Designer ins Spiel.
  3. Arbeiten Sie mit Designern . Gute Designer, wenn du kannst. Leute, die diese Arbeit machen, haben verschiedene Titel. Die heute am häufigsten verwendeten Titel sind User Experience Designer (UXD), Information Architect (IA), Interaction Designer (ID) und Usability Engineer. Sie denken genauso an Design wie an Code. Sie können viel von ihnen lernen, und sie von Ihnen. Arbeite mit ihnen, wie du kannst. Finden Sie Menschen mit diesen Fähigkeiten in Ihrem Unternehmen. Vielleicht müssen Sie jemanden einstellen. Oder besuchen Sie einige Konferenzen, besuchen Sie Webinare und verbringen Sie Zeit in der UXD/IA/ID-Welt.

Hier sind einige spezifische Dinge, die Sie lernen können. Versuche nicht alles zu lernen . Wenn Sie alles unten wüssten, könnten Sie sich Interaktionsdesigner oder Informationsarchitekten nennen. Beginnen Sie mit Dingen, die sich am Anfang der Liste befinden . Konzentrieren Sie sich auf bestimmte Konzepte und Fähigkeiten. Dann nach unten gehen und abzweigen. Wenn Sie dieses Zeug wirklich mögen, betrachten Sie es als Karriereweg. Viele Entwickler wechseln in die Verwaltung, aber UX-Design ist eine weitere Option.

Warum UI-Design ist schwer

Gutes UI-Design ist schwierig, da es zwei sehr unterschiedliche Fähigkeiten beinhaltet:

  • Ein tiefes Verständnis der Maschine . Die Leute in dieser Gruppe kümmern sich zuerst um den Code, dann um die Leute. Sie haben tiefes technologisches Wissen und Können. Wir nennen sie Entwickler, Programmierer, Ingenieure und so weiter.
  • Ein tiefes Verständnis von Menschen und Design : Menschen in dieser Gruppe sorgen sich zuerst um Menschen, dann um Code. Sie haben tiefes Wissen darüber, wie Menschen mit Informationen, Computern und der Welt um sie herum umgehen. Wir nennen sie User Experience Designer, Informationsarchitekten, Interaktionsdesigner, Usability-Ingenieure und so weiter.

Dies ist der wesentliche Unterschied zwischen diesen beiden Gruppen - zwischen Entwicklern und Designern:

  • Entwickler lassen es funktionieren . Sie implementieren die Funktionalität auf Ihrem TiVo, Ihrem iPhone, Ihrer bevorzugten Website usw. Sie stellen sicher, dass es tatsächlich das tut, was es tun soll. Ihre höchste Priorität ist es, dass es funktioniert.
  • Designer machen Leute lieben es . Sie finden heraus, wie sie damit umgehen sollen, wie es aussehen soll und wie es sich anfühlen soll. Sie gestalten die Erfahrung der Verwendung der Anwendung, der Website, des Geräts. Ihre höchste Priorität ist es, dass Sie sich in das verlieben, was Entwickler machen. Dies ist mit User Experience gemeint, und es ist nicht dasselbe wie mit Brand Experience.

Darüber hinaus erfordern Programmierung und Design unterschiedliche Denkweisen , nicht nur unterschiedliche Kenntnisse und Fähigkeiten. Gutes UI-Design erfordert beide Denkweisen, beide Wissensbasen, beide Fähigkeitsgruppen. Und es dauert Jahre, um eines davon zu meistern.

Entwickler sollten damit rechnen, dass sie das Design der Benutzeroberfläche als schwierig empfinden, genauso wie Benutzeroberflächendesigner das Schreiben von Code als schwierig empfinden sollten.

215
Karl Fast

Was mir wirklich hilft, mein Design zu verbessern, ist, einen anderen Entwickler, einen der QA-Mitarbeiter, den PM oder jeden, der zufällig vorbeikommt, zu finden und ihn ein bestimmtes Widget oder einen bestimmten Bildschirm ausprobieren zu lassen.

Es ist erstaunlich, was Sie erkennen, wenn Sie sehen, wie jemand anderes Ihre Software zum ersten Mal verwendet

70
Kevin

Letztendlich geht es wirklich um Einfühlungsvermögen - können Sie sich in die Lage Ihres Benutzers versetzen?

Eine Sache, die natürlich hilft, ist "Ihr eigenes Hundefutter zu essen" - Ihre Anwendungen selbst als echter Benutzer zu verwenden und zu sehen, was nervt.

Eine weitere gute Idee ist es, mithilfe Ihrer Anwendung einen echten Benutzer zu beobachten. Dies kann so kompliziert sein wie ein Usability-Labor mit Einwegspiegeln, Bildschirmvideoaufzeichnung, Videokameras für den Benutzer usw. oder so einfach als Papier-Prototyping mit der nächsten Person, die zufällig den Flur entlang geht.

Wenn alles andere fehlschlägt, denken Sie daran, dass es für die Benutzeroberfläche fast immer besser ist, zu einfach als zu kompliziert zu sein. Es ist sehr einfach zu sagen: "Oh, ich weiß, wie man das löst. Ich füge nur ein Kontrollkästchen hinzu, damit der Benutzer entscheiden kann, welchen Modus er bevorzugt." Bald ist Ihre Benutzeroberfläche zu kompliziert. Wählen Sie einen Standardmodus und nehmen Sie die Voreinstellungen als erweiterte Konfigurationsoption vor. Oder lass es einfach weg.

Wenn Sie viel über Design lesen, können Sie sich leicht an Schlagschatten, abgerundeten Ecken usw. aufhängen. Das ist nicht das Wichtige. Einfachheit und Auffindbarkeit sind das Wichtigste.

32
Jacob Mattison

Entgegen dem weit verbreiteten Mythos gibt es im UI-Design buchstäblich keine weichen Aspekte, jedenfalls nicht mehr als nötig, um ein gutes Backend zu entwerfen.

Folgendes berücksichtigen; Gutes Back-End-Design basiert auf ziemlich soliden Prinzipien und Elementen, mit denen jeder gute Entwickler vertraut ist:

  • niedrige Kopplung

  • hoher Zusammenhalt

  • architektonische Muster

  • best Practices der Branche

  • etc

Ein gutes Back-End-Design entsteht normalerweise durch eine Reihe von Interaktionen, bei denen basierend auf dem messbaren Feedback, das während der Tests oder der tatsächlichen Verwendung erhalten wurde, der anfängliche Entwurf schrittweise verbessert wird. Manchmal müssen Sie kleinere Aspekte des Backends prototypisieren und sie isoliert testen usw.

Gutes UI-Design basiert auf den soliden Prinzipien von:

  • sichtweite

  • erschwinglichkeit

  • feedback

  • toleranz

  • einfachheit

  • konsistenz

  • struktur

Die Benutzeroberfläche entsteht auch durch Test und Test, durch Iterationen, aber nicht mit einem Compiler + einem automatisierten Testanzug, sondern mit Menschen. Ähnlich wie im Back-End-Bereich gibt es branchenweit bewährte Verfahren, Mess- und Bewertungstechniken sowie Möglichkeiten, die Benutzeroberfläche zu betrachten und Ziele in Bezug auf Benutzermodell, Systemimage, Designermodell, Strukturmodell, Funktionsmodell usw. festzulegen.

Die Fähigkeiten, die für das Entwerfen der Benutzeroberfläche benötigt werden, unterscheiden sich erheblich von denen für das Entwerfen des Back-End. Sie können daher nicht erwarten, dass Sie eine gute Benutzeroberfläche erstellen können, ohne zuvor etwas zu lernen. Beiden Aktivitäten ist jedoch der Entwurfsprozess gemeinsam. Ich glaube, dass jeder, der gute Software entwerfen kann, in der Lage ist, eine gute Benutzeroberfläche zu entwerfen, solange er einige Zeit damit verbringt, zu lernen, wie.

Ich empfehle, einen Kurs in Human Computer Interaction zu belegen. Besuchen Sie MIT und die Yale-Site, um Online-Materialien zu erhalten:

Strukturelles vs. funktionales Modell in Verständnis und Verwendung

Das ausgezeichnete frühere Beitrag von Thorsten79 thematisiert Experten für Softwareentwicklung im Vergleich zu Benutzern und wie sich deren Verständnis von Software unterscheidet. Experten für menschliches Lernen unterscheiden zwischen funktionellen und strukturellen mentalen Modellen. Der Weg zum Haus eines Freundes kann ein hervorragendes Beispiel für den Unterschied zwischen den beiden sein:

  • Der erste Anflug enthält eine Reihe detaillierter Anweisungen: Nehmen Sie die erste Ausfahrt der Autobahn, und biegen Sie nach 100 Metern links ab usw. Dies ist ein Beispiel für ein Funktionsmodell: Liste der konkreten Schritte, die zur Erreichung eines bestimmten Ziels erforderlich sind. Funktionsmodelle sind einfach zu bedienen und erfordern nur eine einfache Ausführung. Offensichtlich gibt es eine Strafe für die Einfachheit: Es ist möglicherweise nicht die effizienteste Route, und jede Ausnahmesituation (d. H. Eine Verkehrsumleitung) kann leicht zu einem vollständigen Ausfall führen.

  • Eine andere Art, mit der Aufgabe umzugehen, ist die Erstellung eines strukturellen mentalen Modells. In unserem Beispiel wäre das eine Karte, die viele Informationen über die interne Struktur des "Aufgabenobjekts" vermittelt. Aus dem Verständnis der Karte und der relativen Standorte unseres Hauses und des Hauses eines Freundes können wir das Funktionsmodell (die Route) ableiten. Offensichtlich erfordert es mehr Aufwand, aber eine viel zuverlässigere Art, die Aufgabe trotz der möglichen Abweichungen zu erledigen.

Die Wahl zwischen der Übermittlung eines Funktions- oder Strukturmodells über die Benutzeroberfläche (z. B. Assistent im Vergleich zum erweiterten Modus) ist nicht so einfach, wie es aus Thorsten79s Post hervorgeht. Fortgeschrittene und häufige Benutzer bevorzugen möglicherweise das Strukturmodell, während gelegentliche oder weniger erfahrene Benutzer - funktionsfähig sind.

Google Maps ist ein gutes Beispiel: Sie enthalten sowohl Funktions- als auch Strukturmodelle, ebenso wie viele Navigationsgeräte.

Eine weitere Dimension des Problems besteht darin, dass das über die Benutzeroberfläche präsentierte Strukturmodell nicht auf die Struktur der Software abgebildet werden darf, sondern auf natürliche Weise auf die Struktur der vorliegenden Benutzeraufgabe oder des betroffenen Aufgabenobjekts.

Die Schwierigkeit dabei ist, dass viele Entwickler ein gutes Strukturmodell ihrer Software-Interna haben, aber nur ein Funktionsmodell der Benutzeraufgabe, bei der die Software helfen soll. Um eine gute Benutzeroberfläche zu erstellen, muss man die Struktur der Aufgabe/des Aufgabenobjekts verstehen und die Benutzeroberfläche dieser Struktur zuordnen.

Trotzdem kann ich die Teilnahme an einem formellen HCI-Kurs nicht genug empfehlen. Es geht um eine Menge Dinge wie Heuristik , Prinzipien, die von Gestaltphychologie abgeleitet sind, Wege, wie Menschen lernen usw.

26
Vlad Gudim

Ich schlage vor, Sie beginnen mit der gesamten Benutzeroberfläche auf die gleiche Weise wie jetzt, ohne auf Benutzerfreundlichkeit und andere Dinge zu achten.

Alternativtext http://www.stricken.org/uploaded_images/WordToolbars-718376.jpg

Denken Sie jetzt daran:

Ein Designer weiß, dass er Perfektion erreicht hat, nicht wenn nichts mehr hinzuzufügen ist, sondern wenn nichts mehr wegzunehmen ist. - Saint-Exupéry

Und wenden Sie dies in Ihrem Design an.

25
Hoffmann

Viele Entwickler glauben, dass sie alles können, weil sie Code schreiben können. Das Entwerfen einer Benutzeroberfläche ist eine völlig andere Fähigkeit, und sie wurde überhaupt nicht unterrichtet, als ich das College besuchte. Es ist nicht nur etwas, das von Natur aus kommt.

Ein weiteres gutes Buch ist The Design of Everyday Things von Donald Norman.

16
thursdaysgeek

Es gibt einen großen Unterschied zwischen Design und Ästhetik, und sie werden oft verwechselt.

Eine schöne Benutzeroberfläche erfordert künstlerische oder zumindest ästhetische Fähigkeiten, die viele, auch ich, nicht hervorbringen können. Leider ist es nicht genug und macht die Benutzeroberfläche nicht benutzbar, wie wir in vielen schwergewichtigen Flash-basierten APIs sehen können.

Das Erstellen verwendbarer Benutzeroberflächen erfordert ein Verständnis der Interaktion von Menschen mit Computern, einiger psychologischer Probleme (z. B. das Fitt-Gesetz, das Hick-Gesetz) und anderer Themen. Sehr wenige CS-Programme trainieren dafür. Sehr wenige Entwickler, die ich kenne, wählen ein Benutzertestbuch über ein JUnit-Buch usw. aus.

Viele von uns sind auch "Kernprogrammierer", die Benutzeroberflächen eher als Fassade als als einen Faktor betrachten, der den Erfolg unseres Projekts beeinträchtigen oder beeinträchtigen könnte.

Darüber hinaus ist die meiste Erfahrung in der Entwicklung von Benutzeroberflächen äußerst frustrierend. Wir können entweder Spielzeug-GUI-Builder wie alte VB und müssen uns mit hässlichem Klebercode auseinandersetzen, oder wir verwenden APIs, die uns ohne Ende frustrieren, wie der Versuch, Layouts in Swing zu sortieren.

14
Uri

Gehen Sie zu Slashdot und lesen Sie die Kommentare zu allen Artikeln, die sich mit Apple befassen. Viele Leute sprechen darüber, dass Apple -Produkte nichts Besonderes sind, und schreiben den Erfolg von iPod und iPhone Menschen zu, die versuchen, trendy oder hip zu sein. Sie werden in der Regel Funktionslisten durchgehen und darauf hinweisen, dass sie früher keine MP3-Player oder Smartphones ausgeführt haben.

Dann gibt es Leute, die den iPod und das iPhone mögen, weil sie einfach und leicht das tun, was die Benutzer wollen, ohne auf Handbücher zu verweisen. Die Benutzeroberflächen sind so intuitiv wie möglich, einprägsam und auffindbar. Ich mag die Benutzeroberfläche unter MacOSX nicht so sehr wie frühere Versionen. Ich denke, sie haben einige Vorteile zugunsten von glitz aufgegeben, aber der iPod und das iPhone sind Beispiele für hervorragendes Design.

Wenn Sie sich im ersten Camp befinden, denken Sie nicht so wie der Durchschnittsbürger, und daher sind Sie wahrscheinlich geneigt, schlechte Benutzeroberflächen zu erstellen, da Sie sie nicht von guten unterscheiden können. Dies bedeutet nicht, dass Sie hoffnungslos sind, sondern vielmehr, dass Sie explizit gute Prinzipien für das Interface-Design und das Erkennen einer guten Benutzeroberfläche erlernen müssen (so wie jemand mit Asperger soziale Fähigkeiten explizit erlernen muss). Nur ein Gefühl für eine gute Benutzeroberfläche zu haben, bedeutet natürlich nicht, dass Sie eine erstellen können. Meine Wertschätzung für Literatur scheint sich zum Beispiel nicht auf die Fähigkeit auszudehnen, (derzeit) veröffentlichbare Geschichten zu schreiben.

Versuchen Sie also, ein Gespür für gutes UI-Design zu entwickeln. Dies betrifft mehr als nur Software. Don Normans "Das Design alltäglicher Dinge" ist ein Klassiker, und es gibt noch andere Bücher. Holen Sie sich Beispiele für erfolgreiche UI-Designs und spielen Sie mit ihnen genug, um ein Gefühl für den Unterschied zu bekommen. Erkennen Sie, dass Sie möglicherweise eine neue Art des Denkens über Dinge lernen müssen, und genießen Sie es.

12
David Thornley

Die wichtigste Faustregel, an der ich festhalte, ist, niemals zu versuchen, beides gleichzeitig zu tun. Wenn ich am Back-End-Code arbeite, mache ich Schluss damit, mache eine Pause und kehre mit aufgesetztem UI-Hut zurück. Wenn Sie versuchen, es zu verarbeiten, während Sie Code ausführen, nähern Sie sich dem Problem mit einer falschen Denkweise und erhalten dadurch einige schreckliche Benutzeroberflächen.

Ich denke, es ist definitiv möglich, sowohl ein guter Back-End-Entwickler als auch ein guter UI-Designer zu sein. Man muss nur daran arbeiten, etwas lesen und über das Thema recherchieren (alles von Millers # 7 bis zu Nielsens Archiven) und machen Sicher verstehen Sie , warum UI-Design von größter Bedeutung ist.

Ich denke nicht, dass es notwendig ist, kreativ zu sein, sondern wie bei der Back-End-Entwicklung ist es eine sehr methodische, sehr strukturierte Sache, die gelernt werden muss. Es sind die Leute, die mit Benutzeroberflächen "kreativ" werden, was einige der größten Usability-Ungeheuerlichkeiten schafft ... Ich meine, schauen Sie sich zunächst einmal 100% Flash-Websites an ...

Bearbeiten: Krugs Buch ist wirklich gut ... lies es dir durch, besonders wenn du für das Web designen willst.

10
James B

Dafür gibt es viele Gründe.

(1) Der Entwickler sieht die Dinge aus der Sicht des Benutzers nicht. Dies ist der übliche Verdacht: mangelndes Einfühlungsvermögen. Dies ist jedoch in der Regel nicht der Fall, da Entwickler nicht so fremd sind, wie es die Leute ausmachen.

(2) Ein weiterer, häufigerer Grund ist, dass der Entwickler, der so nah an seinen eigenen Sachen ist und so lange bei seinen Sachen geblieben ist, nicht erkennt, dass seine Sachen anderen Menschen möglicherweise nicht so vertraut sind (ein Begriff, der besser als intuitiv ist) .

(3) Ein weiterer Grund ist, dass dem Entwickler Techniken fehlen.

MEIN GROSSER ANSPRUCH: Lies ein beliebiges UI-, Human Interection Design- oder Prototyping-Buch. z.B. Entwerfen des Offensichtlichen: Ein vernünftiger Ansatz für das Design von Webanwendungen. Lassen Sie mich nicht nachdenken: Ein vernünftiger Ansatz für die Benutzerfreundlichkeit des Webs. Entwerfen Sie den Moment, was auch immer.

Wie besprechen sie Aufgabenabläufe? Wie beschreiben sie Entscheidungspunkte? Das heißt, in jedem Anwendungsfall gibt es mindestens drei Pfade: Erfolg, Misserfolg/Ausnahme, Alternative.

Von Punkt A aus können Sie also zu A.1, A.2, A.3 gehen. Ab Punkt A.1 gelangen Sie zu A.1.1, A.1.2, A.1.3 usw.

Wie zeigen sie einen solchen Drilldown-Aufgabenfluss? Sie tun es nicht. Sie beschönigen es einfach.

Da selbst UI-Experimente keine Technik haben, haben Entwickler keine Chance. Er denkt, es ist klar in seinem Kopf. Aber es ist nicht einmal auf dem Papier klar, geschweige denn in der Software-Implementierung.

Ich muss dafür meine eigenen handgemachten Techniken anwenden.

8

Ich versuche mit designspezifischen Websites und Texten in Kontakt zu bleiben. Ich habe auch das ausgezeichnete Buch von Robin Williams gefunden Das Designbuch des Nicht-Designers in diesen Studien sehr interessant zu sein.

Ich glaube, dass Design und Benutzerfreundlichkeit ein sehr wichtiger Teil des Software-Engineerings sind und wir sollten mehr darüber lernen und aufhören, Ausreden zu geben, die wir nicht für Design verwenden sollen.

Jeder kann ab und zu Designer sein, genauso wie jeder Programmierer.

7
Edwin Jarvis

Wenn ich mich dem UI-Design nähere, sind hier einige Dinge, an die ich immer denke (bei weitem keine vollständige Liste):

  • Ein Modell mitteilen. Die Benutzeroberfläche ist eine Erzählung, die dem Benutzer ein mentales Modell erklärt. Dieses Modell kann ein Geschäftsobjekt sein, eine Reihe von Beziehungen, was haben Sie. Die visuelle Hervorhebung, die räumliche Anordnung und die Reihenfolge der Arbeitsabläufe spielen eine Rolle bei der Kommunikation dieses Modells mit dem Benutzer. Eine bestimmte Art von Liste im Vergleich zu einer anderen impliziert beispielsweise unterschiedliche Dinge sowie die Beziehung zwischen dem Inhalt der Liste und dem Rest des Modells. Im Allgemeinen finde ich es am besten sicherzustellen, dass jeweils nur ein Modell kommuniziert wird. Programmierer versuchen häufig, mehr als ein Modell oder Teile von mehreren auf derselben Benutzeroberfläche zu kommunizieren.

  • Konsistenz. Die Wiederverwendung beliebter UI-Metaphern ist sehr hilfreich. Auch die interne Konsistenz ist sehr wichtig.

  • Gruppierung von Aufgaben. Benutzer sollten die Maus nicht ganz über den Bildschirm bewegen müssen, um eine verwandte Befehlsfolge zu überprüfen oder abzuschließen. Modale Dialoge und Flyout-Menüs können in diesem Bereich besonders schlecht sein.

  • Ihr Publikum kennen. Wenn Ihre Benutzer dieselben Aktivitäten immer wieder ausführen, werden sie schnell zu Hauptbenutzern bei diesen Aufgaben und sind frustriert von Versuchen, die anfängliche Eintrittsbarriere zu senken. Wenn Ihre Benutzer selten verschiedene Aktivitäten ausführen, sollten Sie sicherstellen, dass die Benutzeroberfläche die ganze Zeit über die Hand hält.

7
Rex M
7
Marco Luglio

Wie auch immer Sie es tun (und es gibt einige großartige Punkte oben), es hat mir wirklich geholfen, als ich akzeptierte, dass es KEINE SOLCHE INTUITIVE GEGENSTÄNDE gibt ...

Ich kann die Streitereien am Horizont rumpeln hören ... also lassen Sie mich ein wenig erklären.

Intuitiv: Verwenden, was man aufgrund einer unbewussten Methode oder eines unbewussten Gefühls für richtig oder wahr hält.

Wenn Sie (wie von Carl Sagan postuliert) akzeptieren, dass Sie Dinge, die absolut anders sind als alles, was Sie jemals erlebt haben, nicht verstehen können, wie können Sie dann möglicherweise "wissen", wie Sie etwas verwenden, wenn Sie noch nie etwas Ähnliches aus der Ferne verwendet haben?

Denken Sie darüber nach: Kinder versuchen, Türen zu öffnen, nicht weil sie "wissen", wie ein Türknauf funktioniert, sondern weil sie jemanden gesehen haben, der es tut ... oft drehen sie den Knopf in die falsche Richtung oder ziehen zu früh. Sie müssen LERNEN, wie ein Türknauf funktioniert. Dieses Wissen wird dann in verschiedenen, aber ähnlichen Fällen angewendet: Öffnen eines Fensters, Öffnen einer Schublade, Öffnen von fast allem Großen mit einem großen, knaufartigen Griff.

Selbst einfache Dinge, die uns intuitiv erscheinen, werden für Menschen aus anderen Kulturen überhaupt nicht intuitiv sein. Wenn jemand seinen Arm vor sich hin hielt und auf die Hand am Handgelenk verzichtete, während er den Arm stillhielt ... geben sie dich dann auf? Wahrscheinlich, wenn Sie nicht in Japan sind. Dort kann dieses Handzeichen "Komm her" bedeuten. Also, wer hat Recht? Beide natürlich in ihrem eigenen Kontext. Aber wenn Sie zu beiden reisen, müssen Sie beide kennen ... UI-Design.

Ich versuche, die Dinge zu finden, die den potenziellen Benutzern meines Projekts bereits "vertraut" sind, und erstelle dann die Benutzeroberfläche: benutzerorientiertes Design.

Schauen Sie sich das iPhone von Apple an. Selbst wenn Sie es hassen, müssen Sie die Menge an Gedanken respektieren, die in es geflossen sind. Ist es perfekt Natürlich nicht. Im Laufe der Zeit kann die wahrgenommene "Intuitivität" eines Objekts wachsen oder sogar ganz verschwinden.

Beispielsweise. Fast jeder weiß, dass ein schwarzer Streifen mit zwei Lochreihen oben und unten wie ein Filmstreifen aussieht ... oder?

Fragen Sie Ihren durchschnittlichen Neun- oder Zehnjährigen, was er davon hält. Sie werden vielleicht überrascht sein, wie viele Kinder es im Moment schwer haben werden, ihn als Filmstreifen zu identifizieren, obwohl er immer noch als Repräsentation für Hollywood oder für irgendetwas im Zusammenhang mit Filmen verwendet wird. Die meisten Filme der letzten 20 Jahre wurden digital gedreht. Und wann hat das letzte Mal einer von uns ein Stück Film gehalten, Fotos oder einen Film?

Für mich läuft alles auf Folgendes hinaus: Kennen Sie Ihr Publikum und recherchieren Sie ständig, um mit Trends und Änderungen in "intuitiven" Dingen Schritt zu halten, richten Sie sich an Ihre Hauptbenutzer und versuchen Sie, keine Dinge zu tun, die die Unerfahrenen zu Gunsten von bestrafen die fortgeschrittenen Benutzer oder verlangsamen die fortgeschrittenen Benutzer, um die Anfänger in der Hand zu halten.

Letztendlich erfordert jedes Programm eine gewisse Schulung des Benutzers, um es zu verwenden. Wie viel Schulung und für welche Benutzerstufe sind Teil der Entscheidungen, die getroffen werden müssen.

Einige Dinge sind mehr oder weniger vertraut, basierend auf dem Erfahrungslevel Ihres Zielbenutzers als Mensch, Computerbenutzer, Student oder was auch immer.

Ich schieße nur für den dicksten Teil der Glockenkurve und versuche, so viele Leute wie möglich zu bekommen, aber zu erkennen, dass ich niemals allen gefallen werde ...

5
exoboy

duffymo hat mich nur daran erinnert, warum: Viele Programmierer denken "* Design" == "Art".

Gutes UI-Design ist absolut nicht künstlerisch. Es folgt soliden Prinzipien, die mit Daten gesichert werden können, wenn Sie die Zeit haben, die Recherche durchzuführen.

Ich denke, alle Programmierer müssen sich die Zeit nehmen, um die Prinzipien zu lernen. Ich denke, es liegt in unserer Natur, bewährte Verfahren anzuwenden, wann immer es möglich ist, sei es im Code oder im Layout. Alles, was wir tun müssen, ist uns bewusst zu machen, welche Best Practices für diesen Aspekt unserer Arbeit gelten.

5
nailitdown

Was habe ich getan, um beim UI-Design besser zu werden?
Achten Sie darauf!

Es ist, als ob Sie jedes Mal eine Nachrichtenkarte oder ein elektronisches Busschild sehen und sich fragen, wie sie an diese Daten gekommen sind. Haben sie das mit raw sql gemacht oder verwenden sie LINQ? ' (oder fügen Sie hier Ihre eigene Neugierde ein).

Sie müssen damit beginnen, aber mit visuellen Elementen aller Art.

Aber genau wie beim Erlernen einer neuen Sprache, wenn Sie sich nicht wirklich hineinwerfen, werden Sie es nie lernen.

Entnommen aus eine andere Antwort Ich schrieb:

Lerne, auf die Welt um dich herum zu schauen, wirklich zu schauen. Warum mag ich diese Benutzeroberfläche, hasse sie aber? Warum ist es so schwer, die Nudelgerichte in dieser Speisekarte zu finden? Wow, ich wusste, was dieses Zeichen bedeutete, bevor ich die Worte überhaupt las. Warum war das? Wie kommt es, dass das Buchcover so falsch aussieht? Lerne, dir die Zeit zu nehmen, um darüber nachzudenken, warum du so auf visuelle Elemente aller Art reagierst, und wende dies dann auf deine Arbeit an.

5
Dhaust

Ich finde, das beste Werkzeug im UI-Design ist es, einen ersten Versuch des Benutzers zu beobachten, die Software zu verwenden. Nehmen Sie viele Notizen und stellen Sie ihnen einige Fragen. Weisen Sie sie niemals an und versuchen Sie niemals zu erklären, wie die Software funktioniert. Dies ist die Aufgabe der Benutzeroberfläche (und der gut geschriebenen Dokumentation).

Diesen Ansatz verfolgen wir konsequent in allen Projekten. Es ist immer wieder faszinierend zu beobachten, wie ein Benutzer auf eine Weise mit Software umgeht, die Sie noch nie in Betracht gezogen haben.

Warum ist UI-Design so schwierig? Im Allgemeinen, weil sich Entwickler und Benutzer nie treffen.

5
user34411

Ich glaube, das Hauptproblem hat nichts mit unterschiedlichen Talenten oder Fähigkeiten zu tun. Das Hauptproblem besteht darin, dass Sie als Entwickler zu viel über die Funktionsweise und Funktionsweise der Anwendung wissen und Ihre Benutzeroberfläche automatisch aus der Sicht einer Person entwerfen, die über dieses Wissen verfügt.

Während ein Benutzer in der Regel anfängt, absolut nichts über die Anwendung zu wissen, sollte er niemals etwas über deren innere Funktionsweise lernen müssen.

Es ist sehr schwer, fast unmöglich, nicht das Wissen zu nutzen, das Sie haben - und deshalb sollte eine Benutzeroberfläche nicht von jemandem entworfen werden, der die App dahinter entwickelt.

4

Ich weiß, dass Microsoft nicht mit den eigenen Richtlinien übereinstimmt, aber ich habe festgestellt, dass mir das Lesen der Windows-Designrichtlinien sehr geholfen hat. Ich habe eine Kopie auf meiner Website hier , scrollen Sie im Vista UX-Handbuch ein wenig nach unten. Es hat mir bei Dingen wie Farben, Abständen, Layouts und vielem mehr geholfen.

4
David Anderson

Das "Entwerfen von beiden Seiten des Bildschirms" bietet einen sehr einfachen, aber tiefgreifenden Grund, warum Programmierer Schwierigkeiten beim Entwerfen von Benutzeroberflächen haben: Programmierer sind darin geschult, in Edge-Fällen zu denken, während Benutzeroberflächen-Designer darin geschult sind, in allgemeinen Fällen oder in der Verwendung zu denken.

Der Übergang von einer Welt in die andere ist mit Sicherheit schwierig, wenn das genaue Gegenteil des jeweils anderen der Standard ist.

4
MSN

Zu sagen, dass Programme bei der Gestaltung der Benutzeroberfläche scheiße sind, bedeutet, den Punkt zu verfehlen. Der Punkt des Problems ist, dass die formale Schulung, die die meisten Entwickler erhalten, unabhängig von der Technologie ist. Mensch-Computer-Interaktion ist kein einfaches Thema. Es ist nichts, was ich mir vorstellen kann, indem ich eine einfache einzeilige Aussage mache, die Sie erkennen lässt, "oh, die Benutzer werden diese Anwendung effektiver nutzen, wenn ich x anstelle von y mache."

Dies liegt daran, dass ein Teil des UI-Designs fehlt. Das menschliche Gehirn. Um zu verstehen, wie man eine Benutzeroberfläche gestaltet, muss man verstehen, wie der menschliche Geist mit Maschinen interagiert. Zu diesem Thema habe ich an der University of Minnesota einen hervorragenden Kurs besucht, der von einem Professor für Psychologie gehalten wird. Es heißt "Mensch - Maschine - Interaktion". Dies beschreibt viele der Gründe, warum das UI-Design so kompliziert ist.

Da die Psychologie auf Korrelationen und nicht auf Kausalität basiert, können Sie niemals beweisen, dass eine Methode des UI-Designs in jeder gegebenen Situation immer funktioniert. Sie können korrelieren, dass viele Benutzer ein bestimmtes UI-Design attraktiv oder effizient finden, aber Sie können nicht beweisen, dass es immer verallgemeinernd ist.

Darüber hinaus gibt es zwei Teile des UI-Designs, die viele Leute vermissen. Es gibt den ästhetischen Reiz und den funktionalen Workflow. Wenn Sie sich für eine 100% ige Ästhetik entscheiden, werden die Menschen sicher Ihr Produkt lieben. Ich bezweifle sehr, dass die Ästhetik jemals die Frustration der Benutzer verringern wird.

Es gibt mehrere gute Bücher zu diesem Thema und zu diesem Kurs (wie Bill Buxtons Skizzieren von Benutzererfahrungen , und Erkenntnis in der Wildnis von Edwin Hutchins). An vielen Universitäten gibt es Graduiertenkollegs zur Mensch-Computer-Interaktion.

Die allgemeine Antwort auf diese Frage liegt jedoch in der Art und Weise, wie Einzelpersonen Informatik unterrichtet werden. Es basiert auf Mathematik, Logik und nicht auf der Benutzererfahrung. Um dies zu erreichen, benötigen Sie mehr als ein allgemeines 4-jähriges Informatikstudium (es sei denn, Ihr 4-jähriges Informatikstudium hatte ein Nebenfach in Psychologie und wurde in Mensch-Computer-Interaktion hervorgehoben).

3
jwendl

Ein nützlicher Rahmen besteht darin, aktiv zu überlegen, was Sie als Entwurf eines Kommunikationsprozesses betrachten. Im wahrsten Sinne des Wortes ist Ihre Benutzeroberfläche eine Sprache, die der Benutzer verwenden muss, um dem Computer mitzuteilen, was zu tun ist. Dies führt zu einer Reihe von Überlegungen:

  1. Spricht der Benutzer diese Sprache bereits? Das Verwenden einer sehr eigenwilligen Benutzeroberfläche ist wie das Kommunizieren in einer Sprache, die Sie noch nie zuvor gesprochen haben. Wenn Ihre Benutzeroberfläche also überhaupt eigenwillig sein muss, sollte sie sich am besten mit einfachsten Begriffen und wenigen Ablenkungen vorstellen. Wenn Ihre Benutzeroberfläche dagegen gewohnte Redewendungen verwendet, gewinnen sie von Anfang an an Vertrauen.
  2. Der Feind der Kommunikation ist Lärm. Hörgeräusche stören die gesprochene Kommunikation; visuelles Rauschen stört die visuelle Kommunikation. Je mehr Rauschen Sie aus Ihrer Benutzeroberfläche entfernen können, desto einfacher wird die Kommunikation mit ihr.
  3. Wie im menschlichen Gespräch ist es oft nicht das, was Sie sagen, sondern das, was Sie sagen. Die Art und Weise, wie die meiste Software kommuniziert, ist so unhöflich, dass sie einem Menschen ins Gesicht schlägt. Wie würdest du dich fühlen, wenn du jemandem eine Frage stellst und er dort sitzt und dich einige Minuten lang anstarrt und sich weigert, auf andere Weise zu antworten, bevor er antwortet? Viele Elemente der Benutzeroberfläche, wie Fortschrittsbalken und automatische Fokusauswahl, haben die grundlegende Funktion der Höflichkeit. Fragen Sie sich, wie Sie den Tag des Benutzers ein wenig angenehmer gestalten können.

Wirklich, es ist etwas schwierig festzustellen, was Programmierer von Schnittstelleninteraktion halten, andere als ein Prozess der Kommunikation, aber vielleicht ist das Problem, dass es überhaupt nicht als etwas gedacht wird.

2
chaos

Lassen Sie uns Ihre Frage umdrehen -

Sind "UI-Designer" dazu verdammt, nur Informationsarchitektur und Präsentationsebenen zu entwerfen? Gibt es etwas, das sie tun können, um ihr Gehirn so zu trainieren, dass es beim Entwerfen ansprechender und effizienter Systemschichten effektiver ist?

Es scheint, als müssten "UI-Designer" eine völlig andere Perspektive einnehmen - sie müssten von innen nach außen schauen; anstatt von außerhalb des Kastens hineinzuschauen.

Alan Coopers "Die Insassen führen das Asyl" Meinung ist, dass wir nicht beide Perspektiven erfolgreich einnehmen können - wir können lernen, einen Hut gut zu tragen, aber wir können nicht einfach die Hüte wechseln.

2
igouy

Du hast das Lass mich nicht nachdenken Buch erwähnt. Ich kann es nur empfehlen, dies zu lesen.

2
Sean Taylor

Entwickler sind nicht (unbedingt) gut im UI-Design, aus dem gleichen Grund, aus dem sie nicht (unbedingt) gut im Stricken sind. Es ist schwer, es braucht Übung, und es tut nicht weh, sich von jemandem zeigen zu lassen, wie es geht.

Die meisten Entwickler (ich eingeschlossen) begannen mit dem "Entwerfen" von Benutzeroberflächen, weil dies ein notwendiger Bestandteil beim Schreiben von Software war. Bis ein Entwickler sich die Mühe macht, es gut zu machen, wird er es nicht sein.

2
MattBelanger

UX Design und Software-Entwicklung schließen sich in keiner Weise aus. Im Gegenteil, beide erfordern gesunden Menschenverstand und Logik, Liebe zum Detail und die Fähigkeit, das große Ganze zu sehen. Wenn Sie also ein guter Entwickler sind, können Sie ein guter UX-Designer werden!

Sie können sich gegenseitig ausschließen, da viele Entwickler keine Erfahrung mit UX Design haben und umgekehrt. Wenn Sie über die Architektur, das Framework oder die Sprache nachdenken, bevor Sie an UX Design denken, werden Sie möglicherweise in die falsche Richtung gelenkt.

2
Nada Aldahleh

Zur Verbesserung schauen Sie sich einfach um bei bestehenden Standorten. Zusätzlich zu den bereits vorgeschlagenen Büchern möchten Sie vielleicht Robin Williams 'hervorragendes Buch "The Non-designers Design Book" ( sanitized Amazon link ) ansehen.

Werfen Sie einen Blick auf die Möglichkeiten der visuellen Gestaltung, indem Sie auch einen Blick auf die verschiedenen Beiträge unter The Zen Garden werfen.

UI-Design ist definitiv eine Kunst, wie Zeiger in C, manche Leute verstehen es und manche nicht.

Aber zumindest wir können über ihre Versuche schmunzeln . Übrigens: Danke OK/Cancel für einen lustigen Comic und danke Joel, dass er ihn in dein Buch "The Best Software Writing I" aufgenommen hat ( bereinigter Amazon-Link ).

2
Rob Wells

Wenn Sie das Buch "Why software sucks" gelesen hätten, hätten Sie Platt's einfache Antwort gesehen:

  1. Entwickler bevorzugen die Kontrolle über die Benutzerfreundlichkeit
  2. Durchschnittsbürger bevorzugen Benutzerfreundlichkeit gegenüber Kontrolle

Eine andere andere Antwort auf Ihre Frage wäre "Warum ist Zahnmedizin für manche Entwickler so schwierig?". - UI-Design wird am besten von einem UI-Designer durchgeführt.

http://dotmad.net/blog/2007/11/david-platt-on-why-software-sucks/

2
dotmad

Es gibt bereits viele gute Kommentare, daher bin ich mir nicht sicher, ob ich noch viel hinzufügen kann. Aber dennoch...

  • Warum sollte ein Entwickler erwarten, dass er eine gute Benutzeroberfläche entwerfen kann?
  • Wie viel Training hatte er in diesem Bereich?
  • Wie viele Bücher hat er gelesen?
  • Wie viele Dinge hat er in wie vielen Jahren entworfen?
  • Hatte er die Gelegenheit, die Reaktion seiner Benutzer zu sehen?

Wir erwarten nicht, dass ein zufälliger "Joe der Klempner" in der Lage ist, guten Code zu schreiben. Warum sollten wir also erwarten, dass der zufällige "Joe der Programmierer" eine gute Benutzeroberfläche erstellt?

Einfühlungsvermögen hilft. Die Trennung von UI-Design und Programmierung hilft. Usability-Tests helfen.

Aber UI-Design ist ein Handwerk, das wie jedes andere erlernt und geübt werden muss.

2
Mihai Nita

Ich denke, das sind sehr unterschiedliche Fähigkeiten. Gute Designer kennen sich mit menschlichem Verhalten, der Psychologie von Farben und Schriftarten usw. aus. Ich denke, es ist wie der Versuch, gleichzeitig ein Marketing-Mensch und ein Entwickler zu sein. Sehr herausfordernd, aber nicht unbedingt unmöglich.

Ich würde versuchen, einige UI-Experten zu finden und ihre Studienempfehlungen zu ermitteln. Es sei denn, Sie entwerfen etwas sehr Minimalistisches wie Google. Wenn es sich um ein bedeutendes Projekt handelt, ist es wahrscheinlich am besten, jemanden einzustellen, der die Kunst der Benutzeroberfläche als Hauptsache studiert hat.

Das heißt, wenn Sie eine sehr praktische App entwerfen, können Sie versuchen, sich auf die Einfachheit und Klarheit der Benutzeroberfläche zu konzentrieren. Ich denke, dies ist mindestens die Hälfte des Schlüssels für den Erfolg (und den Stack-Overflow) von Google ist intuitiv und angenehm zu bedienen.

2
alchemical

Ich denke, es liegt daran, dass eine gute Benutzeroberfläche nicht logisch ist. Eine gute Benutzeroberfläche ist intuitiv.

Softwareentwickler tun normalerweise schlecht mit "intuitiv"

2
Gregor Brandt

Die Benutzeroberfläche kann im Nachhinein nicht wie eine dünne Schicht Farbe aufgetragen werden. Es ist etwas, das am Anfang da sein muss und auf echter Forschung basiert. Natürlich gibt es jede Menge Usability-Forschung. Es muss nicht nur am Anfang da sein, es muss auch den Kern des eigentlichen Grundes für die Erstellung der Software bilden: Es gibt eine Lücke in der Welt, ein Problem, und es muss gemacht werden benutzerfreundlicher und effizienter.

Software ist nicht um ihrer selbst willen da. Der Grund, warum ein Stück Software existiert, ist FOR PEOPLE. Es ist absolut lächerlich, überhaupt zu versuchen, eine Idee für ein neues Stück Software zu entwickeln, ohne zu verstehen, warum irgendjemand es brauchen würde. Dies geschieht jedoch die ganze Zeit.

Bevor eine einzelne Codezeile geschrieben wird, sollten Sie die Papierversionen der Benutzeroberfläche durchgehen und sie an realen Personen testen. Das ist irgendwie komisch und albern, es funktioniert am besten mit Kindern und jemandem, der unterhaltsam als "der Computer" auftritt.

Die Schnittstelle muss unsere natürlichen kognitiven Fähigkeiten nutzen. Wie würde ein Höhlenmensch Ihr Programm benutzen? Wir haben uns zum Beispiel sehr gut darin entwickelt, sich bewegende Objekte zu verfolgen. Aus diesem Grund funktionieren Schnittstellen, die physikalische Simulationen verwenden, wie das iPhone, besser als Schnittstellen, bei denen Änderungen sofort auftreten.

Wir sind gut in bestimmten Arten der Abstraktion, aber nicht in anderen. Als Programmierer sind wir darin geschult, mentale Gymnastik und Backflips zu machen, um einige der verrücktesten Abstraktionen zu verstehen. Zum Beispiel verstehen wir, dass eine Folge von arkanem Text ein Muster des elektromagnetischen Zustands auf einer Metallplatte darstellen und in dieses übersetzt werden kann, das, wenn es von einem sorgfältig entworfenen Gerät angetroffen wird, zu einer Folge von unsichtbaren Ereignissen führt, die bei Lichtgeschwindigkeit auf einer Elektronik auftreten Schaltung, und diese Ereignisse können gerichtet werden, um ein nützliches Ergebnis zu erzeugen. Dies ist eine unglaublich unnatürliche Sache, die man verstehen muss. Verstehen Sie, dass es zwar eine vollkommen rationale Erklärung für uns und für die Außenwelt gibt, es aber so aussieht, als würden wir unverständliche Beschwörungsformeln schreiben, um unsichtbare fühlende Geister herbeizurufen, die unser Gebot abgeben.

Die Art von Abstraktionen, die normale Menschen verstehen, sind Dinge wie Karten, Diagramme und Symbole. Hüten Sie sich vor Symbolen, denn Symbole sind ein sehr zerbrechliches menschliches Konzept, dessen Dekodierung mit bewusster geistiger Anstrengung erfolgt, bis das Symbol gelernt ist.

Der Trick mit Symbolen besteht darin, dass es eine klare Beziehung zwischen dem Symbol und dem, was es darstellt, geben muss. Das Ding, das es repräsentiert, muss entweder ein Substantiv sein. In diesem Fall sollte das Symbol SEHR SO aussehen wie das Ding, das es repräsentiert. Wenn ein Symbol ein abstrakteres Konzept darstellt, muss dies IM VORAUS erklärt werden. Sehen Sie sich die unergründlichen, nicht deaktivierten Symbole in der Symbolleiste von msword oder photoshop an und die abstrakten Konzepte, die sie darstellen. Es ist zu beachten, dass das Symbol für das Zuschneidewerkzeug in Photoshop CROP TOOL bedeutet. es muss verstanden werden, was CROP überhaupt bedeutet. Dies sind die Voraussetzungen für die korrekte Verwendung dieser Software. Was einen wichtigen Punkt aufwirft, hüte dich vor angenommenem Wissen.

Wir werden erst in der Lage sein, Karten im Alter von ungefähr 4 Jahren zu verstehen. Ich glaube, ich habe irgendwann einmal gelesen, dass Schimpansen in der Lage sind, Karten im Alter von ungefähr 6 oder 7 Jahren zu verstehen.

Der Grund, warum Guis anfangs so erfolgreich waren, ist, dass sie eine Landschaft von hauptsächlich textuellen Schnittstellen zu Computern verändert haben, die die Computerkonzepte auf etwas abbildeten, das einem physischen Ort ähnelte. Wenn Guis in puncto Benutzerfreundlichkeit versagen, hören sie auf, etwas zu ähneln, das Sie im wirklichen Leben sehen würden. Es gibt unsichtbare, unvorhersehbare, unverständliche Dinge, die in einem Computer passieren und die nichts mit dem zu tun haben, was Sie jemals in der physischen Welt gesehen haben. Einiges davon ist notwendig, da es keinen Sinn hätte, nur einen Reality-Simulator zu erstellen. Die Idee ist, Arbeit zu sparen, also muss es ein bisschen Magie geben. Aber diese Magie muss einen Sinn haben und auf einer Abstraktion beruhen, die die Menschen gut verstehen können. Es ist, wenn unsere Abstraktionen anfangen, tief und vielschichtig zu werden und nicht mit der anstehenden Aufgabe übereinstimmen, dass die Dinge zusammenbrechen. Mit anderen Worten, die Benutzeroberfläche fungiert nicht als gute Karte für die zugrunde liegende Software.

Es gibt viele Bücher. Die beiden, die ich gelesen habe und daher empfehlen kann, sind "The Design of Everyday Things" von Donald Norman und "The Human Interface" von Jef Raskin.

Ich empfehle auch einen Kurs in Psychologie. "Das Design alltäglicher Dinge" spricht ein wenig darüber. Viele Schnittstellen brechen aufgrund des "Volksverständnisses" eines Entwicklers für Psychologie zusammen. Dies ähnelt der "Volksphysik". Ein in Bewegung befindliches Objekt bleibt in Bewegung und ergibt für die meisten Menschen keinen Sinn. "Du musst es weiter schieben, um es in Bewegung zu halten!" Denkt der Physik-Neuling. Benutzertests sind für die meisten Entwickler nicht sinnvoll. "Sie können die Benutzer nur fragen, was sie wollen, und das sollte gut genug sein!" denkt der Psychologie-Neuling.

Ich empfehle Discovering Psychology, eine PBS-Dokumentarserie, die von Philip Zimbardo moderiert wird. Gelingt dies nicht, versuchen Sie, ein gutes Physiklehrbuch zu finden. Die teure Art. Nicht der Pulp-Fiction-Self-Help-Mist, den man in Borders findet, sondern das dicke Hardbound-Zeug, das man nur in einer Universitätsbibliothek findet. Dies ist eine notwendige Grundlage. Sie können gutes Design ohne es tun, aber Sie haben nur ein intuitives Verständnis dessen, was vor sich geht. Das Lesen einiger guter Bücher gibt Ihnen eine gute Perspektive.

2
Breton

Genau wie bei der Musik: Manchmal können Menschen technisch großartige Musiker sein, aber keine Künstler. Meine Faustregel ist, dass der Benutzer immer nur die Benutzeroberfläche zur Verfügung hat, die er gerade benötigt. Ich stelle fest, dass viele Back-End-Entwickler den Bildschirm mit allen nur vorstellbaren Optionen überfluten, wenn sie eine Benutzeroberfläche erstellen. Während diese Art Köpfe alle Details zuerst haben und langsam ignorieren möchten, was sie nicht benötigen, funktioniert das für die meisten Endbenutzer nicht.

1
User

Ich weiß, wenn ich eine beschissene Benutzeroberfläche erstelle, liegt das fast immer daran, dass ich in bestimmten Bereichen zu "eingegrenzt" bin.

Während der Entwicklung und des Testens eines bestimmten Features werde ich es fast immer oft verwenden.

Nachdem ich es ein Dutzend Mal ausprobiert habe, bin ich in einer Verfassung, in der ich genau weiß, was ich versuche und was ich genau tun muss, damit das Programm tut, was ich will. Ich betrachte auch diese bestimmte Stückfunktionalität von selbst, immer und immer wieder, bis sie "erledigt" ist. Ich schieße schnell am Rest der App/Menüs/Workflows/was auch immer vorbei, während ich teste.

Der Benutzer ist überhaupt nicht in der gleichen Situation. Sie betrachten diesen Teil der Software nicht als eigenständiges "Stück". Sie machen es nicht immer oft und wenn sie es oft machen, machen sie es sicher nicht oft von ITSELF. Sie "überspringen" nicht den Rest des Prozesses und konzentrieren sich auf dieses Stück, wie es der Entwickler tut.

Es ist wichtig, dass Sie versuchen, eine Benutzeroberfläche zu betrachten und sich dann überlegen, was ich damit machen soll. Wenn es nicht klar ist, machst du es falsch. Wir befinden uns in einer Situation, in der wir WISSEN, welche Eingabe die Software benötigt, und wir finden nur einen Weg, um diese Eingabe zu erhalten. Der Benutzer befindet sich in einer Situation, in der er ein Ergebnis haben möchte und möchte wissen, was er tun muss, um dieses Ergebnis zu erzielen.

1
TM.

UI-Design ist mehr Kunst als Wissenschaft und erfordert ein Verständnis Ihrer Benutzer und die Fähigkeit, sich in sie hineinzuversetzen.

Das ist etwas ganz anderes, als den ganzen Tag mit einem Computer zu reden.

Ich glaube nicht, dass die Leute das immer merken.

Hier ein kleiner Selbsttest: Schauen Sie sich die FamFamFam-Seidensymbole an . Überlegen Sie, welches Symbol Sie für die Darstellung verschiedener Funktionen in der zuletzt von Ihnen geschriebenen Anwendung auswählen. Wenn Sie mehr als zehn Minuten damit verbringen und Ihre Augen anfangen zu glänzen, ist das UI-Design wahrscheinlich nichts für Sie.

1
Richard Everett

Linke Gehirnhälfte gegen rechte Gehirnhälfte. Manche Menschen haben keinen künstlerischen Sinn.

Ich würde wetten, dass jeder besser in der Gestaltung von Schnittstellen durch Studium und Fleiß werden kann. Das bedeutet nicht, dass Sie ein erstklassiger Künstler oder Designer werden.

Ich denke, es ist immer möglich, sich zu verbessern.

1
duffymo

Entwerfe es für deine Mutter.

1
Assembler

benutzer denken von oben nach unten, während Programmierer oft von unten nach oben denken, wenn sie den Schritt des Erstellens der Benutzeroberfläche erreichen.

Wir (Programmierer) denken so intensiv darüber nach, ein Datenmodell zu erstellen, das die Arbeit erledigt, die erforderlichen Daten enthält usw. Wir erstellen die Benutzeroberfläche, die dem zugrunde liegenden Modell genau zugeordnet werden kann. So sehr, dass wir oft vergessen, darauf zu achten, wie unsere Benutzer dieselbe Aufgabe angehen und nicht in ihren Fluss und ihre Denkweise geraten.

Es ist für uns selbstverständlich, dass die Benutzer unseres Systems über das Problem genauso nachdenken wie wir, wie wir ihre Daten speichern und verarbeiten, und daher auch verstehen, wie die Benutzeroberfläche funktionieren soll.

Dies ist häufig ein Missverhältnis zu ihrer Sichtweise (und ihren Erwartungen) der Aufgabe.

Wie man es löst? Ich denke, eine Möglichkeit besteht darin, einen (potenziellen) Benutzer tatsächlich zu fragen, wie er erwartet, dass das Programm funktioniert, bevor er ihnen jemals etwas zeigt. Geben Sie ihnen niemals Hinweise, wie wir eine Funktion implementieren würden. Machen Sie mit ihnen einen Prototyp der Benutzeroberfläche auf Papier, und lassen Sie sich von ihnen sagen, was sie erwarten und was sie auf jedem Schritt des Weges benötigen. Nimm niemals etwas für voll.

Der Palm-Pilot wurde von oben nach unten entworfen:

Vor Beginn der Entwicklung des Piloten soll Hawkins eine Woche lang einen Holzblock in der Größe des potenziellen Piloten in der Tasche gehabt haben. ( Aus diesem Artikel )

Er simulierte, was auf dem Holzstück zu tun war, ohne darüber nachzudenken, wie es als Code implementiert werden musste. Jedes Mal, wenn eine neue Idee kam, "probierte" er sie an einem Stück Holz aus.

Natürlich brauchen Sie einige Richtlinien, wie Sie mit einigen der Ideen umgehen können, die Ihnen einfallen, und vielleicht muss nicht alles angesprochen werden, auch wenn wir technisch in der Lage sind, ...

Siehe Bulletpoint 1 (Eliminate options) und 3 (Underpromise, overdeliver) hier.

1
Arjan Einbu

Es geht um Übung, ein bisschen Training und Rückblick. Die meisten Back-End-Entwickler arbeiten jedoch in einer Umgebung, in der gutes UI-Design vom Management nicht wirklich geschätzt wird.

Organisieren Sie ein paar Codierungs-Dojos rund um das UI-Design, nachdem Sie ein bisschen Literatur darüber gelesen haben.

1

Vor einem Jahrzehnt habe ich wirklich am UI-Design gesaugt ... ich denke, was mir geholfen hat, mit den Jahren besser zu werden, war eine gesunde Kombination von Demut und Streben nach Perfektion.

Fazit: Werden Sie niemals zu zufrieden mit Ihren bisherigen oder gegenwärtigen Errungenschaften. Lerne aus deinen eigenen und den Fehlern anderer.

1
JacobE

"Gibt es etwas, das wir tun können, um unser Gehirn dahingehend zu trainieren, dass es beim Entwerfen ansprechender und nützlicher Präsentationsebenen effektiver wird?"

Ja - Verwenden Sie eine schnittstellengesteuerte Architektur. Zuerst Entwerfen Sie einen Benutzerfluss aus Ihren Geschäftsanforderungen --- Dann Entwerfen Sie Ihre Programmierlogik und Datenbanken basierend auf Ihrem Benutzerfluss. Wenn Sie die mittleren Ebenen und das Back-End so strukturieren, dass sie dem Front-End dienen, haben Sie eine benutzerzentrierte App.

1
Will Peavy

"gutes UI-Design" ist eigentlich zwei Probleme :

  1. das richtige Design bekommen
  2. das Design richtig zu machen

beides sind schwere probleme. meiner erfahrung nach sollten die beiden dinge parallel untersucht werden , um spät im projekt keine hässlichen überraschungen zu bekommen ("warum ist unser sexy drag & drop ultra-langsam") in IE8 ?? was meinst du, es ist nicht reparabel ??? ")

Um das richtige Design zu erhalten , müssen Sie die Möglichkeiten ausloten. Bücher können Sie dabei unterstützen, Dinge auszuprobieren, die für Ihren Lebensstil am sinnvollsten sind - die Erfahrung ist natürlich noch besser. auch du brauchst unbedingt feedback von echten benutzern - wie sonst würdest du herausfinden, dass das design schon stimmt? ( du kann es bestimmt nicht sagen .. lies weiter!)

"das Design richtig zu machen" ist dann das nächste Problem, da dies bedeutet, dass das Design, das Sie für angemessen befunden haben, implementiert werden muss.

diese "User Experience/GUI" -Dinge sind so schwierig, weil das Finden der richtigen Antwort das Verstehen der Wünsche der Menschen umfasst, die sie Ihnen nicht objektiv mitteilen können und Sie dagegen können nicht von "außen" herausfinden. Dies bedeutet, dass ein (erfahrungs-) geführter Versuchs- und Irrtumsansatz der einzige Weg ist.


um Ihre Frage klarer zu beantworten:

warum ist gutes UI-Design für manche Entwickler so schwierig?

für Hardcore-Entwickler besteht ein großes Problem darin, dass ihr Verständnis der Funktionsweise der Software sich stark von dem der Benutzer unterscheidet (zum Beispiel sollte die URL "www.stackoverflow.com" als "com.stackoverflow.com" geschrieben werden). , wenn Sie etwas über die Funktionsweise von DNS wissen, aber versuchen Sie, einen Browser zu verkaufen, der solche URLs erwartet :)).

als Randbemerkung: Ich würde vorschlagen, dass Sie sich eher mit "Experience Design" als mit "User Interface Design" beschäftigen, aber das ist eine andere Geschichte.

1
oberhamsi

Ein Teil der Antwort ist, dass das Design der Benutzeroberfläche viel schwieriger ist als es aussieht, genauso wie das Codieren viel schwieriger ist als es für Designer aussieht. Die beiden sorgen sich in sehr unterschiedlichem Maße um sehr unterschiedliche Dinge. Abgesehen von den offensichtlichen Unterschieden in der Herangehensweise und den erforderlichen Fähigkeiten, konzentrieren sie sich auf Probleme, die für einander unsichtbar sind.

Ich habe festgestellt, dass es hilfreich ist, meine App zu beschreiben und zu beschreiben, wie man sie ohne visuelle Hilfsmittel für jemanden verwendet. Es hilft, sich auf das zu konzentrieren, was wirklich notwendig und wichtig ist, und gibt Rückmeldung darüber, was von einer anderen Person schnell verstanden werden kann. Ich kann dies sogar tun, bevor ich eine Codezeile habe, daher ist es sehr billig und erfordert keine künstlerischen Fähigkeiten. Der andere Vorteil ist, dass das Verbalisieren der App Teile meines Gehirns zum Arbeiten bringt, die andernfalls während des Codierens ruhend bleiben würden, und ich kann anfangen, die App beim Sprechen zu "sehen" (oder nicht zu funktionieren).

1
Steve Weller

Das eigene Hundefutter zu essen ist eigentlich nicht ganz der beste Weg. Das Fehlen von Fokus auf Benutzeranliegen, obwohl es wahr ist, ist auch nicht die ganze Geschichte. Das Gleiche gilt, wenn Sie sich von normalen Anwenderbedürfnissen distanzieren, während Ihr Fachwissen wächst. Die meisten Entwickler, die ich kenne, wollen gute Arbeit bei der Erstellung von Software leisten, die Probleme löst.

Wo die Trennung auftritt, ist ein Mangel an Vorstellungskraft. Die Unfähigkeit für uns Menschen, an alle Möglichkeiten und Kombinationen zu denken. Sicher versuchen wir, dies mit "besseren" Methoden zu überwinden.

Der einzige Weg, wie ich herausgefunden habe, dass es funktioniert, besteht darin, mich selbst in die Schusslinie zu setzen, um Benutzer-Feedback zu erhalten. Auf diese Weise lerne ich das Problem, das ich löse, nicht nur einmal, sondern immer wieder, wenn Benutzer meine Software verwenden.

Dies ist keine einfache Lösung. Sie müssen nicht nur ein guter Programmierer sein, sondern auch gut in X, wobei X das Problem ist, das Sie zu lösen versuchen. Wenn Sie gut in X sind, haben Sie die nötige Erfahrung, um die Möglichkeiten und Grenzen zu verstehen. Sie können damit beginnen, dies in Ihrem Code zu berücksichtigen, was zu einer ausgefeilteren Software führt, sowohl bei den von Ihnen angebotenen Funktionen als auch beim Design der Benutzeroberfläche.

Es geht nicht darum, Ihr Gehirn neu zu trainieren, sondern die Erfahrung zu sammeln, die zur effektiven Lösung des Problems erforderlich ist. Dies gilt insbesondere für brandneue Produkte wie Stack Overflow, bei denen die Erfahrung nur dann gewonnen werden kann, wenn Sie die Rückmeldungen der Benutzer einholen.

1
RS Conley

Ich benutze den so genannten Grandmaw-Test.

  • Wenn Ihr lieber alter Großmaul es nicht benutzen kann, gibt es ein Problem.
  • Vorausgesetzt, sie weiß, worum es in dem Programm geht, weiß beispielsweise, wie man Steuern macht, und versucht, Quicken zu verwenden.
1
Paul Nathan

Ein gutes Buch, das viele Gedanken zur Benutzeroberfläche und ihrer Bedeutung enthält, ist Am Anfang war die Befehlszeile von Neal Stephenson. Nicht jeder braucht eine GUI, nur viele Leute, die nicht programmieren. Es ist wie der Unterschied zwischen DisneyWorlds Tierreich und dem tatsächlichen Amazonas.

1
J. Polfer

Weil es ein anderes Set von Fähigkeiten ist. Erforderliche Fähigkeiten für Webdesigner IS NICHT das Gleiche wie für Programmierer. Ja, einige Fähigkeiten können sich überschneiden, wie HTML, CSS, Javascript, aber von Natur aus wissen Programmierer nichts darüber, was sie ausmacht ein Webdesign ein gutes Webdesign und umgekehrt.

RWendi

0
RWendi

Zunächst möchte ich sagen, dass ich ähnliche Mängel habe wie die, die in der Frage geäußert werden. Trotzdem denke ich, der einzige Grund, warum irgendjemand irgendetwas tun würde, ist, weil:

  • Sie verstanden es nicht und hatten nie die Theorie studiert, wie und warum sie es tun sollten
  • Sie haben es nie genug geübt, um Experte zu werden

Mein Rat ist also, zuerst die Bücher und Webseiten zu besorgen, die Sie benötigen, um das Thema zu beschreiben und sie zu studieren. Viele gute Antworten hierauf würde ich Tog On Interface zur Liste hinzufügen. Schauen Sie sich auch die Benutzeroberflächen an, die als großartig angesehen wie Mac, IPhone und Google sind.

Der zweite Schritt besteht darin, mit dem Erstellen von Benutzeroberflächen zu beginnen. Das hört sich einfach an, aber wenn dies nicht Teil Ihrer Stellenbeschreibung ist, müssen Sie dies möglicherweise in Ihrer eigenen Zeit tun. Beteiligen Sie sich als Entwickler der Benutzeroberfläche an einem Webentwicklungsprojekt. Vielleicht ist es Ihr eigenes Projekt oder das eines anderen, aber wenn Sie gut darin sind, Webseiten zu erstellen, können Sie die Erfahrung machen, die Sie brauchen, und es sollte nicht zu schwer sein, dies zu tun. Viel Glück!

0

Ich entwarf ein Programm für Menschen außerhalb meines sozialen Umfelds und beobachtete deren Verhalten. Dabei war ich nicht länger den Vorurteilen meiner Freunde und meinem eigenen Stolz und Ego unterworfen. Durch die Verbesserung der App wurde ich bescheidener und sensibler für Designprobleme. Ich habe gelernt, wie wichtig aufgabenorientiertes Design und Einfachheit sind. Ich habe die Kosten für zu viele Funktionen kennengelernt. Mit der Erfahrung auch Sie.

Einige Referenzen, die ich sehr empfehle:

  • joelonsoftware jef raskin "die humane schnittstelle"
  • robin william's "eine Anleitung für Nicht-Designer zum Entwerfen"
  • die meisten Artikel auf alistapart
  • jwz's Blog zur Programmierung
  • die Apple Richtlinien für Benutzeroberflächen

Ich rate Ihnen dringend, einige Referenzen und Philosophien zu ignorieren:

  • "Themen"
  • desktop-Anwendungen im Allgemeinen, sofern Sie keinen Treiber-/Dateisystemzugriff benötigen
  • die Idee, dass "mehr besser ist"
0
200found

Programmierer saugen im Allgemeinen am UI-Design. Es gibt Designer, die sich auf Usability und UI-Design spezialisiert haben und die bei der Entwicklung von kommerzieller Software/Websites/Unterhaltung usw. beachtet werden sollten.

Das Problem, das die meisten Programmierer haben, ist, dass sie nicht über die Nase schauen und erkennen können, was das Verständnis und die Verdaulichkeit der Dinge erleichtert.

Eines der besten Prinzipien für die Gestaltung der Benutzeroberfläche ist es, immer eine Oberfläche zu haben, die so gestaltet ist, dass sie einfach und für Ihr Ziel zugänglich ist.

Ein gutes und einfaches Beispiel ist ein Aufzug. Im Allgemeinen drücken Sie Knöpfe, um die Türen zu öffnen/zu schließen sowie die Etagen des Gebäudes zu durchqueren. Könnten Sie sich vorstellen, stattdessen Knöpfe und Schalter zu betätigen, um von Etage 1 auf Etage 2 zu gelangen? Was wäre, wenn Sie ein Bedienfeld zurückschieben müssten, um auf drei Schlüsselschalter mit drei farbigen Schlüsseln zugreifen zu können?

Sie können schnell erkennen, wie schwierig eine schlechte Benutzeroberfläche sein kann und wie einfach und benutzerfreundlich eine gute Benutzeroberfläche ist.

0
Syntax

UI-Design ist eine ganz andere Fähigkeit. Es ist eng mit der bildenden Kunst verwandt - in der Lage zu sein, visuelle Symmetrie und Schönheit zu schätzen und zu schaffen. Und aus welchem ​​Grund auch immer, normalerweise beherrschen Codierer die bildende Kunst NICHT. Ich weiß, dass es Ausnahmen gibt - aber im Allgemeinen gilt dies.

Also wirklich (es sei denn, Sie sind die Ausnahme von dieser ungeraden Regel) - es sollte wie in jedem anderen Bereich behandelt werden, in dem Sie nicht von Natur aus talentiert sind. Sie sollten abwägen, ob Sie mit den Koteletts, die Sie haben, gut zurechtkommen - oder vielleicht sogar ein wenig Energie aufwenden, um sich zu verbessern, wenn Sie eine Chance haben. Sie sind jedoch besser beraten, die Bereiche zu entwickeln, in denen Sie über Fähigkeiten verfügen, und möchten möglicherweise mit Leuten zusammenarbeiten, die in dem Bereich stark sind, in dem Sie keine Erfahrung haben.

Ein gutes Buch über diese Idee lautet: Jetzt entdecke deine Stärken von Marcus Buckingham ... es ist einfach zu lesen.

0
user13276

Ich denke, ein Teil davon ist, dass UI-Design und Programmdesign oft widersprüchliche Ziele haben. Wenn ich programmiere, denke ich oft "Was ist der einfachste Weg, dies zu tun?". Beim Entwerfen einer Benutzeroberfläche ist der einfachste Weg nicht immer der benutzerfreundlichste. Wenn Sie beides tun, neigen Sie möglicherweise dazu, die einfachste Implementierung auszuwählen, was sich negativ auf die Benutzerfreundlichkeit auswirkt.

Ich glaube auch, dass Programmierer dem Produkt zu nahe sind, um es aus der Sicht eines Benutzers zu sehen. Was für die Person, die die Anwendung programmiert, sehr einfach und intuitiv erscheint, ist möglicherweise nicht für einen Benutzer. Es ist notwendig, eine Benutzereingabe zu erhalten.

UI-Design ist auch nicht immer richtig oder falsch. Verschiedene Personen bewerten eine Benutzeroberfläche unterschiedlich. Zum Beispiel hassen manche Leute die neue "Ribbon" -UI in Office, manche lieben sie. Einige Leute finden Apples OSX-Benutzeroberfläche großartig, andere kümmern sich nicht darum und finden es schwierig, sie zu verwenden. Egal auf welcher Benutzeroberfläche Sie sich befinden, Sie werden Leute haben, die es nicht mögen.

0
dtc

Ich bin davon überzeugt, dass alle CS-Programmierer in der Lage sind, brauchbare Designs zu erstellen, da die Entwickler beim Usability-Design bestimmte Wege und Regeln einschlagen müssen. Während es für einige Programmierer nahezu unmöglich sein kann, ein gutes "attraktives" Design zu entwickeln. Dies bedeutet nicht, dass beide untrennbar miteinander verbunden sind. Es ist wie Mozart, ein schönes Musikstück schreiben zu können und nicht sehr gut im Fußball zu sein.

0
Lee Treveil

Einfach.

Entwickler sind keine Designer. Sie haben noch nicht das Design erlernt oder versucht, es zu erlernen. Warum sollten sie also in so etwas wie UI-Design gut sein? Es ist fast so, als würde man sagen: "Warum fällt es einigen Entwicklern so schwer, Buch zu führen?"

UI-Design ist im Wesentlichen Design und Design ist eine visuelle Darstellung von Regeln. Gutes Design bedeutet, dass Sie verstehen, warum etwas auf bestimmte Weise aussehen, sich verhalten und verhalten sollte (z. B. warum Links hervorgehoben werden sollten oder warum sich eine Kopfzeile oben auf einer Seite befinden sollte).

Design und Entwicklung sind zwei völlig unterschiedliche Wesen, aber beide erfordern Hintergrundwissen und praktische Arbeit. Wenn Sie nicht gewillt sind, sich mit einem dieser Themen zu beschäftigen, werden Sie einfach nicht sehr gut darin sein, egal wie gut Sie eines Ihrer Programme/Websites zum Aussehen gebracht haben.

0
Mike B

uI-Design und Software-Entwicklung arbeiten auf zwei verschiedenen Seiten des Gehirns. Es ist nicht so, dass ein Designer am Entwickeln ist und umgekehrt, es ist nur so, dass er versucht, es mit der falschen Seite des Gehirns zu machen. Keine ernsthafte Person würde dem widersprechen.

0
theman_on_vista

Silverback ( http://silverbackapp.com/ ) ist ein großartiges Tool, wenn Sie einen Mac verwenden. Ich schlage vor, eine Liste der zu erledigenden Dinge zu erstellen (diesen Film suchen, den Trailer anschauen, diesen Film mit diesem Schauspieler suchen, ihn kaufen usw.) und die Benutzer dort sitzen zu lassen und die Liste durchzugehen.

Das Wichtigste ist, ihnen nicht zu sagen, wie sie es tun sollen, sondern zu sehen, wie sie die Aufgaben erfüllen (für die zweite Szene suchen sie nach Schauspieler oder finden sie die Szene alphabetisch). Sie können mit Leuten in Ihrem Unternehmen beginnen, die nicht technisch versiert sind, und dann auf Craigslist gehen oder auf die Straße gehen und zufällige Leute bezahlen, um es zu testen.

0
Jarin Udom

Wenn Entwickler an eine Benutzeroberfläche denken, denken sie normalerweise, dass sie das perfekte Widget für diese oder diese Aufgabe verwenden könnten (mit Widget meine ich Textbereich, Kombinationsfeld, also interaktives Ajax-Suchfeld ...). UI und insbesondere HCI sollten auf einer niedrigeren Ebene gedacht werden. Es ist interessant, die Reflexion über die Benutzeroberfläche in vier Schritte aufzuteilen:

  • Aufgaben- und Konzeptmodell: Dies ist aus Entwicklersicht am schwierigsten zu verstehen. Sie müssen aus Ihren Überlegungen alle Vorstellungen über die zukünftige Plattform und die Sprache, die Sie verwenden könnten, abstrahieren. [ Paterno, 97 ] ist die Referenz in diesem Bereich. Sie definieren Ihre Aufgaben als Baum, in dem Aufgaben Unteraufgaben haben. Hier ein Beispiel für eine Exportaufgabe.

  • Dann definieren Sie die abstrakte Benutzeroberfläche: Hier geht es um Gruppenaufgaben und Unteraufgaben in Arbeitsbereichen.
  • Konkrete Benutzeroberfläche: Sie können jetzt entscheiden, welche Interaktoren verwendet werden. Sie sollten jetzt über die Plattform nachdenken (Großbild, PDA, Handy ...). Hier ist der Schlüssel. Ihr Aufgabenmodell und Ihre abstrakte Benutzeroberfläche können auf mehrere Plattformen aufgeteilt werden.
  • Und die endgültige Benutzeroberfläche, implementiert in einer ausgewählten Programmiersprache.
0
Jérôme

Etwas, das niemand anderes vorgeschlagen hat, aber das Ihnen immens hilft, ist ein Kurs (normalerweise mit Abschluss) in Human Factors Engineering. Wenn Sie nicht am Kurs teilnehmen möchten, suchen Sie sich die Lehrbücher und lesen Sie sie.

0
HLGEM

"Was haben andere getan, um ihre Mängel in diesem Bereich zu beseitigen?"
- Chris Ballance

  1. Arbeiten Sie mit dem wenigsten Computer-sparenden Endbenutzer, den Sie finden können.
    (Eine neue, die Ihre Software noch nie gesehen hat).
  2. Holen Sie sich Feedback von ihnen darüber, was es für sie lutscht.
  3. beheben Sie diese Probleme, bringen Sie es zu einem anderen Computer-unsavy-Benutzer,
  4. Wiederholen Sie den Vorgang erneut.

Wenn genügend frisch-unzufriedene Benutzer Ihr Produkt verwenden können, wissen Sie, dass Sie Ihre Arbeit erledigt haben.

(Auch Ihre Software wird wahrscheinlich wie die von Microsoft aussehen, und Sie werden wahrscheinlich keine Freude daran haben, sie zu verwenden ...)

Darum geht es aber nicht! Der Punkt ist, dass die Endbenutzer es benutzen können und Spaß daran haben!


Nicht die Entwickler!


Lesen Sie auch diesen Beitrag Ich fand es hilfreich in dieser Arena. Es besagt im Grunde, dass Sie dem nachgeben sollten, was die Benutzer zu wollen scheinen.

Um es anders zu sagen...

Sie müssen sich ansehen, was die Benutzer bereits versuchen zu tun ...

Der Bürgersteig und die Studenten

Es gab eine Spur, die von Schülern erstellt wurde, die zu und von der Klasse auf dem Campus gingen, auf dem ich aufs College ging. Als die Schule die Spur bemerkte, stellten sie einen Zaun auf, an dem die Leute bereits gingen. Die Schule hat das Falsche getan. Sie möchten einen Bürgersteig aufstellen, auf dem die Schüler bereits laufen!

Videotheken und Netflix

Um ein anderes Beispiel zu nennen, denken Sie an die jüngste Geschichte des Videogeschäfts: Vor langer Zeit gab es viele Videogeschäfte: Block Buster Video usw. Was haben die Leute an diesen Videogeschäften nicht gemocht? Späte Gebühren natürlich. Also kam Netflix und entfernte verspätete Gebühren, da es mehr von dem war, was der Kunde/Endbenutzer wollte.

Jetzt geht Block Buster zusammen mit allen anderen kostenpflichtigen Videotheken pleite.

Ist es schwieriger, dies zu tun? Um dein Gehirn auszuschalten und den Leuten zu geben, was sie wollen? Natürlich ist es ... es beugt Ihren Willen vor ... das ist immer schwieriger, aber am Ende erreicht es das Ziel, den Endbenutzern das zu geben, was sie wollen.

0
leeand00

Möglicherweise, weil einige Entwickler von Dos ausgehen und teilweise weiterhin mit dem Befehlszeilen-Betriebssystem arbeiten.
Oder weil einige von uns Software schreiben, weil Computer eine normale Logik haben, nicht wie Menschen. :-)

0
Avram

Warum ist UI-Design für manche Entwickler so schwierig?

Das ist ein bisschen wie zu fragen, warum Basketball für Fußballspieler schwer ist.

0
Rik

Gibt es etwas, das wir tun können, um unser Gehirn dahingehend zu trainieren, dass es beim Entwerfen ansprechender und nützlicher Präsentationsebenen effektiver ist?

Ja. Beobachten Sie Benutzer, die versuchen, Ihre Software zu verwenden, und helfen Sie ihnen nicht. Wird auch als Usability-Test bezeichnet.

Die Grundidee des Usability-Tests besteht darin, dass Sie jemanden mit einem ähnlichen Hintergrund wie Ihre Zielgruppe heranziehen, der Ihre Software zuvor noch nicht gesehen hat, und ihn bitten, eine typische Reihe von Aufgaben auszuführen. Idealerweise sollten sie versuchen, laut zu sprechen, was sie denken, um Ihnen mehr Einblick in ihre Denkprozesse zu geben. Sie sehen dann, was sie tun. Entscheidend ist, dass Sie ihnen nicht helfen, egal wie unwiderstehlich der Drang ist. Die Ergebnisse können sehr überraschend und aufschlussreich sein. Usability-Tests können bei Einwegspiegeln, Videokameras usw. sehr ausgefallen sein, aber das ist wirklich nicht erforderlich, um die meisten Vorteile zu erzielen. Eine gute Beschreibung für die Durchführung von Usability-Tests finden Sie in Krugs ausgezeichnetes Buch Bring mich nicht zum Nachdenken: Ein vernünftiger Leitfaden für die Web-Usability . Die meisten seiner Ratschläge gelten auch für das Testen von Desktop-Anwendungen.

0
Andy Brice

Weil sie im Allgemeinen keine UI-Designer sind. Es ist eine andere Fähigkeit. Das ist es.

0
Klelky

Ich denke, der Grund, warum wir keine Benutzeroberflächen entwerfen können, ist, dass wir Perfektionisten sind und nicht entscheiden können, wann gut genug gut genug ist. Ich weiß, dass ich es nicht ausstehen kann, eine Benutzeroberfläche zu entwerfen, weil ich immer an mir selbst zweifle und sage: "Nein, das ist nicht gut genug."

0
BBetances