(何でも)デザインとは、さまざまな利害関係者(顧客、開発者、ユーザー)のニーズ間の交渉です。利害関係者は通常、自分のニーズを最もよく理解し、他の利害関係者のニーズを上回る傾向があるため、最適な設計を作成するのに適した立場にありません。優れた設計者は、さまざまな利害関係者のニーズ(多くの場合、利害関係者自身が認識していないニーズ)を特定し、すべての人に役立つソリューションを考え出すことができます。
あなたはおそらくこれを何度も自分で見たことがあるでしょう。ユーザーは、通常、すでに慣れ親しんでいる他のシステムの観点から、システムと対話する方法について考えます。開発者は、主にシステムの仕組みについて考えます。顧客は通常、すべての問題を解決するものを求めているか、または非常に具体的な問題を最小限のコストで解決したいと考えています。
優れたデザイナーになるには、何かを実装する方法を事前に考えるのをやめることを学ぶ必要があります。代わりに、他の利害関係者が彼らが必要としているものについてあなたに言っていることに集中しなければなりません、そして、あなたは行の間を読むことができなければなりません。開発者と同様に、顧客やユーザーはしばしば、事前に考えられたソリューションを念頭に置いており、基本的な要件の代わりにそのソリューションを説明する傾向があります。(そうは言っても、顧客は自分が望むものを正確に伝えるとき、彼らが言うことを意味することもあるということを理解することが重要です。
より表面的には、UIの美的デザインも一部の開発者が問題を抱えています。これは、ソフトウェア開発者が美学の訓練をあまり受けていないことが原因の1つであると考えています。CSの学生は美術の授業にあまり時間がないかもしれません。それはまた、部分的に再びあります。なぜなら、私たちは何かがどのように見えるかというよりも、どのように機能するかに興味があるからです。ボタンの角の半径が9ピクセルであるか10ピクセルであるかは気にしません。これら2つの要因は確実に関連しています。UIフレームワークの形の定型ソリューションに依存することでこれを克服できる場合があり、事前に設計されたコンポーネントを使用すると、同じシステム上の他のアプリケーションと視覚的に自分の作業を統一できるという利点があります。他の人の作品を読んだり見たりして、美的スキルを向上させることができます。そして、あなたが過去に無視していたかもしれない視覚的な詳細に細心の注意を払っています。また、視覚的な違いの背後にあるロジックを理解しようとする必要があります。角の丸いボタンは丸いボタンとは異なるものを意味しますか?色はどのように使用されますか?等