Design (von irgendetwas) ist eine Aushandlung zwischen den Bedürfnissen der verschiedenen Interessengruppen (Kunden, Entwickler, Benutzer). Keiner der Stakeholder ist in der Regel in der Lage, das beste Design zu erstellen, da sie ihre eigenen Bedürfnisse am besten verstehen und sie über die Bedürfnisse der anderen Stakeholder stellen. Ein guter Designer kann die Bedürfnisse der verschiedenen Stakeholder identifizieren - oftmals Bedürfnisse, die der Stakeholder selbst nicht bemerkt - und eine Lösung finden, die für alle funktioniert.
Sie haben das wahrscheinlich schon oft selbst gesehen. Benutzer überlegen, wie sie mit einem System interagieren müssen, normalerweise in Bezug auf ein anderes System, mit dem sie bereits vertraut sind. Entwickler denken hauptsächlich darüber nach, wie das System funktioniert. Kunden möchten normalerweise etwas, das alle ihre Probleme löst, oder sie möchten ein ganz bestimmtes Problem zu den geringsten Kosten lösen.
Um ein guter Designer zu werden, muss man lernen, nicht weiter darüber nachzudenken, wie man etwas umsetzt. Stattdessen müssen Sie sich darauf konzentrieren, was die anderen Beteiligten Ihnen über ihre Bedürfnisse und Wünsche erzählen, und Sie müssen in der Lage sein, zwischen den Zeilen zu lesen. Wie Entwickler haben Kunden und Benutzer oft eine vorgefasste Lösung im Sinn, und sie neigen dazu, diese Lösung anstelle der zugrunde liegenden Anforderungen zu beschreiben. (Dabei ist es wichtig zu wissen, dass ein Kunde manchmal meint, was er sagt, wenn er Ihnen genau sagt, was er will. Wenn Sie sich nicht sicher sind, fragen Sie.)
Oberflächlich betrachtet haben einige Entwickler auch Probleme mit dem ästhetischen Design einer Benutzeroberfläche. Ich denke, das liegt zum Teil daran, dass Softwareentwickler oft nicht viel Erfahrung mit Ästhetik haben - CS-Studenten haben möglicherweise nicht viel Zeit für Kunstkurse. Es ist auch teilweise wieder so, weil wir mehr daran interessiert sind, wie etwas funktioniert, als daran, wie es aussieht. Es ist uns einfach egal, ob die Ecken einer Schaltfläche einen Radius von 9 Pixel oder 10 Pixel haben. Diese beiden Faktoren hängen sicherlich zusammen. Manchmal können Sie dies überwinden, indem Sie sich auf vordefinierte Lösungen in Form von UI-Frameworks verlassen. Die Verwendung vordefinierter Komponenten bietet den Vorteil, dass Sie Ihre eigene Arbeit visuell mit anderen Anwendungen auf demselben System vereinen können. Sie können Ihre ästhetischen Fähigkeiten verbessern, indem Sie die Arbeit anderer lesen, und achten Sie genau auf die visuellen Details, die Sie in der Vergangenheit möglicherweise ignoriert haben. Sie sollten auch versuchen, die Logik hinter den visuellen Unterschieden zu verstehen: Bedeuten quadratische Schaltflächen etwas anderes als abgerundete Schaltflächen? Wie wird Farbe verwendet? etc.