Wie können Programmierer ihre UX-Kenntnisse verbessern? [geschlossen]

17

Als Programmierer können wir sehr komplexe Probleme lösen, aber wenn wir eine Benutzeroberfläche entwerfen müssen, neigen wir dazu, sie nicht einfach zu bedienen.

In kleinen Unternehmen, die es sich nicht leisten können, Designer und UX-Experten zu haben, müssen Programmierer fast alles in der Software tun. Diese Schnittstellen sind jedoch selten intuitiv ( das klassische Beispiel ).

Worin besteht das Problem? Wie können Entwickler ihre Fähigkeiten im Entwerfen guter Benutzererfahrungen verbessern?

jmservera
quelle
7
Wir? Hast du eine Maus in der Tasche? Bitte gruppieren Sie nicht alle Entwickler in dieser Liste, denn ehrlich gesagt ist dies nicht nur nicht wahr, sondern Entwickler können mit Sicherheit besser GUIs erstellen als typische Nicht-Entwickler, die von der Straße hereinspazieren.
GroßmeisterB
1
Ich denke, Sie werden feststellen, dass dieser Comic den Vergleich mit vielen anderen Produkten, die nicht auf google.com oder iDevice basieren, nicht besteht. Sowohl der erste als auch der zweite Frame im Comic stehen für eine Einwegkommunikation. Der dritte ist nicht. Alle 3 sind übertrieben.
Steven Evers
2
@GrandmasterB, nimm es nicht so ernst. Ich habe den Titel trotzdem bearbeitet, um übermäßige Verallgemeinerungen zu vermeiden.
Jmservera
@SnOrfus, zum Beispiel, Googles AdWords-Oberfläche, ist geradezu schmerzhaft.
GroßmeisterB
Zu Ihrer
Information

Antworten:

9

Ich bin in meiner Karriere oft auf dieses Problem gestoßen - der Trick besteht darin, zunächst zu erkennen, dass es sich um ein Problem handelt, und es anzuerkennen. Sobald Sie dies getan haben, ist es einfacher, keine übermäßig komplexen Schnittstellen mehr zu erstellen.

Die Benutzeroberfläche ist ebenfalls Teil des Software-Engineerings, aber für viele Software-Entwickler vielleicht nicht so interessant. Es gibt jedoch viele interessante Herausforderungen, die meiner Erfahrung nach genauso interessant sein können wie eher technische Herausforderungen.

Usability, User Experience Design (UX), Mensch-Computer - Interaktion (HCI) - es ist nicht magisch, und es ist ein Teil des Software - Entwicklungsprozesses.

Mein Tipp lautet:

  • erkenne deine Grenzen an
  • Fragen Sie und hören Sie Leuten zu, die behaupten, über diese Dinge Bescheid zu wissen
  • Wenn Sie sich nicht sicher sind, googeln Sie und suchen Sie nach autorisierenden Antworten

Durch das Befolgen dieser einfachen Prinzipien über die Jahre hinweg habe ich nützliche Informationen dazu gesammelt, wie Benutzeroberflächen erstellt werden, wie Menschen mit Software interagieren und wie sie denken, wenn sie sie verwenden. Ich bin keineswegs ein Experte, aber ich weiß , wahrscheinlich ein wenig etwas mehr als ein durchschnittlicher Programmierer.

Tl; dr: KUSS

Vetle
quelle
Einige Leute interessieren sich natürlich für einfache Benutzeroberfläche; andere könnten sich weniger interessieren und möchten ihre Zeit nicht verschwenden.
Job
6

Es ist biologisch.

  • Die Benutzeroberfläche und alle anderen designbezogenen Aufgaben betreffen die rechte Gehirnhälfte .
  • Programmieraufgaben betreffen die linke Gehirnhälfte .

Sie haben unterschiedliche Zwecke.

Es ist sehr selten, in beiden gut zu sein. Zumindest zur gleichen Zeit.

Gehirn

UPDATE: Ich habe kürzlich erfahren, dass es andere Faktoren wie Erfahrung gibt. Zusätzlich zu einigen ererbten Faktoren entwickeln Sie mentale Fähigkeiten, abhängig davon, wie Sie in Ihrer Kindheit ausgelöst werden. Zum Beispiel sind missbrauchte Kinder im Durchschnitt kreativer als die Kontrollgruppe, weil sie lernen, sich in Träumen von ihrer schrecklichen Realität zu lösen.

Stephen C
quelle
1
Können Sie uns unterstützen? "Es ist sehr selten, in beiden Bereichen gut zu sein. Zumindest zur gleichen Zeit." mit Studien / Artikeln, die das aussagen?
c_maker
6
"In der populären Psychologie werden häufig breite Verallgemeinerungen dahingehend gemacht, dass die eine oder die andere Seite charakteristische Bezeichnungen wie" logisch "oder" kreativ "hat. Diese Bezeichnungen müssen sorgfältig behandelt werden; obwohl eine laterale Dominanz messbar ist, gibt es diese Merkmale tatsächlich in beide Seiten, und experimentelle Beweise liefern wenig Unterstützung für die Korrelation der strukturellen Unterschiede zwischen den Seiten mit funktionellen Unterschieden. " Aus Wikipedia-Artikel en.wikipedia.org/wiki/Lateralization_of_brain_function
c_maker
Außerdem wird die Frage hiermit überhaupt nicht beantwortet, es sei denn, es wird "Was ist das Problem?" Beantwortet. Diese Antwort deutet darauf hin, dass Sie nicht in beidem gut sein können, was überhaupt nicht wahr ist. Es mag schwierig für die Notaufnahme sein, weil die Leute nicht genug Übung haben, aber es ist nicht schwierig.
c_maker
@c_maker: leider sind alle meine psychologiekurse auf französisch. Aber ich kann die Studien erwähnen, die in ihnen erwähnt werden: Gazzaniga 1976, Sperry 1968, Zaidel 1975.
Obwohl ich respektiere, dass Sie Ihre Argumentation unterstützen können, muss ich sagen, dass diese Daten wirklich lange her sind. Viel hat sich seitdem geändert. Wir wissen noch sehr wenig über unser Gehirn, aber damals wussten wir viel weniger.
c_maker
4

Ich nehme an, Sie könnten darüber streiten, wie Programmierer und Designer unterschiedliche Denkweisen oder unterschiedliche Persönlichkeiten haben, oder Sie könnten über die linke Gehirnhälfte im Vergleich zur rechten Gehirnhälfte und über die kreative im Vergleich zur logischen argumentieren, aber in Wirklichkeit gibt es drei grundlegende Probleme:

  1. Die Arbeit der Programmierer ist ihre Software. Sie kümmern sich darum; sie widmen sich ihr; sie können sich darüber aufregen. Die Arbeit der Benutzer ist etwas anderes ; Die Software ist nur ein Werkzeug, um etwas anderes zu tun, und sie möchten so wenig Zeit wie möglich damit verbringen, darauf zu achten, damit sie sich stattdessen auf das konzentrieren können, was ihnen wichtig ist. Solange Programmierer dies missverstehen, werden sie die falschen Kompromisse bei der Gestaltung der Benutzeroberfläche eingehen. (Weitere Informationen zu diesem Thema finden Sie unter Joel Spolskys "Kontrolle Ihrer Umgebung macht glücklich" oder David S. Platt's "Fundamental Laws" .)
  2. Programmierer kennen ihre Software genau. Sie sind mit seinem Detail und seiner Komplexität zufrieden; Sie verstehen, warum es sich so verhält, wie es sich verhält, weil sie ein vollständiges mentales Modell davon haben. Benutzer haben nicht die Gelegenheit (oder das Interesse, siehe Punkt 1), jedes Detail zu lernen, und es ist ihnen unmöglich, ein vollständiges mentales Modell zu haben, da sie keinen Zugang zum Quellcode haben oder diesen nicht verstehen. (Um mehr über die Wichtigkeit von mentalen Modellen zu erfahren, lesen Sie vielleicht Donand Normans Das Design alltäglicher Dinge . Obwohl es nicht spezifisch für Computer ist, ist es ein gutes Buch über Interface-Design.)
  3. Die Kompromisse der Programmierer unterscheiden sich von denen der Benutzer. Ein Programmierer kann leicht entscheiden, ein Feature zu komplex oder nur halbautomatisch oder auf andere Weise weniger benutzbar zu lassen, da es für den Programmierer einfacher ist, mit der mangelnden Benutzerfreundlichkeit umzugehen, als es richtig zu codieren. Dem Benutzer ist es (sehr) egal, wie viel Aufwand der Programmierer benötigt, um es richtig zu codieren, und er möchte es lieber voll verwendbar haben.

Das dritte Problem kann gelöst werden, indem man genug Disziplin hat, um nicht den einfachen Ausweg zu finden. Ich bin mir nicht sicher, ob die ersten beiden Probleme lösbar sind. Je näher Sie Ihrer Arbeit sind, desto schwieriger ist es, sie so zu sehen, wie es ein Außenstehender tut. Aus diesem Grund sind Usability-Tests - selbst einfache, informelle Dinge wie das Ergreifen von Personen in der Halle und das Sitzen vor Ihrer App - so wichtig.

Josh Kelley
quelle