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


206

Einige von uns haben es nur schwer mit den weicheren Aspekten des UI-Designs ( besonders ich ). Sind "Back-End-Codierer" dazu verdammt, nur Geschäftslogik und Datenschichten zu entwerfen? Gibt es etwas, das wir tun können, um unser Gehirn so zu trainieren , dass es ansprechende und nützliche Präsentationsebenen effektiver gestaltet?

Kollegen haben mir ein paar Bücher empfohlen, darunter " Das Design von Websites" , " Lass mich nicht nachdenken und warum Software scheiße ist" , aber ich frage mich, was andere getan haben, um ihre Mängel in diesem Bereich zu beseitigen.


1
Für mich selbst (ich habe das gleiche Problem) kenne ich eine gute Benutzeroberfläche, wenn ich eine verwende. Und ich kenne definitiv eine Benutzeroberfläche, die mich nervt. Aber es fällt mir sehr schwer, selbst einen zu entwerfen. Es ist wie das kritische Auge, das ich habe, wenn ich die Benutzeroberfläche eines anderen verwende, funktioniert bei meinen eigenen Designs nicht.
JMD

1
Ich hasse den Begriff "Back-End-Codierer" und habe versucht, ihn aus dem Titel herauszuhalten
Chris Ballance

20
Grafikdesign! = UI-Design. Bei ersteren geht es darum, die Dinge hübsch zu machen. Bei letzterem geht es darum, Dinge nützlich und nutzbar zu machen.
Esko Luontola

2
+1 @Esko. Oft bedeutet "hübsch" völlig UN-nutzbar. Aber die beiden KÖNNEN nebeneinander existieren, wenn sie mit Sorgfalt und Gedanken behandelt werden.
Auspuff

12
Warum ist die Entwicklung von Software für UI-Designer so schwierig?
Greg Hurlman

Antworten:


360

Lassen Sie es mich direkt sagen:

Eine Verbesserung beginnt nicht mit Richtlinien. Es beginnt mit der Neuformulierung Ihrer Meinung zu Software.

Die meisten Hardcore-Entwickler haben praktisch kein Einfühlungsvermögen gegenüber Benutzern ihrer Software. Sie haben keine Ahnung, wie Benutzer denken, wie Benutzer Modelle von Software erstellen, die sie verwenden, und wie sie einen Computer im Allgemeinen verwenden.

Es ist ein typisches Problem, wenn ein Experte mit einem Laien kollidiert: Wie um alles in der Welt könnte ein normaler Mensch so dumm sein, nicht zu verstehen, was der Experte vor 10 Jahren verstanden hat?

Eine der ersten Tatsachen, die anerkennt, dass dies für fast alle erfahrenen Entwickler unglaublich schwer zu verstehen ist, ist folgende:

Normale Menschen haben ein völlig anderes Konzept von Software als Sie. Sie haben überhaupt keine Ahnung von Programmierung. Keiner. Null. Und sie kümmern sich nicht einmal darum. Sie glauben nicht einmal, dass sie sich darum kümmern müssen. Wenn Sie sie dazu zwingen, löschen sie Ihr Programm.

Das ist unglaublich hart für einen Entwickler. Er ist stolz auf die Software, die er produziert. Er liebt jedes einzelne Merkmal. Er kann Ihnen genau sagen, wie der Code dahinter funktioniert. Vielleicht hat er sogar einen unglaublich cleveren Algorithmus erfunden, mit dem er 50% schneller als zuvor funktioniert.

Und dem Benutzer ist das egal.

Was für ein Idiot.

Viele Entwickler können es nicht ertragen, mit normalen Benutzern zu arbeiten. Sie werden durch ihr nicht vorhandenes technologisches Wissen deprimiert. Und deshalb scheuen die meisten Entwickler und denken, dass Benutzer Idioten sein müssen.

Sie sind nicht.

Wenn ein Softwareentwickler ein Auto kauft, erwartet er, dass es reibungslos funktioniert. Normalerweise kümmert er sich nicht um den Reifendruck, die mechanische Feinabstimmung, die wichtig war, damit es so läuft. Hier ist er nicht der Experte. Und wenn er ein Auto kauft, das nicht über die Feinabstimmung verfügt, gibt er es zurück und kauft eines, das tut, was er will.

Viele Softwareentwickler mögen Filme. Gut gemachte Filme, die ihre Fantasie anregen. Aber sie sind keine Experten in der Produktion von Filmen, in der Produktion von visuellen Effekten oder im Schreiben guter Drehbücher. Die meisten Nerds können sehr, sehr, sehr schlecht handeln, weil es darum geht, komplexe Emotionen zu zeigen und wenig über Analytik. Wenn ein Entwickler einen schlechten Film sieht, bemerkt er nur, dass er insgesamt schlecht ist. Nerds haben sogar IMDB aufgebaut, um Informationen über gute und schlechte Filme zu sammeln, damit sie wissen, welche sie sehen und welche sie vermeiden sollten. Aber sie sind keine Experten für das Erstellen von Filmen. Wenn ein Film schlecht ist, werden sie nicht ins Kino gehen (oder ihn nicht von BitTorrent herunterladen;)

Es läuft also darauf hinaus, normale Benutzer als Experten zu meiden, ist Unwissenheit. Weil sie in den Bereichen (und es gibt so viele), in denen sie keine Experten sind, erwarten, dass die Experten anderer Bereiche bereits an normale Menschen gedacht haben, die ihre Produkte oder Dienstleistungen nutzen.

Was können Sie tun, um Abhilfe zu schaffen? Je härter Sie als Programmierer sind, desto weniger offen sind Sie für normales Benutzerdenken. Es wird dir fremd und ahnungslos sein. Sie werden denken: Ich kann mir nicht vorstellen, wie Menschen jemals einen Computer mit diesem Mangel an Wissen benutzen könnten . Aber sie können. Denken Sie für jedes UI-Element an Folgendes: Ist es erforderlich? Passt es zu dem Konzept, das ein Benutzer von meinem Tool hat? Wie kann ich ihn verständlich machen? Bitte lesen Sie die Benutzerfreundlichkeit dafür, es gibt viele gute Bücher. Es ist auch ein ganzes Gebiet der Wissenschaft.

Ah und bevor du es sagst, ja, ich bin ein Apple-Fan;)


8
Hervorragender Kommentar! Sie haben eine der grundlegendsten Hürden im Software-Design genommen. Eine schwierige Tatsache für hartgesottene Entwickler (wie mich), aber die Wahrheit ist oft.

12
+1. Ich empfehle "The Inmates are Running the Asylum" zu lesen. Es geht ausführlich auf die Unterschiede in der Einstellung der Benutzer / Entwickler sowie auf einige Abhilfemaßnahmen ein.
Richard Levasseur

9
+1 Um ehrlich zu sein, ist jeder Entwickler, der sich nicht um den Benutzer kümmert, ein schlechter Entwickler!
Gary Willoughby

7
Sehr gültige Punkte, und ich denke, dass diese Mentalität auch Teil des Grundes dafür ist, dass eine Reihe von von Entwicklern durchgeführten Projekten (z. B. Open Source oder What-Have-You) als schwierig zu verwenden empfunden wurden - im Großen und Ganzen die meisten Entwickler Schreiben Sie für sich selbst als Benutzer, nicht für den "echten" Endbenutzer.
CloudyMusic

25
+1 Dies ist DER Grund, warum Linux immer noch nicht für den Desktop eines durchschnittlichen Benutzers bereit ist.
Bryan Anderson

215

UI-Design ist schwer

Zur Frage:

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

Versuchen Sie, die umgekehrte Frage zu stellen:

Warum ist das 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 andere Denkweise. UI-Design ist für die meisten Entwickler schwierig , nicht für einige Entwickler, genauso wie das Schreiben von Code für die meisten Designer schwierig ist , nicht für 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, sind aber dennoch gute Designer. Warum fühlen sich gute Entwickler für das UI-Design verantwortlich?

Wenn Sie mehr über das UI-Design wissen, werden Sie zu einem besseren Entwickler, aber das bedeutet nicht, dass Sie für das UI-Design verantwortlich sein sollten. Das Gegenteil gilt für Designer: Wenn sie wissen, wie man Code schreibt, werden sie zu besseren Designern, aber das bedeutet nicht, dass sie für die Codierung der Benutzeroberfläche verantwortlich sein sollten.

Wie Sie das UI-Design verbessern können

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 UI-Design 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 langen Liste unten zu lernen. Wenn Sie ehrgeiziger sind, lesen Sie einige Bücher, nehmen Sie an einer Konferenz teil, 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 Sie können. Leute, die diese Arbeit machen, haben verschiedene Titel. Heutzutage sind die häufigsten Titel 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. Arbeiten Sie mit ihnen, wie Sie können. Finden Sie Leute mit diesen Fähigkeiten in Ihrem Unternehmen. Vielleicht müssen Sie jemanden einstellen. Oder besuchen Sie einige Konferenzen, nehmen Sie an Webinaren teil 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 selbst als Interaktionsdesigner oder Informationsarchitekt bezeichnen. Beginnen Sie mit Dingen ganz oben auf der Liste . Konzentrieren Sie sich auf bestimmte Konzepte und Fähigkeiten. Dann nach unten gehen und verzweigen. Wenn Sie dieses Zeug wirklich mögen, betrachten Sie es als Karriereweg. Viele Entwickler wechseln in das Management, aber das UX-Design ist eine weitere Option.

Warum UI-Design schwierig ist

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

  • Ein tiefes Verständnis der Maschine . Die Leute in dieser Gruppe sorgen sich zuerst um 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 wissen genau, wie Menschen mit Informationen, Computern und der Welt um sie herum interagieren. 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 sorgen dafür, dass es funktioniert . Sie implementieren die Funktionen auf Ihrem TiVo, Ihrem iPhone, Ihrer Lieblingswebsite 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 mit der Verwendung der Anwendung, der Website und des Geräts. Ihre höchste Priorität ist es, Sie in das zu verlieben, was Entwickler machen. Dies ist das, was unter Benutzererfahrung zu verstehen ist, und es ist nicht dasselbe wie Markenerfahrung.

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

Entwickler sollten erwarten, dass das UI-Design schwierig ist, genauso wie UI-Designer erwarten sollten, dass das Schreiben von Code schwierig ist.


8
Dies ist die beste Antwort hier. Tolle Links übrigens!
Bernard Igiri

Hervorragender Überblick über das UI-Design! Ich habe auch Ihre Vorstellung von unterschiedlichen Denkweisen beobachtet. Ich entwerfe und programmiere sowohl die Benutzeroberfläche als auch das Programm, und es ist am besten, wenn ich mich jeweils nur auf eine davon konzentriere. [...]
Esko Luontola

Wenn Sie beim Programmieren Entscheidungen zum UI-Design treffen, denken Sie, dass dies der einfachste Weg zur Implementierung ist, der häufig zu einem schlechten UI-Design führt. Wenn Sie beim UI-Design über die Implementierung nachdenken, können Sie UI-Designmuster auswählen, die einfacher zu implementieren sind, aber für den Benutzer nicht so gut.
Esko Luontola

2
Warum ist dies nicht die beste Antwort? Es scheint weitaus besser als die Antwort von Thorsten79.
AbdullahC

1
Ich wünschte, ich könnte diese Antwort direkt favorisieren. :)
Dan J

70

Was mir wirklich hilft, mein Design zu verbessern, ist, einen Mitentwickler, einen der QS-Mitarbeiter, den PM oder jeden, der zufällig vorbeigeht, zu holen und ihn ein bestimmtes Widget oder einen bestimmten Bildschirm ausprobieren zu lassen.

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


Ich habe diesen Ansatz viel ausprobiert und fand ihn sehr effektiv. Gelegentlich habe ich einen nicht-technischen Freund, der es benutzt, um zu sehen, was ihnen Schmerzen verursacht, wenn er versucht, es zu benutzen.
Chris Ballance

Dies ist der gleiche Ansatz, den ich verfolge.
Ed S.

Könnte dieser Ansatz möglicherweise als "Usability-Test" bezeichnet werden? ;) Ja, das ist der Ansatz, den du vorher, während und nachher wählen solltest.
Ates Goral

Dies wäre fast meine genaue Antwort. Qualitätssicherung und technischer Support sind fantastisch. Entwickler lieben UI Design, iterieren und lassen es oft von anderen testen.
Bill K

7
Ich glaube, es heißt "Flur Usability Test"
Kevin

32

Letztendlich geht es wirklich um Empathie - 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 echten Benutzer zu verwenden und zu sehen, was nervt.

Eine weitere gute Idee ist es, einen Weg zu finden, wie Sie einen echten Benutzer mit Ihrer Anwendung beobachten können. Dies kann so kompliziert sein wie ein Usability-Labor mit Einwegspiegeln, Bildschirmvideoerfassung, Videokameras für die 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 fast immer besser ist, wenn die Benutzeroberfläche zu einfach als zu kompliziert ist. Es ist sehr einfach zu sagen: "Oh, ich weiß, wie man das löst. Ich füge einfach 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 machen Sie die Voreinstellung zu einer erweiterten Konfigurationsoption. Oder lass es einfach weg.

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


gut ausgedrückt. Versuche, mehr Flexibilität zu schaffen, führen meist nur zu Unordnung. Einfacher == besser.
SquareCog

Können Sie sich in die Lage Ihres Benutzers versetzen, wenn er sich auf der anderen Seite des Planeten befindet, in einer Kultur, die Sie noch nie zuvor erlebt haben? Die Internationalisierung spielt eine wichtige Rolle bei der Gestaltung solider Benutzeroberflächen. Nehmen wir nicht an, dass jeder in den USA lebt.

Absolut; Mein aktuelles Projekt richtet sich in der Tat an Benutzer auf der ganzen Welt (im Grunde genommen in jedem anderen Land als den USA, in denen ich mich befinde). Es macht Empathie schwieriger, keine Frage - und umso wichtiger, es ernsthaft und energisch zu versuchen.
Jacob Mattison

Außerdem möchte ich hinzufügen, dass die überwiegende Mehrheit der Usability-Probleme schockierend offensichtlich ist, wenn Sie einen echten Benutzer dazu bringen, sich das anzuschauen. Ja, es wird subtile geben, die kulturspezifisch sind, aber Sie können enorme Verbesserungen vornehmen, indem Sie den nächsten Mann den Flur entlang gehen.
Jacob Mattison

+1, nur weil ich selbst nicht +100 kann! Ich möchte hinzufügen, dass das Sammeln von Erfahrungen mit sehr unterschiedlichen Anwendungen, wie sie beabsichtigt waren, Ihnen hilft, als UI-Entwickler zu wachsen. Nur die Verwendung von Tools wie Visual Studio oder anderen Entwicklertools behindert diese Fähigkeit ...
BQ.

26

Im Gegensatz zum populären Mythos gibt es buchstäblich keine weichen Aspekte im UI-Design, zumindest 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 isoliert testen usw.

Gutes UI-Design basiert auf den Grundprinzipien von:

  • Sichtweite

  • Erschwinglichkeit

  • Feedback

  • Toleranz

  • Einfachheit

  • Konsistenz

  • Struktur

Die Benutzeroberfläche entsteht auch durch Test und Test, durch Iterationen, aber nicht mit Compiler + automatisiertem Testanzug, sondern durch Menschen. Ähnlich wie im Backend gibt es branchenweit bewährte Verfahren, Mess- und Bewertungstechniken, Möglichkeiten, über die Benutzeroberfläche nachzudenken und Ziele in Bezug auf Benutzermodell, Systemabbild, Designermodell, Strukturmodell, Funktionsmodell usw. festzulegen.

Die für das Entwerfen der Benutzeroberfläche erforderlichen Fähigkeiten unterscheiden sich erheblich vom Entwerfen des Back-End und erwarten daher nicht, dass Sie eine gute Benutzeroberfläche erstellen können, ohne vorher 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 Mensch-Computer-Interaktion zu belegen. Auf der MIT- und Yale-Website finden Sie beispielsweise Online-Materialien:

Strukturelles und funktionales Modell für Verständnis und Nutzung

Der ausgezeichnete frühere Beitrag von Thorsten79 spricht das Thema Softwareentwicklungsexperten gegen Benutzer an und wie sich ihr Verständnis von Software unterscheidet. Experten für menschliches Lernen unterscheiden zwischen funktionalen und strukturellen mentalen Modellen. Der Weg zum Haus Ihres Freundes kann ein hervorragendes Beispiel für den Unterschied zwischen beiden sein:

  • Der erste Ansatz enthält eine Reihe detaillierter Anweisungen: Nehmen Sie die erste Ausfahrt der Autobahn und biegen Sie nach 100 Metern links ab. 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, sie erfordern nicht viel Nachdenken, sondern 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 (dh eine Verkehrsumleitung) kann leicht zu einem vollständigen Ausfall führen.

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

Die Wahl zwischen der Übermittlung eines Funktions- oder Strukturmodells über die Benutzeroberfläche (z. B. Assistent oder erweiterter Modus) ist nicht so einfach, wie es aus dem Beitrag von Thorsten79 hervorgeht. Fortgeschrittene und häufige Benutzer bevorzugen möglicherweise das Strukturmodell, während gelegentliche oder weniger erfahrene Benutzer - funktional.

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

Eine weitere Dimension des Problems besteht darin, dass das über die Benutzeroberfläche dargestellte Strukturmodell nicht der Struktur der Software zugeordnet werden darf, sondern natürlich der Struktur der vorliegenden Benutzeraufgabe oder des betreffenden 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 Task- / Taskobjektstruktur verstehen und die Benutzeroberfläche dieser Struktur zuordnen.

Trotzdem kann ich einen formellen HCI-Kurs immer noch nicht genug empfehlen. Es gibt eine Menge Dinge wie Heuristiken , Prinzipien, die aus der Gestaltphychologie abgeleitet sind , wie Menschen lernen usw.


+1 für den MIT OCW Link :) Diese Vorlesungsnotizen sind von unschätzbarem Wert
PlagueHammer

Sie haben Recht, Benutzer können selbst Experten einer Software werden, und sie mögen es, wenn jemand einen Weg für sie durch die "nette" Benutzeroberfläche gefunden hat, um schneller zu sein. Hier finden Sie zum Beispiel alle wichtigen Verknüpfungen. Benutzerfreundlichkeit ist ein sehr interessantes Thema!
Thorsten79

25

Ich schlage vor, Sie beginnen damit, Ihre gesamte Benutzeroberfläche auf die gleiche Weise wie jetzt zu erstellen, ohne sich auf Benutzerfreundlichkeit und andere Dinge zu konzentrieren.

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.


Deshalb bevorzuge ich Office 2007 bei weitem!
Richard Ev

Wenn sich jemand fragt, aus welchem ​​Grab ich dieses Zitat gegraben habe, habe ich es aus Zivilisation 4 gehört. Tolles Spiel. Ich habe keine Ahnung, wer der Autor ist, aber er könnte verdammt noch mal eine bessere Benutzeroberfläche schreiben als die Designer von Word.
Hoffmann

Es gibt ein weiteres ähnlich gutes Zitat von A. Einstein: "Machen Sie alles so einfach wie möglich, aber nicht einfacher." Ich habe festgestellt, dass diese Ideen auch für das UI-Design gelten: www.presentationzen.com. ... und +1
Pyry Jahkola

Saint-Exupery war viel mehr als ein Pilot und Flugzeugkonstrukteur. +1 für das Zitieren von ihm. Sein Kinderbuch ("Der kleine Prinz") ist lesenswert, aber ich komme hier vom Thema ab.
David Thornley

5
Sie sollten die Druckansicht ausgewählt haben ... Sie können die Lineale jetzt nicht sehen.
Mussnoon

16

Viele Entwickler denken, 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 ganz natürlich kommt.

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


Vielen Dank, "The Design of Everyday Thinks" ist auf meiner Amazon WishList
Chris Ballance

+1. "Das Design alltäglicher Dinge" steht auch auf der Coding Horror-Liste der empfohlenen Lektüre (gute Liste der Bücher für Entwickler). Ich habe es kürzlich gelesen und kann es auch sehr empfehlen.
Mun

Ich lese gerade "Das Design alltäglicher Dinge" - es ist sicherlich sehr gut, aber wie in Kommentaren zu einer anderen Antwort erwähnt, spricht Alan Coopers "Die Insassen leiten das Asyl" genau dieses Thema an. Als Entwickler war das Buch "lebensverändernd"!
Stuart Helwig

Mein Ärger: Viele Entwickler (und Designer und andere) denken, dass ich die Benutzeroberfläche nicht entwerfen kann, weil ich Code kann. Ich kenne Photoshop nicht sehr gut, aber ich glaube, ich habe ein gutes Auge dafür, was funktioniert und was nicht. (Das Design alltäglicher Dinge war meine erste UI-Bibel.)
Barry Brown

14

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, einschließlich ich, nicht produzieren können. Leider reicht dies nicht aus und macht die Benutzeroberfläche nicht nutzbar, 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. Fitt-Gesetz, Hick-Gesetz) und anderer Themen. Sehr wenige CS-Programme trainieren dafür. Sehr wenige Entwickler, die ich kenne, werden ein Benutzertestbuch über ein JUnit-Buch usw. auswählen.

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

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


"Wir können entweder Spielzeug-GUI-Builder wie das alte VB verwenden und müssen uns mit hässlichem Klebercode auseinandersetzen, oder wir verwenden APIs, die uns ohne Ende frustrieren, wie den Versuch, Layouts in Swing zu sortieren." Sie haben meine Erfahrungen mit dem Erstellen von GUI wirklich zusammengefasst. Wenn ich hinzufügen darf: "oder verrückte DOM- und CSS-Kombination"
Hoffmann

Ich bin sicher, jeder kennt Totally Gridbag? " madbean.com/anim/totallygridbag "
Uri

12

Gehen Sie zu Slashdot und lesen Sie die Kommentare zu allen Artikeln, die sich mit Apple befassen. Sie werden eine große Anzahl von Menschen finden, die darüber sprechen, dass Apple-Produkte nichts Besonderes sind, und den Erfolg von iPod und iPhone Menschen zuschreiben, die versuchen, trendy oder hip zu sein. Sie gehen normalerweise Funktionslisten durch und weisen darauf hin, dass sie nichts tun, was MP3-Player oder Smartphones früher nicht getan haben.

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

Wenn Sie im ersten Lager sind, denken Sie nicht so, wie es die durchschnittliche Person tut, und daher werden Sie wahrscheinlich schlechte Benutzeroberflächen erstellen, weil Sie sie nicht von guten unterscheiden können. Dies bedeutet nicht, dass Sie hoffnungslos sind, sondern dass Sie explizit gute Prinzipien für das Interface-Design und das Erkennen einer guten Benutzeroberfläche lernen müssen (so wie jemand mit Asperger möglicherweise explizit soziale Fähigkeiten 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 zum Beispiel scheint sich (derzeit) nicht auf die Fähigkeit zu erstrecken, publizierbare Geschichten zu schreiben.

Versuchen Sie also, ein Gespür für gutes UI-Design zu entwickeln. Dies erstreckt sich auf 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 genug damit, 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.


+1 für Vorschlag Die Gestaltung alltäglicher Dinge
Oskar Duveborn

+1 für eine sehr gute Antwort. Ich denke, es ist bezeichnend, dass Sie immer noch bei 1 Abstimmung (jetzt 2) schweben. diejenigen, die Ihrer Beschreibung entsprechen, werden wahrscheinlich nicht glauben, dass sie es tun, oder einfach die Idee verwerfen :-(
mghie

Dies ist eine pauschale Aussage. Nicht jeder Anti-Apple-Kommentar zu Slashdot ist eine Kritik an der Benutzeroberfläche oder eine Bestätigung für mangelndes Verständnis der Benutzeroberfläche. Apple hat eine gute Benutzeroberfläche und viele seiner Konkurrenten auch.
Bernard Igiri

Ein anderer Gedanke: Ein Apple ist nicht jedermanns Sache; Zum Beispiel bietet es nicht die phänomenale unglaubliche Leistung, die eine CLI bietet.
J. Polfer

2
Ich persönlich finde Apple-Produkte äußerst uninteressant in der Verwendung. Ich kann mir vorstellen, dass ich nicht die einzige Person bin, die frustriert war, als ihr erster iPod jedes Mal, wenn ich mit dem Joggen anfing, Songs mischte oder warum sich der iPhone-Bildschirm ständig selbst invertiert. Ich denke, Dinge sollten nur durch direkte, eindeutige Benutzeraktionen geschehen.
Lotus Notes

10

Die wichtigste Faustregel, an der ich festhalte, ist, niemals zu versuchen, beides gleichzeitig zu tun. Wenn ich an Back-End-Code arbeite, mache ich das, mache eine Pause und kehre mit aufgesetztem UI-Hut zurück. Wenn Sie versuchen, es zu verarbeiten, während Sie Code ausführen, werden Sie es mit der falschen Einstellung angehen und als Ergebnis einige schreckliche Schnittstellen erhalten.

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 zu diesem Thema recherchieren (von Millers Nr. 7 bis zu Nielsens Archiven) und machen Sie verstehen sicher, warum das Design der Benutzeroberfläche von größter Bedeutung ist.

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

Bearbeiten : Krugs Buch ist wirklich gut ... lesen Sie es, besonders wenn Sie für das Web entwerfen.


und wie lautet der Titel dieses Krug-Buches
defau1t

@refhat Es wurde prominent im Top-Beitrag verlinkt, also habe ich es zu der Zeit nicht verlinkt, aber es ist dieses: librarything.com/work/12322
James B

8

Dafür gibt es viele Gründe.

(1) Der Entwickler sieht die Dinge aus Sicht des Benutzers nicht. Dies ist der übliche Verdächtige: mangelndes Einfühlungsvermögen. Aber es ist normalerweise nicht wahr, da Entwickler nicht so fremd sind, wie die Leute sie 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 Leuten 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: Lesen Sie eine beliebige Benutzeroberfläche, ein menschliches Interection-Design und ein Prototyping-Buch. zB Entwerfen des Offensichtlichen: Ein Common-Sense-Ansatz für das Design von Webanwendungen, lassen Sie mich nicht nachdenken: Ein Common-Sense-Ansatz für die Benutzerfreundlichkeit des Web, Entwerfen des Moments, was auch immer.

Wie diskutieren 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. Von Punkt A.1 aus können Sie zu A.1.1, A.1.2, A.1.3 usw. gelangen.

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

Da selbst UI-Experten 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 verwenden.


7

Ich versuche mit designspezifischen Websites und Texten in Kontakt zu bleiben. Ich fand auch das ausgezeichnete Robin Williams-Buch The Non-Designer's Design Book in diesen Studien sehr interessant.

Ich glaube, dass Design und Benutzerfreundlichkeit ein sehr wichtiger Bestandteil des Software-Engineerings sind, und wir sollten mehr darüber lernen und keine Ausreden mehr geben, dass wir kein Design machen sollen.

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


Ich bin nicht der Meinung, dass jeder Programmierer sein kann. Einige Aspekte des Handels können nicht gelehrt werden, Sie können es entweder hacken oder Sie können nicht (kein Wortspiel beabsichtigt.)
Chris Ballance

2
Ich meine, ab und zu heißt das nicht, dass der Typ ein guter Programmierer sein wird oder es für immer sein wird.
Edwin Jarvis

7

Wenn ich mich dem UI-Design nähere, sind hier einige Dinge, die ich während des gesamten Vorgangs beachten sollte (bei weitem keine vollständige Liste):

  • Ein Modell kommunizieren . 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, räumliche Platzierung und Reihenfolge der Arbeitsabläufe spielen eine Rolle bei der Kommunikation dieses Modells mit dem Benutzer. Zum Beispiel impliziert eine bestimmte Art von Liste gegenüber einer anderen verschiedene Dinge sowie die Beziehung zwischen dem, was in der Liste enthalten ist, 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 im selben UI-Bereich zu kommunizieren.

  • Konsistenz . Die Wiederverwendung beliebter UI-Metaphern hilft sehr. Interne Konsistenz ist ebenfalls 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.

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


Sie bringen einen guten Punkt mit dem Wissen um Ihr Publikum zum Ausdruck ... Ich mag auch "Sie sind nicht Ihr Benutzer" (Platt) und "Kennen Sie Ihren Benutzer" (Platt). Dies kann nicht genug betont werden
Chris Ballance


5

Ich finde, das beste Werkzeug im UI-Design ist es, einen erstmaligen Benutzer zu beobachten, der versucht, die Software zu verwenden. Machen Sie sich viele Notizen und stellen Sie ihnen einige Fragen. Führen Sie niemals Anweisungen oder versuchen Sie 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.


Absolut einverstanden, aber es ist durchaus möglich, dass ein Entwickler solide Grundprinzipien der Benutzeroberfläche anwendet.
Nailitdown

Solide Grundprinzipien der Benutzeroberfläche funktionieren nicht in jedem Land. Wir setzen Software in vielen Regionen ein und es gibt einen großen Unterschied im UI-Design für verschiedene Teile der Welt. Versuchen Sie, Ihre US-zentrierte App irgendwann nach China zu

5

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

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

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 wir können, 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.


Ich denke, dass man Ästhetik nicht völlig außer Acht lassen kann. Vielleicht kann eine hässliche Benutzeroberfläche genauso brauchbar sein wie eine hübsche, aber das ist nicht alles, wofür eine Benutzeroberfläche gedacht ist. Schließlich ist die Benutzeroberfläche das Gesicht Ihres Programms, ähnlich wie das Cover eines Buches: Es ist viel wahrscheinlicher, dass Leute ein Programm mit einer hübschen Benutzeroberfläche aufgreifen.
Tikhon Jelvis

Ästhetik ist absolut wichtig, aber das ist Grafikdesign, nicht UI-Design.
Nailitdown

5

Was habe ich getan, um das UI-Design zu verbessern?
Pass auf!

Es ist wie immer, wenn Sie eine Karte in den Nachrichten oder ein elektronisches Busschild sehen und sich fragen: „Wie haben sie diese Daten erhalten? Haben sie das mit Raw SQL gemacht oder verwenden sie LINQ? ' (oder fügen Sie hier Ihre eigene Geek-Neugier ein).

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

Aber genau wie beim Erlernen einer neuen Sprache werden Sie sie niemals lernen , wenn Sie sich nicht wirklich darauf einlassen.

Aus einer anderen Antwort entnommen schrieb ich:

Lerne, die Welt um dich herum wirklich zu betrachten. Warum mag ich diese Benutzeroberfläche, aber ich hasse diese? Warum ist es so schwer, die Nudelgerichte in diesem Restaurantmenü zu finden? Wow, ich wusste, was dieses Zeichen bedeutete, bevor ich die Worte überhaupt las. Warum war das? Wie kommt es, dass dieser Buchumschlag so falsch aussieht? Lernen Sie, sich die Zeit zu nehmen, um darüber nachzudenken, warum Sie auf visuelle Elemente aller Art so reagieren, und wenden Sie dies dann auf Ihre Arbeit an.


+1 für den Zen-Rat zum Lernen, zu schauen und zu denken. Sehr wenige Menschen fragen sich, was ins Auge fällt.
PlagueHammer

5

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 SO INTUITIVE gibt ...

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

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

Wenn Sie (wie Carl Sagan postulierte) akzeptieren, dass Sie Dinge nicht verstehen können, die absolut anders sind als alles, was Sie jemals erlebt haben, wie könnten Sie dann möglicherweise "wissen", wie man etwas benutzt, wenn Sie so etwas noch nie aus der Ferne benutzt 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 das 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, was groß ist, 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 hinhielt und seine Hand am Handgelenk auf und ab verzichtete, während er den Arm ruhig hielt ... verzichten sie dann auf dich? Wahrscheinlich, es sei denn, Sie sind in Japan. Dort kann dieses Handzeichen "hierher kommen" bedeuten. Also wer hat recht? Beides 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 um sie herum: benutzerzentriertes 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. Mit 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 doch?

Fragen Sie Ihren durchschnittlichen 9- oder 10-Jährigen, was er davon hält. Sie werden überrascht sein, wie viele Kinder es derzeit schwer haben werden, es als Filmstreifen zu identifizieren, obwohl es immer noch verwendet wird, um Hollywood oder irgendetwas, was mit Film (Film) zu tun hat, darzustellen. Die meisten Filme der letzten 20 Jahre wurden digital gedreht. Und wann hat einer von uns das letzte Mal ein Stück Film jeglicher Art, Fotos oder Filme gehalten?

Für mich läuft alles darauf hinaus: Kennen Sie Ihr Publikum und recherchieren Sie ständig, um mit Trends und Änderungen in "intuitiven" Dingen Schritt zu halten, zielen Sie auf Ihre Hauptbenutzer ab und versuchen Sie, keine Dinge zu tun, die Unerfahrene dafür 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 seitens des Benutzers, um es zu verwenden. Wie viel Schulung und für welche Benutzerstufe ist Teil der Entscheidungen, die getroffen werden müssen.

Einige Dinge sind mehr oder weniger vertraut, basierend auf der Erfahrung Ihres Zielbenutzers als Mensch, Computerbenutzer, Schüler oder was auch immer.

Ich fotografiere nur für den dicksten Teil der Glockenkurve und versuche so viele Leute wie möglich zu bekommen, aber mir wird klar, dass ich niemals allen gefallen werde ...


4

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


+1 Lesen der Designrichtlinien der Plattform ist definitiv etwas, das man tun sollte (und
herausfinden

Lesen Sie außerdem die Apple-Richtlinien (Human Interface Guidelines). Sie haben mehr Grundlagen und Prinzipien in sich. Das macht Sie verstehen, was universell sein sollte und was plattformspezifisch ist
Stephan Eggermont

Und wenn Sie schon dabei sind, lesen Sie auch das GNOME HIG. Zwischen diesen drei wird sichtbar, was nur eine bestimmte Sache einer einzelnen Plattform ist und was im Allgemeinen eine gute Idee zu sein scheint.
mghie

Die meisten davon basieren auf IBMs, aber das ist mittlerweile ziemlich veraltet. Die Standardbefehle zum Ausschneiden und Einfügen waren beispielsweise Umschalt + Entf und Umschalt + Ein (sie funktionieren übrigens immer noch).
Simon Buchan

4

Ich glaube, das Hauptproblem hat nichts mit unterschiedlichen Talenten oder Fähigkeiten zu tun. Das Hauptproblem besteht darin, dass Sie als Entwickler zu viel darüber wissen, was die Anwendung tut und wie sie es tut, und dass Sie Ihre Benutzeroberfläche automatisch aus der Sicht von jemandem entwerfen, der über dieses Wissen verfügt.

Während ein Benutzer in der Regel zunächst absolut nichts über die Anwendung weiß und niemals etwas über deren Innenleben lernen muss.

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


4

"Entwerfen von beiden Seiten des Bildschirms" bietet einen sehr einfachen, aber tiefgreifenden Grund, warum Programmierer das UI-Design schwierig finden: Programmierer werden darin geschult, in Randfällen zu denken, während UI-Designer darin geschult sind, in allgemeinen Fällen oder in der Verwendung zu denken.

Es ist also sicherlich schwierig, von einer Welt in die andere zu wechseln, wenn die Standardeinstellung in einer der beiden genau das Gegenteil der anderen ist.


3

Zu sagen, dass Programme am UI-Design scheißen, bedeutet, den Punkt zu verfehlen. Der Punkt des Problems ist, dass die formale Schulung, die die meisten Entwickler erhalten, mit der Technologie vertraut ist. Mensch-Computer-Interaktion ist kein einfaches Thema. Es ist nicht etwas, das ich mit Ihnen "verschmelzen" kann, indem ich eine einfache einzeilige Aussage mache, die Ihnen klar macht, "oh, die Benutzer werden diese Anwendung effektiver nutzen, wenn ich x anstelle von y mache."

Dies liegt daran, dass Ihnen ein Teil des UI-Designs fehlt. Das menschliche Gehirn. Um zu verstehen, wie eine Benutzeroberfläche entworfen wird, müssen Sie verstehen, wie der menschliche Geist mit Maschinen interagiert. Es gibt einen ausgezeichneten Kurs, den ich an der Universität von Minnesota zu diesem Thema besucht habe und der von einem Professor für Psychologie unterrichtet wird. Es heißt "Mensch-Maschine-Interaktion". Dies beschreibt viele der Gründe, warum das UI-Design so kompliziert ist.

Da Psychologie auf Korrelationen und nicht auf Kausalität basiert, können Sie niemals beweisen, dass eine Methode des UI-Designs in einer bestimmten Situation immer funktioniert. Sie können korrelieren, dass viele Benutzer ein bestimmtes UI-Design ansprechend oder effizient finden, aber Sie können nicht beweisen, dass es immer verallgemeinert wird.

Darüber hinaus besteht das UI-Design aus zwei Teilen, die viele Leute zu vermissen scheinen. Es gibt den ästhetischen Reiz und den funktionalen Workflow. Wenn Sie sich für eine 100% ige Ästhetik entscheiden, werden die Menschen sicher nur Ihr Produkt. Ich bezweifle sehr, dass die Ästhetik jemals die Frustration der Benutzer verringern wird.

Es gibt mehrere gute Bücher zu diesem Thema und Kurs (wie Bill Buxtons Sketching User Experiences und Cognition in the Wild von Edwin Hutchins). An vielen Universitäten gibt es Graduiertenkollegs für Mensch-Computer-Interaktion.

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


Ich bin anderer Meinung: Computer basieren von Natur aus auf Mathematik und Logik. Jeder Unterricht in Computerprogrammierung muss auf Mathematik und Logik basieren.
Paul Nathan

1
Ja, du hast recht, Paul. Computer sind Mathematik und Logik. Das UI-Design beinhaltet jedoch ein menschliches Element, das sich in der Geschichte als weitaus weniger mathematisch und logisch erwiesen hat.
Jwendl

Es ist nicht so sehr, dass sie weniger auf Mathematik und Logik basieren, sondern dass die Mathematik und Logik hinter ihnen viel komplexer ist, meistens jenseits von irgendjemandem heute. Ich wette jedoch, dass gute UI-Designs zum Teil alle auf Geometrie basieren.
Tikhon Jelvis

2

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 neu zu trainieren und so ansprechende und effiziente Systemschichten effektiver zu gestalten?

Scheint, als müssten "UI-Designer" eine völlig andere Perspektive einnehmen - sie müssten von der Innenseite der Box nach außen schauen; anstatt von außerhalb der Box hinein zu schauen.

Alan Coopers Meinung "Die Insassen führen das Asyl" 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 den Hut wechseln.


2

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

Softwareentwickler sind in der Regel schlecht in Bezug auf "intuitiv"


Hervorragender Punkt, erfordert die andere Seite des Gehirns
Chris Ballance

Es gibt keine intuitive Benutzeroberfläche. Es gibt Ähnliches wie das, was ich bereits weiß, aber das ist etwas anders.
Stephan Eggermont

Nichts ist "intuitiv", alles wird gelernt. Intuitiv ist ein Wort, das von Geschäftsleuten herumgeworfen wird, um Programmierer zum Schwitzen zu bringen.
Bernard Igiri

gesprochen wie ein echter Programmierer ... und das ist dann die Wurzel des Problems.
Gregor Brandt

@gbrandt Intuitiv ist eine Kombination aus "vertraut" und "einfach". Es ist immer noch ein Ziel, nach dem man streben muss. Das Schwierige an der Benutzerfreundlichkeit ist, dass das, was für einige intuitiv ist, für andere nicht unbedingt intuitiv ist. @Stephan hat Recht, dass "intuitiv" keine harte "Tatsache" ist, sondern relativ zum Benutzer.
TM.

2

Ein nützlicher Rahmen besteht darin, aktiv zu überlegen, was Sie tun, um einen Kommunikationsprozess zu entwerfen. In einem sehr realen Sinne 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 Punkten:

  1. Spricht der Benutzer diese Sprache bereits? Die Verwendung einer sehr eigenwilligen Oberfläche ist wie die Kommunikation 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 den einfachsten Begriffen und wenigen Ablenkungen vorstellen. Wenn Ihre Benutzeroberfläche jedoch Redewendungen verwendet, an die der Benutzer gewöhnt ist, gewinnt er von Anfang 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 Schnittstelle herausschneiden können, desto einfacher wird die Kommunikation mit ihr.
  3. Wie in menschlichen Gesprächen ist es oft nicht das, was Sie sagen, sondern das, wie Sie es sagen. Die Art und Weise, wie die meisten Softwareprodukte kommunizieren, ist bis zu einem Grad unhöflich, der sie ins Gesicht schlagen würde, wenn es sich um eine Person handeln würde. Wie würden Sie sich fühlen, wenn Sie jemandem eine Frage stellen würden und er dort saß und Sie einige Minuten lang anstarrte und sich weigerte, auf andere Weise zu antworten, bevor er antwortete? 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 etwas angenehmer gestalten können.

Wirklich, es ist etwas schwer zu bestimmen , was Programmierer denkt Schnittstelle Interaktion als, andere als ein Prozess der Kommunikation, aber vielleicht das Problem ist , dass es nicht gedacht Bekommt als etwas überhaupt zu sein.


2

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, eine gute Benutzeroberfläche entwerfen zu können?
  • Wie viel Ausbildung hatte er auf diesem Gebiet?
  • Wie viele Bücher hat er gelesen?
  • Wie viele Dinge hat er in wie vielen Jahren entworfen?
  • Hatte er die Gelegenheit, die Reaktion der Benutzer zu sehen?

Wir erwarten nicht, dass ein zufälliger "Joe der Klempner" guten Code schreiben kann. Warum sollten wir also erwarten, dass der zufällige "Joe the Programmer" eine gute Benutzeroberfläche entwirft?

Empathie hilft. Das Trennen des UI-Designs und der Programmierung hilft. Usability-Tests helfen.

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


Genau das, was ich dachte: In welcher Beziehung steht "Entwickler" zu "User Interface Designer"?
Jorge Córdoba

@Jorge hier ist jetzt es bezieht sich: Viele Entwickler müssen Benutzeroberflächen für ihre Arbeitgeber entwerfen, auch wenn sie keine Designer sind. In meiner Firma haben wir KEINE Künstler. Unsere Apps sehen nicht schlecht aus. In diesem Fall müssen Sie Gruppenbewertungen und ähnliches haben, um sicherzustellen, dass das Design schön ist.
TM.

@TM: Design ist nicht unbedingt UI / UX-Design. Sicher, es könnte gut aussehen, aber das bedeutet nicht, dass es gut funktioniert .
Kevin Peno

2

Entwickler sind (notwendigerweise) nicht gut im UI-Design, aus dem gleichen Grund, aus dem sie (notwendigerweise) nicht gut stricken können. Es ist schwer, es braucht Übung und es tut nicht weh, wenn dir jemand zeigt, wie es überhaupt geht.

Die meisten Entwickler (ich eingeschlossen) begannen, Benutzeroberflächen zu "entwerfen", da dies ein notwendiger Bestandteil des Schreibens von Software war. Solange sich ein Entwickler nicht bemüht, gut darin zu werden, wird er es nicht sein.


2

Um sich zu verbessern, schauen Sie sich einfach die vorhandenen Websites an. Zusätzlich zu den bereits vorgeschlagenen Büchern möchten Sie vielleicht einen Blick auf Robin Williams 'ausgezeichnetes Buch "The Non-Designer Design Book" ( bereinigter Amazon-Link ) werfen.

Werfen Sie einen Blick auf die Möglichkeiten des visuellen Designs, indem Sie sich auch die verschiedenen Beiträge bei The Zen Garden ansehen .

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

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


2

Die Benutzeroberfläche kann nicht wie ein dünner Anstrich nachträglich aufgetragen werden. Es ist etwas, das am Anfang da sein muss und auf echten Forschungen basiert. Natürlich gibt es jede Menge Usability-Forschung. Es muss nicht nur am Anfang vorhanden sein, es muss den Kern des Grundes bilden, warum Sie die Software überhaupt erst herstellen: Es gibt eine Lücke in der Welt da draußen, ein Problem, und es muss gemacht werden benutzerfreundlicher und effizienter.

Software ist nicht um ihrer selbst willen da. Der Grund für die Existenz eines Teils der Software 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 jemand sie 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 Möglichkeiten nutzen. Wie würde ein Höhlenmensch Ihr Programm verwenden? Zum Beispiel haben wir uns entwickelt, um sich bewegende Objekte wirklich gut verfolgen zu können. 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 darauf trainiert, mentale Gymnastik und Backflips zu machen, um einige der seltsamsten Abstraktionen zu verstehen. Zum Beispiel verstehen wir, dass eine Folge von arkanem Text ein Muster eines elektromagnetischen Zustands auf einer Metallplatte darstellen und in dieses übersetzt werden kann, was, 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. Verstehe, 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 zu beschwören, um unser Gebot abzugeben.

Die Arten von Abstraktionen, die normale Menschen verstehen, sind Dinge wie Karten, Diagramme und Symbole. Hüten Sie sich vor Symbolen, denn Symbole sind ein sehr fragiles menschliches Konzept, dessen Dekodierung bewusste mentale Anstrengungen erfordert, bis das Symbol gelernt ist.

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

Wir können Karten erst im Alter von 4 Jahren verstehen. Ich glaube, ich habe irgendwo gelesen, dass Schimpansen Karten im Alter von 6 oder 7 Jahren verstehen können.

Der Grund, warum Guis anfangs so erfolgreich waren, ist, dass sie eine Landschaft von meist textuellen Schnittstellen zu Computern verändert haben, zu etwas, das die Computerkonzepte auf etwas abbildete, das einem physischen Ort ähnelte. Wo Guis in Bezug auf Benutzerfreundlichkeit versagen, hören sie auf, etwas zu ähneln, was Sie im wirklichen Leben sehen würden. Es gibt unsichtbare, unvorhersehbare, unverständliche Dinge, die in einem Computer passieren und die nichts mit etwas zu tun haben, was Sie jemals in der physischen Welt sehen würden. Einiges davon ist notwendig, da es keinen Sinn macht, nur einen Reality-Simulator zu erstellen. Die Idee ist, Arbeit zu sparen, also muss es ein bisschen Magie geben. Aber diese Magie muss Sinn machen und auf einer Abstraktion beruhen, die die Menschen gut verstehen können. Es ist, wenn unsere Abstraktionen tief und vielschichtig werden. und nicht übereinstimmend mit der anstehenden Aufgabe, dass die Dinge zusammenbrechen. Mit anderen Worten, die Schnittstelle 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 Objekt in Bewegung 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 Physikanfänger. Benutzertests sind für die meisten Entwickler nicht sinnvoll. "Sie können die Benutzer einfach 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. Andernfalls versuchen Sie, ein gutes Physiklehrbuch zu finden. Die teure Art. Nicht der Pulp-Fiction-Selbsthilfe-Mist, den Sie in Borders finden, sondern das dicke, gebundene Zeug, das Sie nur in einer Universitätsbibliothek finden können. Dies ist eine notwendige Grundlage. Sie können gutes Design ohne es machen, aber Sie haben nur ein intuitives Verständnis dafür, was los ist. Wenn Sie einige gute Bücher lesen, erhalten Sie eine gute Perspektive.


2

Wenn Sie das Buch "Warum Software scheiße ist" gelesen hätten, hätten Sie Platt's Antwort gesehen, die einfach ist:

  1. Entwickler bevorzugen die Kontrolle über die Benutzerfreundlichkeit
  2. Durchschnittliche Personen bevorzugen Benutzerfreundlichkeit gegenüber Kontrolle

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

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

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.