[解決済み】なぜ一部の開発者にとって優れたUIデザインは難しいのか?[クローズド]
質問
UIデザインのソフトな部分がどうしても苦手な方もいらっしゃいますよね( 特に私 ). バックエンドコーダーは、ビジネスロジックとデータレイヤーのみを設計する運命にあるのでしょうか? 私たちができることはありますか? <強い 脳を再教育する プレゼンテーション層をより効果的にデザインすることができるのでしょうか?
同僚から、以下のような本を勧められました。 サイトのデザイン , 考えさせないで そして なぜソフトウェアは最悪なのか しかし、この分野の欠陥を取り除くために、他の人たちはどのようなことをしてきたのでしょうか?
解決方法は?
直接申し上げます。
これを改善するのは、ガイドラインからではありません。ソフトウェアについてどう考えるかを見直すことから始まるのです。
ほとんどのハードコア開発者は、実質的に ゼロ 自分のソフトウェアのユーザーと共感すること。彼らには 手がかりなし ユーザーがどのように考え、どのように使用するソフトウェアのモデルを構築し、どのようにコンピュータを使用するのか、一般的なことです。
専門家と素人がぶつかると、典型的な問題になりますね。普通の人が、どうしてこんなにも 頭が悪い 専門家が10年前に理解したことを理解できないのか?
ほとんどすべての経験豊富な開発者にとって、信じられないほど把握しにくい事実の1つは、最初に認めるべきことです。
普通の人は、あなたとはソフトウェアに対する概念が大きく異なります。彼らはプログラミングのことは全く分からないのです。全くです。ゼロです。そして、気にすることもない。気にする必要があるとも思っていない。もしあなたが彼らに強制すれば、彼らはあなたのプログラムを削除するでしょう。
開発者としては、信じられないくらい厳しいことを言いますね。彼は、自分が作ったソフトウェアに誇りを持っています。一つひとつの機能を愛している。その背後にあるコードがどのように動作しているのか、正確に伝えることができます。もしかしたら、信じられないような巧妙なアルゴリズムを発明して、以前より50%速く動作するようになったかもしれない。
そして、ユーザーは気にしない。
なんてバカなんだろう。
多くの開発者は、普通のユーザーと一緒に仕事をすることに耐えられないのです。技術的な知識がないことに落ち込んでしまうのです。だから多くの開発者は、ユーザーはバカに違いないと敬遠してしまうのです。
そんなことはない。
ソフトウェア開発者が車を購入した場合、スムーズに走ることを期待します。タイヤの空気圧や、そのように走らせるために重要な機械的な微調整など、通常は気にしない。ここで彼は ではなく 専門家です。そして、もし微調整ができない車を買ったら、それを返して、自分の思い通りの車を買うのです。
ソフトウェア開発者の多くは映画が好きです。よくできた映画は彼らの想像力をかきたてる。しかし、彼らは映画制作の専門家でもなければ、視覚効果を生み出す専門家でもなければ、良い映画の脚本を書く専門家でもありません。ほとんどのオタクは、演技がとてもとても苦手です。なぜなら、演技は複雑な感情を表現することがすべてで、分析についてはほとんど関係ないからです。開発者が駄作を観ても、全体として駄作であることに気付くだけです。オタクはIMDBを構築して、良い映画と悪い映画の情報を収集し、どの映画を観て、どの映画を避けるべきかを知っているほどです。しかし、彼らは映画を作る専門家ではない。映画が悪ければ、彼らは映画館に行かないでしょう(あるいは、BitTorrentからダウンロードしないでしょう ;)
ということに集約されますね。専門家として普通のユーザーを敬遠することは 無知です。 なぜなら、自分たちが専門家でない分野(たくさんありますが)では、他の分野の専門家が、自分たちの製品やサービスを使う普通の人たちのことをすでに考えていると期待しているからです。
それを改善するためにできることは?プログラマーとして筋金入りであればあるほど、普通のユーザーの考えに対してオープンでなくなる。それは、あなたにとって異質で無知なものです。そうすると、「どうしてこんなことができるのか、想像がつかない」と思うでしょう。 これまで この知識不足のまま、コンピュータを使いこなす。しかし、彼らはできるのです。すべてのUI要素について、考えてみてください。それは必要なのか?ユーザーが持っているコンセプトと合っているか?どうすれば理解してもらえるか?これについては、ユーザビリティの本を読んでください。良い本がたくさんあります。これは科学の一分野でもあるのです。
ああ、そういえば、私はアップル社のファンです;)
関連
-
[解決済み] PL/SQL Developerで行番号を取得する方法は?
-
[解決済み] GUIとUIの違いは何ですか?
-
[解決済み] プログラムによって色を明るくする
-
[解決済み] どのように公開TMPTextユニティC#を作るのですか?
-
[解決済み】関数型GUIプログラミングは可能か?[クローズド]
-
[解決済み】なぜ一部の開発者にとって優れたUIデザインは難しいのか?[クローズド]
-
[解決済み】ASCIIスピナーをもっとかっこよく?[クローズド]
-
[解決済み] Flutterでテキストを垂直方向と水平方向の中央に配置する方法は?
-
[解決済み] エラーメッセージをユーザーに読ませるには?[クローズド]
-
[解決済み] ラウンド・スペシフィック・コーナー SwiftUI
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PL/SQL Developerで行番号を取得する方法は?
-
[解決済み] Raspberry Pi 3 Model B setup startx or sudo startx gives: command not found.
-
[解決済み] GUIとUIの違いは何ですか?
-
[解決済み] プログラムによって色を明るくする
-
[解決済み] どのように公開TMPTextユニティC#を作るのですか?
-
[解決済み] MVPとMVC、その違いは何ですか?
-
[解決済み】なぜ一部の開発者にとって優れたUIデザインは難しいのか?[クローズド]
-
[解決済み】ASCIIスピナーをもっとかっこよく?[クローズド]
-
[解決済み] エラーメッセージをユーザーに読ませるには?[クローズド]
-
[解決済み] ラウンド・スペシフィック・コーナー SwiftUI