一部の開発者にとって、優れたUIデザインがそれほど難しいのはなぜですか?[閉まっている]


206

一部のユーザーは、UIデザインのソフトな側面に苦労しています(特に私自身)。「バックエンドコーダー」は、ビジネスロジックとデータレイヤーの設計のみを目的としていますか?楽しくて便利なプレゼンテーションレイヤーの設計をより効果的に行うために、脳再訓練するためにできることはありますか?

The Design of SitesDo n't think me thinkWhy Software is sucksを含むいくつかの本を同僚から勧められましたが、この分野の欠点を取り除くために他の人が何をしたのでしょうか?


1
私自身(私も同じ問題を抱えています)を使用すると、良いUIがわかります。そして私は間違いなく私を困らせるUIを知っています。しかし、自分でデザインしようとするのは非常に困難です。他の誰かのUIを使用しているときに私が批判的な目を持っているようなもので、自分のデザインでは機能しません。
JMD

1
私は「バックエンドコーダー」という用語を嫌い、タイトルから除外しようとしていました
Chris Ballance

20
グラフィックデザイン!= UIデザイン。前者は物事をきれいにすることです。後者は、物事を有用で使いやすいものにすることです。
Esko Luontola、2009

2
+1 @Esko。多くの場合、「かなり」は完全に国連で使用できることを意味します。しかし、注意深く処理して考えれば、2つは共存できます。
Dhaust 2009

12
UIデザイナーにとってソフトウェアの開発がそれほど難しいのはなぜですか?
Greg Hurlman、2009

回答:


360

私はそれを直接言いましょう:

これを改善することはガイドラインから始まりません。それは、ソフトウェアについてのあなたの考えを再構成することから始まります。

ほとんどのハードコア開発者は、ソフトウェアのユーザーとの共感を事実上ゼロにしています。彼らはユーザーの考え方、ユーザーが使用するソフトウェアのモデルを構築する方法、および一般的にコンピューターを使用する方法を知る手がかりがありません

これは、専門家が素人と衝突するときの典型的な問題です。10年前に専門家が理解したことを、普通の人がどうしてそんなに馬鹿にできないのでしょうか。

ほとんどすべての経験豊富な開発者にとって把握するのが信じられないほど難しいことを認める最初の事実の1つは次のとおりです。

通常の人はあなたとは大きく異なるソフトウェアの概念を持っています。彼らにはプログラミングの手がかりがまったくありません。なし。ゼロ。そして彼らも気にしない。彼らは気にする必要があるとさえ考えていません。強制すると、プログラムが削除されます。

これは、開発者にとって信じられないほど過酷なことです。彼は自分が作成したソフトウェアを誇りに思っています。彼はすべての機能が大好きです。彼はその背後にあるコードがどのように機能するかを正確に教えてくれます。たぶん彼は信じられないほど賢いアルゴリズムを発明して、以前よりも50%速く動作するようにしたのかもしれません。

そして、ユーザーは気にしません。

ばかみたい。

多くの開発者は、通常のユーザーと一緒に作業するのを我慢できません。彼らはテクノロジーの存在しない知識に落ち込んでいます。そして、それが大部分の開発者が恥ずかしがりで、ユーザーが馬鹿であるに違いないと考える理由です。

ではない。

ソフトウェア開発者が車を買うなら、彼はそれがスムーズに動くと期待します。彼は通常、タイヤの空気圧、そのように動かすために重要であった機械的な微調整を気にしません。ここでは彼は専門家ではありません。そして、微調整のない車を買うと、それを返して自分のやりたいことをする車を買う。

多くのソフトウェア開発者は映画が好きです。想像力を掻き立てるよくできた映画。しかし、彼らは映画の制作、視覚効果の制作、優れた映画脚本の作成の専門家ではありません。ほとんどのオタクは非常に、非常に、非常に演技が得意ではありません。なぜならそれはすべて複雑な感情を表示することについてであり、分析についてはほとんどないからです。開発者が悪い映画を見ると、それが全体として悪いことに気づくだけです。オタクはIMDBを構築して、良い映画と悪い映画についての情報を収集しているので、どの映画を見るべきか、どの映画を避けるべきかがわかります。しかし、彼らは映画制作の専門家ではありません。映画が悪い場合、彼らは映画に行きません(またはBitTorrentからダウンロードしません;)

つまり、次のようになります。エキスパートとしての一般ユーザーの回避は無知です。彼らは専門家ではない領域(そして非常に多くの領域)にいるため、他の領域の専門家は、製品やサービスを使用する通常の人々についてすでに考えていると期待しています。

それを改善するために何ができますか?プログラマーであるあなたがよりハードコアであるほど、あなたは通常のユーザーの思考に対してオープンになります。それはあなたにとってエイリアンで無知です。あなたは思うだろう:私は人々がことができるかを想像することはできません、これまでの知識の欠如したコンピュータを使用しています。しかし、できます。すべてのUI要素について、次のことを考慮してください。ユーザーの私のツールのコンセプトに適合しますか?どうすれば彼に理解させることができますか?これのユーザビリティについて読んでください、たくさんの良い本があります。それも科学の全領域です。

ああ、あなたが言う前に、はい、私はAppleファンです;​​)


8
素晴らしいコメント!ソフトウェア設計の最も基本的なハードルの1つを打ちました。強化された開発者(私のような)を飲み込むのは難しい事実ですが、真実はよくあります。

12
+1。「受刑者は亡命を実行しています」を読むことをお勧めします。ユーザー/開発者の考え方の違いと、いくつかの救済策について詳しく説明しています。
リチャードLevasseur

9
+1正直なところ、ユーザーを気にしない開発者は貧弱な開発者です!
ゲイリーウィロビー

7
非常に有効な点であり、この考え方は、多くの開発者が実行するプロジェクト(たとえば、オープンソースやwhat-have-you)が、概してほとんどの開発者が使いにくいと思った理由の一部でもあると思います「本当の」エンドユーザーではなく、自分自身をユーザーとして書く。
CloudyMusic 2009

25
+1これが、Linuxがまだ平均的なユーザーのデスクトップに対応できない理由です。
ブライアンアンダーソン、

215

UIデザイン難しい

質問へ:

ほとんどの開発者にとってUI設計がそれほど難しいのはなぜですか?

逆の質問をしてみてください:

ほとんどのUIデザイナーにとってプログラミングが難しいのはなぜですか?

UIのコーディングとUIの設計には、さまざまなスキルと考え方が必要です。UIの設計は、一部の開発者ではなく、ほとんどの開発者にとって困難です。これは、一部の設計者ではなく、ほとんどの設計者にとってコードの記述が困難なのと同じです。

コーディングは難しいです。デザインも難しいです。両方がうまくできる人はほとんどいません。優れたUIデザイナーがコードを書くことはほとんどありません。彼らは方法さえ知らないかもしれませんが、それでも彼らは優れたデザイナーです。それでは、優れた開発者はなぜUIデザインに責任を感じるのでしょうか。

UIデザインについて詳しく知ることで、より優れた開発者になることができますが、それは、UIデザインを担当する必要があるという意味ではありません。デザイナーにとっては逆のことが当てはまります。コードの記述方法を知ることで、デザイナーをより良くすることができますが、UIのコーディングを担当する必要があるという意味ではありません。

UIデザインを改善する方法

UIデザインをもっと良くしたい開発者のために、3つの基本的なアドバイスがあります。

  1. デザインを別のスキルとして認識します。コーディングとデザインは別ですが関連しています。UIデザインはコーディングのサブセットではありません。別の考え方、知識ベース、スキルグループが必要です。UIデザインに重点を置く人々がいます。
  2. デザインについて学ぶ。少なくとも少し。以下の長いリストから、設計の概念と手法のいくつかを学習してみてください。もっと野心的な人は、本を読んだり、会議に出席したり、クラスに参加したり、学位を取ったりしてください。デザインについて学ぶ方法はたくさんあります。UIデザインに関するJoel Spolkyの本は、開発者にとって優れた入門書ですが、それ以外にも多くのことがあり、そこでデザイナーが写真に登場します。
  3. デザイナーと協力する。できれば良いデザイナー。この作品をやる人はいろいろな肩書きで行きます。今日、最も一般的なタイトルは、ユーザーエクスペリエンスデザイナー(UXD)、インフォメーションアーキテクト(IA)、インタラクションデザイナー(ID)、およびユーザビリティエンジニアです。彼らはあなたがコードについて考えるのと同じくらいデザインについて考えます。あなたは彼らから、そしてあなたから彼らから多くを学ぶことができます。できれば彼らと協力してください。あなたの会社でこれらのスキルを持つ人を見つけてください。多分あなたは誰かを雇う必要があります。または、カンファレンスに行ったり、ウェビナーに参加したり、UXD / IA / IDの世界で時間を過ごしたりしてください。

ここに、あなたが学ぶことができるいくつかの特定のことがある。すべてを学ぼうとしないでください。以下をすべて知っている場合は、自分をインタラクションデザイナーまたは情報アーキテクトと呼ぶことができます。リストの上部にあるものから始めます。特定の概念とスキルに焦点を当てます。次に下に移動して分岐します。あなたが本当にこのようなものが好きなら、それをキャリアパスと考えてください。多くの開発者が管理職に入りますが、UXデザインも選択肢の1つです。

UIデザインが難しい理由

優れたUIデザインは、2つの大きく異なるスキルを伴うため、困難です。

  • 機械の深い理解。このグループの人々は最初にコードを心配し、次に人々を心配します。彼らは深い技術知識とスキルを持っています。それらを開発者、プログラマ、エンジニアなどと呼びます。
  • 人とデザインへの深い理解:このグループの人は、まず人を心配し、次にコードを心配します。彼らは、人々が情報、コンピューター、そして周囲の世界とどのように相互作用するかについて深い知識を持っています。ユーザーエクスペリエンスデザイナー、情報アーキテクト、インタラクションデザイナー、ユーザビリティエンジニアなどと呼ばれます。

これは、開発者と設計者の間のこれら2つのグループの本質的な違いです。

  • 開発者はそれを動作させます。彼らはあなたのTiVo、あなたのiPhone、お気に入りのウェブサイトなどに機能を実装しています。彼らの最優先事項はそれを機能させることです。
  • デザイナーはそれを人々に愛しもらいます。彼らはそれとどのように相互作用するか、どのように見えるべきか、そしてどのように感じるべきかを理解します。彼らは、アプリケーション、Webサイト、デバイスの使用体験をデザインします。彼らの最優先事項は、開発者が作るものに恋をすることです。これはユーザーエクスペリエンスの意味であり、ブランドエクスペリエンスとは異なります。

さらに、プログラミングとデザインには、異なる知識やスキルだけでなく、異なる考え方が必要です。優れたUIデザインには、両方の考え方、両方の知識ベース、両方のスキルグループが必要です。そして、どちらかを習得するには何年もかかります。

UI設計者がコードの記述を難しくすることを期待するのと同じように、開発者はUI設計を難しくすることを期待する必要があります。


8
これがここでの最良の答えです。素晴らしいリンクBTW!
Bernard Igiri、2009

UIデザインの優れた概要!私はまた、さまざまな考え方のあなたの概念を観察しました。UIの設計とプログラミングの両方を行っていますが、一度にそのうちの1つだけに集中するのが最善です。[...]
Esko Luontola 2009

プログラミング中にUI設計を決定する場合、実装する最も簡単な方法は何であると考えます。これは、多くの場合、UI設計の質の低下につながります。また、UIの設計中に実装を検討する場合は、実装は簡単であるがユーザーにはあまり適していないUI設計パターンを選択できます。
Esko Luontola、2009

2
なぜこれがベストアンサーとしてマークされていないのですか?それはThorsten79の答えよりもはるかに良いようです。
AbdullahC

1
この答えを直接好きになりたいです。:)
Dan J

70

私のデザインを改善するのに本当に役立つのは、QA担当者、PM、またはたまたま通りかかって特定のウィジェットや画面を試してもらう他の開発者を手に入れることです。

他の誰かが初めてソフトウェアを使用するのを見たときにあなたが実現する驚くべきこと


私はこのアプローチを何度も試しましたが、非常に効果的であることがわかりました。ときどき、技術者ではない友人がそれを使用して、それを使用しようとしたときに何が彼らの痛みを引き起こすのかを確認することがあります。
クリスバランス

これは私が取っているのと同じアプローチです。
Ed S.

このアプローチは、「ユーザビリティテスト」と呼ばれる可能性がありますか?;)はい、それはあなたが前、最中、後に取るべきアプローチです。
Ates Goral

これはほとんど私の正確な答えになります。QAと技術サポートは素晴らしいです。開発者はUIデザインを嫌い、繰り返し、他の人に頻繁にテストしてもらいます。
ビルK

7
それは「廊下のユーザビリティテスト」と呼ばれていると思います
ケビン

32

結局のところ、それは本当に共感の問題です-あなたは自分のユーザーの立場に身を置くことができますか?

もちろん、役立つ1つのことは、「自分のドッグフードを食べる」ことです。自分のアプリケーションを実際のユーザーとして自分で使用し、何が面倒なのかを確認します。

別の良いアイデアは、アプリケーションを使用して実際のユーザーを監視する方法を見つけることです。これは、一方向ミラー、画面ビデオキャプチャ、ユーザーのビデオカメラなどを備えたユーザビリティラボと同じくらい複雑かもしれません。たまたまホールを歩いている次の人を使った紙のプロトタイピングとして。

他のすべてが失敗した場合は、UIが複雑すぎるよりも単純すぎるほうがほとんど常に良いことを覚えておいてください。「ああ、それを解決する方法はわかっています。チェックボックスを追加して、ユーザーがどちらのモードを好むかを決めることができる」と言うのは非常に簡単です。UIが複雑すぎます。デフォルトモードを選択し、プリファレンス設定を詳細構成オプションにします。またはそのままにしておきます。

デザインについてよく読んだら、落とした影や丸みを帯びた角などに簡単に慣れることができます。それは重要なことではありません。シンプルさと発見可能性が重要です。


よく置きます。ほとんどの場合、柔軟性を追加しようとすると、混乱が生じます。よりシンプル==より良い。
SquareCog、2009

これまで経験したことのない文化の中で、地球の反対側にいるユーザーの立場に身を置くことができますか?国際化は、堅固なUI設計における主要な考慮事項です。誰もがアメリカに住んでいると仮定しましょう。

絶対に; 私の現在のプロジェクトは、実際には世界中のユーザーを対象としています(基本的に、私がいる米国以外のすべての国)。それは共感を難しくし、疑いの余地はありません-そしてそれを真剣にそして積極的に試みることはますます重要です。
Jacob Mattison、

また、ユーザビリティの問題の大部分は、実際のユーザーに見てもらうと、驚くほど明白になります。はい、文化特有の微妙なものがありますが、ホールを歩いている次の人を使用して、途方もない改善を加えることができます。
Jacob Mattison、

+1、自分で+100できないから 非常に異なるアプリケーションを意図したとおりに使用して経験を積むことは、UI開発者として成長するのに役立ちます。Visual Studioや他の開発ツールなどのツールを使用するだけでこの機能が妨げられます...
BQ。

26

一般的な神話とは異なり、UIデザインには文字通りソフトな面はありません。少なくとも、優れたバックエンドを設計するために必要な分だけです。

以下を検討してください。優れたバックエンド設計は、優れた開発者が精通しているかなり堅固な原則と要素に基づいています。

  • 低結合

  • 高い凝集力

  • 建築パターン

  • 業界のベストプラクティス

通常、優れたバックエンドデザインは、テストまたは実際の使用中に得られた測定可能なフィードバックに基づいて、初期の青写真が徐々に改善されるいくつかの相互作用を通じて生まれます。場合によっては、バックエンドの小さな側面のプロトタイプを作成し、それらを個別に試す必要があります。

優れたUIデザインは、次の健全な原則に基づいています。

  • 可視性

  • アフォーダンス

  • フィードバック

  • 寛容

  • シンプルさ

  • 一貫性

  • 構造

UIはまた、テストとトライアルを通じて、反復を通じて生まれましたが、コンパイラ+自動テストスーツではなく、人々によって生まれました。バックエンドと同様に、業界のベストプラクティス、測定および評価手法、UIを考え、ユーザーモデル、システムイメージ、デザイナーモデル、構造モデル、機能モデルなどの観点から目標を設定する方法があります。

UIの設計に必要なスキルセットは、バックエンドの設計とはかなり異なるため、最初にいくつかの学習を行わずに優れたUIを実行できると期待しないでください。ただし、これらのアクティビティに共通しているのは、デザインのプロセスです。優れたソフトウェアを設計できる人なら誰でも、方法を学ぶのにある程度の時間を費やす限り、優れたUIを設計できると思います。

ヒューマンコンピュータインタラクションのコースを受講することをお勧めします。たとえば、MITとイェールのサイトでオンライン資料を確認してください。

理解と使用における構造モデルと機能モデル

Thorsten79による以前の優れた投稿は、ソフトウェア開発の専門家とユーザーの話題、およびソフトウェアに対する彼らの理解の違いを取り上げています。人間の学習の専門家は、機能的メンタルモデルと構造的メンタルモデルを区別します。友人の家への道を見つけることは、2つの違いの良い例です。

  • 最初のアプローチには、一連の詳細な指示が含まれます。高速道路の最初の出口を出て、100ヤード先で左折します。これが機能モデルの例です。特定の目標を達成するために必要な具体的な手順のリストです。機能モデルは使いやすく、単純に実行するだけでよく考える必要はありません。明らかに、単純化にはペナルティがあります。これは、最も効率的なルートではない可能性があり、例外的な状況(つまり、トラフィックの迂回)によって完全な障害が発生する可能性があります。

  • タスクに対処する別の方法は、構造的なメンタルモデルを構築することです。この例では、「タスクオブジェクト」の内部構造に関する多くの情報を伝えるマップになります。私たちと友人の家の地図と相対的な位置を理解することから、機能モデル(ルート)を差し引くことができます。明らかにそれはより多くの努力を必要としますが、起こり得る逸脱にもかかわらず、タスクを完了するよりはるかに信頼できる方法です。

UIを介して機能モデルまたは構造モデルを伝達するかどうか(ウィザードとアドバンスモードなど)の選択は、Thorsten79の投稿にあるように簡単ではありません。上級者や頻繁なユーザーは構造モデルを好むかもしれませんが、時々またはあまり経験の少ないユーザーは機能的です。

グーグルマップは良い例です:それらは機能的モデルと構造的モデルの両方を含んでいるので、多くの衛星ナビゲーションがそうです。

問題のもう1つの側面は、UIを介して提示される構造モデルがソフトウェアの構造にマップされてはならず、自然に手元のユーザータスクまたは関連するタスクオブジェクトの構造にマップされることです。

ここでの問題は、多くの開発者がソフトウェア内部の適切な構造モデルを持っていることですが、ソフトウェアが支援することを目指しているユーザータスクの機能モデルのみです。適切なUIを構築するには、タスク/タスクオブジェクトの構造を理解し、UIをその構造にマップする必要があります。

とにかく、私はまだ正式なHCIコースを強く受けることはお勧めできません。ヒューリスティックスゲシュタルトの生理学から導き出された原則、人間の学習方法など、多くのものが関係しています。


MIT OCWリンクの+1 :)これらの講義ノートは非常に貴重です
PlagueHammer 09

そうです、ユーザーは自分でソフトウェアのエキスパートになることができます。誰かが「素敵な」UIを介して高速化する方法を自分で作ったとき、彼らはそれを好みます。たとえば、ここにすべての主要なショートカットがあります。ユーザビリティは非常に興味深いテーマです!
Thorsten79

25

すべてのUIを、今と同じように、使いやすさなどに重点を置かずに始めることをお勧めします。

代替テキストhttp://www.stricken.org/uploaded_images/WordToolbars-718376.jpg

これについて考えてみましょう:

デザイナーは、追加するものが残っていないときではなく、削除するものが残っていないときに完璧を達成したことを知っています。—サンテグジュペリ

これをデザインに適用します。


これが、私がOffice 2007をはるかに好む理由です。
Richard Ev

誰かが私がその引用をどの墓から掘ったのかと思っているなら、私はそれを文明4から聞きました。素晴らしいゲームです。著者が誰なのかはわかりませんが、彼は地獄のように一言でデザイナーよりも優れたUIを書くことができると確信しています。
ホフマン、

A.アインシュタインからの同様の良い引用がもう1つあります。「すべてを可能な限り単純にするが、単純ではない」。これらのアイデアは、UIデザインにも適用できることがわかりました:www.presentationzen.com。...および+1
Pyry Jahkola 2009

サンテグジュペリはパイロットと航空機の設計者以上のものでした。彼を引用するための+1。彼の子供向けの本(「星の王子さま」)は一読の価値がありますが、ここでは話題から外れています。
David Thornley、

5
印刷ビューを選択する必要があります...現在、ルーラーを表示できません。
Mussnoon、2009

16

多くの開発者は、コードを記述できるため、すべてを実行できると考えています。インターフェイスのデザインはまったく別のスキルであり、私が大学に通っていたときはまったく教えられていませんでした。自然に生まれるだけのものではありません。

もう1つの良い本は、ドナルドノーマンの「日常のデザイン」です。


ありがとう、「The Design of Everyday Thinks」は私のAmazonウィッシュリストに掲載されています
Chris Ballance

+1。「日常のデザイン」は、おすすめの読み物のコーディングホラーリストにもあります(開発者向けの優れた書籍のリスト)。最近読み終わったので、オススメすることもできます。
ムン

私は現在「毎日のデザイン」を読んでいます-それは確かに非常に良いですが、別の回答のコメントで述べたように、アランクーパーの「囚人は亡命を実行しています」はまさにこのトピックに対応しています。開発者として、この本は「人生を変える」ものでした!
2009

私の不満:多くの開発者(およびデザイナーなど)は、自分でコーディングできるため、ユーザーインターフェイスを設計できないと思っています。私はPhotoshopをよく知りませんが、何が機能し何が機能しないかについては十分に目が離せないと思います。(毎日のデザインは私の最初のUI聖書でした。)
Barry Brown

14

デザインと美学の間には大きな違いがあり、それらはしばしば混乱しています。

美しいUIには、私を含む多くの人が生み出すことができない芸術的または少なくとも美的スキルが必要です。残念ながら、これは十分ではなく、UIを使用可能にするものではありません。これは、多くのヘビー級のフラッシュベースのAPIで確認できます。

使用可能なUIを作成するには、人間がコンピュータとどのように相互作用するか、心理学におけるいくつかの問題(フィットの法則、ヒックの法則など)、およびその他のトピックについて理解する必要があります。このためにトレーニングするCSプログラムはほとんどありません。私が知っているほとんどの開発者は、JUnitブックなどよりもユーザーテスト用のブックを選ぶでしょう。

私たちの多くは「コアプログラマ」でもあり、UIをプロジェクトの成功または失敗の要因ではなく、ファサードと考える傾向があります。

さらに、ほとんどのUI開発経験は非常にイライラします。古いVBのようなおもちゃのGUIビルダーを使用して醜い接着剤コードを処理する必要があるか、Swingでレイアウトを整理しようとするなど、終わりのないAPIを使用します。


「私たちは、古いVBのようなおもちゃのGUIビルダーを使用して醜い接着剤コードを処理する必要があるか、Swingでレイアウトを整理しようとするなど、終わりのないAPIを使用します。」あなたは本当に私のGUI構築の経験を煮詰めました。私が追加する場合:「またはクレイジーなDOMとCSSの組み合わせ」
Hoffmann、

誰もがTotally Gridbagに精通していると思いますか?「madbean.com/anim/totallygridbag
ウリ

12

Slashdotに行き、Appleに関する記事のコメントを読んでください。多くの人々が、Apple製品が特別なものではないことについて話し、iPodやiPhoneの成功をトレンディまたはヒップにしようとしている人々のせいだと説明しています。彼らは通常、機能リストを調べて、以前のMP3プレーヤーやスマートフォンがしなかった何もしないことを指摘します。

それから、マニュアルを参照することなく、ユーザーが簡単かつ簡単に望むことをするので、iPodやiPhoneが好きな人がいます。インターフェースは、インターフェースが取得し、覚えやすく、発見可能であるのと同じくらい直感的です。MacOSXのUIは以前のバージョンほど好きではありませんが、派手さのためにいくつかの有用性を放棄していると思いますが、iPodとiPhoneは優れたデザインの例です。

あなたが最初の陣営にいる場合、あなたは平均的な人のやり方を考えていないので、良いものから区別することができないので、悪いユーザーインターフェースを作る可能性があります。これは、あなたが絶望的だという意味ではありませんが、優れたインターフェース設計の原則と、優れたUIを認識する方法を明示的に学ぶ必要があることを意味します(Aspergerを持っている人は、ソーシャルスキルを明示的に学ぶ必要があるかもしれません)。もちろん、UIの良さを感じただけでは、UIを作成できるとは限りません。たとえば、私の文学への感謝は、(現在)発行可能なストーリーを書く能力にまでは及んでいないようです。

だから、良いUIデザインの感覚を養うようにしてください。これは単なるソフトウェア以上のものです。ドンノーマンの「日常のデザイン」は定番で、他にも本がたくさんあります。成功したUIデザインの例を入手し、違いを感じられるように十分に試してください。物事について新しい考え方を学び、楽しむ必要があるかもしれないことを認識してください。


提案の+1毎日のデザイン
Oskar Duveborn 2009

+1は非常に良い答えです。まだ1票(現在は2票)でホバリングしているようです。あなたの説明に合うものはおそらく彼らがそうだとは思わないでしょう、あるいは単にまさにその考えを却下します:-(
mghie

これは包括的な声明です。Slashdotに関するすべての反Appleのコメントが、そのUIに対する批判やUIの理解不足の検証であるとは限りません。Appleは優れたUIを備えているため、競合他社の多くもそうです。
Bernard Igiri、2009

もう1つの考えは、アップルはすべての人に使えるわけではないということです。たとえば、CLIのような驚異的な驚異的なパワーはありません。
J.ポルファー2009

2
個人的には、Apple製品は非常に直感的に使用できないと思います。最初のiPodがジョギングを開始するたびに曲をシャッフルし始めたとき、またはiPhoneの画面が継続的に反転しているのはなぜかと思ったのは私だけではないでしょう。物事は、直接的で明確なユーザーアクションからのみ発生するはずだと思います。
Lotus Notes、

10

私の主な経験則は、一度に両方を実行しようとすることはありません。私がバックエンドコードに取り組んでいる場合は、それを終えて、少し休憩して、UI帽子をかぶったまま戻ります。コードを実行しているときにそれを操作しようとすると、間違った考え方でアプローチし、結果として恐ろしいインターフェースになってしまいます。

私は、優れたバックエンド開発者と優れたUIデザイナーの両方になることは間違いなく可能だと思います。それに取り組み、トピック(ミラーの#7からニールセンのアーカイブまですべて)を読んで調査し、作成する必要があります。理由を理解してください UIデザインが最も重要である。

クリエイティブである必要があるとは思いませんが、バックエンド開発のように、非常に体系的で構造化されたものであり、学ぶ必要があります。最大のユーザビリティの怪物を作成するのは、UIで「創造的」になっている人々です...つまり、まず、100%Flash Webサイトを見てください...

編集する:Krugの本は本当に良いです...特にWeb用に設計するつもりなら、それを読んでください。


そして、このクルーグの本のタイトルは何ですか
defau1t

@refhat上部の投稿で目立つようにリンクされていたので、そのときはリンクしませんでしたが、これは次のとおり
James B

8

これには多くの理由があります。

(1)開発者がユーザーの視点から物事を見ることができない。これは通常の容疑者です。共感の欠如です。しかし、開発者は、人々がそうするように考えているほど異質ではないため、通常はそうではありません。

(2)もう1つのより一般的な理由は、開発者が自分のものに非常に近づいていて、自分のものに長い間とどまっていたため、自分のものが他の人々にあまり馴染みがない(直感よりも優れた用語)可能性があることに気付かないことです。

(3)さらに別の理由は、開発者がテクニックを欠いていることです。

MY BIG CLAIM:UI、ヒューマンインターセクションデザイン、プロトタイピングの本を読んでください。例:明白な設計:Webアプリケーション設計への常識的アプローチ、私に考えさせない:Webのユーザビリティへの常識的アプローチ、瞬間の設計など。

彼らはどのようにタスクフローを議論しますか?彼らは決定ポイントをどのように説明しますか?つまり、どのような場合でも、成功、失敗/例外、代替の3つのパスがあります。

したがって、ポイントAから、A.1、A.2、A.3に移動できます。ポイントA.1から、A.1.1、A.1.2、A.1.3などに到達できます。

彼らはそのようなドリルダウンタスクフローをどのように表示しますか?彼らはしません。彼らはただそれを見るだけです。

UIの専門家にもテクニックがないため、開発者にはチャンスがありません。彼はそれが頭の中ではっきりしていると思います。しかし、ソフトウェアの実装については言うまでもなく、紙の上でも明確ではありません。

これには自分の手作りのテクニックを使わなければなりません。


7

デザインに特化したウェブサイトやテキストと連絡を取り合うようにしています。これらの研究では、優れたロビンウィリアムスの著書「非デザイナーズデザインブック」も非常に興味深いことがわかりました。

デザインとユーザビリティはソフトウェアエンジニアリングの非常に重要な部分であると私は考えています。私たちはそれをもっと学び、私たちがデザインを行うことになっていないことの言い訳をやめるべきです。

誰もがたまにデザイナーになることができ、誰もがプログラマーになることができます。


誰もがプログラマーになることができることには同意しません。貿易のいくつかの側面は教えることができません、あなたはそれをハックすることもできないこともできます(しゃれは意図されていません。)
Chris Ballance

2
つまり、たまに、その人が優れたプログラマーになる、または永遠に続くという意味ではありません。
エドウィンジャービス

7

UIデザインに取り組む際に、私が心に留めておくことのいくつかを以下に示します(完全なリストではありません)。

  • モデルの伝達。UIは、メンタルモデルをユーザーに説明する説明です。このモデルは、ビジネスオブジェクト、リレーションシップのセット、何を持っているかもしれません。視覚的な目立ち、空間配置、およびワークフローの順序付けはすべて、このモデルをユーザーに伝える際に役割を果たします。たとえば、特定の種類のリストと別の種類のリストは異なることを意味し、リストにあるものとモデルの他の部分との関係も意味します。一般に、一度に1つのモデルのみが通信されるようにすることをお勧めします。プログラマーは、同じUIスペースで複数のモデルまたは複数のモデルの一部を頻繁に通信しようとします。

  • 一貫性。人気のあるUIメタファーを再利用すると、非常に役立ちます。内部の一貫性も非常に重要です。

  • タスクのグループ化。ユーザーは、関連する一連のコマンドを確認または完了するために、画面全体をマウスで移動する必要はありません。モーダルダイアログとフライアウトメニューは、この領域で特に悪い場合があります。

  • あなたの聴衆を知ること。ユーザーが同じアクティビティを何度も繰り返す場合、それらのタスクはすぐにパワーユーザーになり、最初の参入障壁を下げようとする試みに苛立ちます。ユーザーがさまざまな種類のアクティビティをたまに行う場合は、UIが常に手を握っているようにするのが最善です。


あなたはで良い点を持ち出すあなたの聴衆を知って 、私は(プラット)「あなたはあなたのユーザーではありません」とも似...(プラット)は、これは十分に強調することはできません「汝のユーザーを知っている。」
クリス・バランス


5

UI設計の最良のツールは、ユーザーが初めてソフトウェアを使用しようとするのを見ることです。たくさんのメモを取り、それらにいくつか質問します。それらを指示したり、ソフトウェアの動作を説明したりしないでください。これは、UI(およびよく書かれたドキュメント)の仕事です。

すべてのプロジェクトでこのアプローチを一貫して採用しています。ユーザーがこれまで考えたことのない方法でソフトウェアを扱っているのを見るのは、常に魅力的です。

なぜUIデザインはそんなに難しいのですか?一般的には、開発者とユーザーが出会うことがないためです。


完全に合意されていますが、開発者が堅固な基本的なUI原則を適用することは十分に可能です。
nailitdown 2009

確かな基本的なUI原則は、すべての国で機能するわけではありません。私たちは多くの地域にソフトウェアを展開しており、世界中のさまざまな地域のUIデザインには大きな違いがあります。米国中心のアプリを中国に送信してみてください...

5

duffymoが理由を思い出させてくれました:多くのプログラマーは "*デザイン" == "アート"だと思っています。

優れたUIデザインは芸術的ではありません。しっかりとした原則に従っており、調査を行う時間がある場合はデータでバックアップできます。

プログラマがやらなければならないことはすべて、原則を学ぶために時間をかけることだと思います。コードでもレイアウトでも、可能な限りベストプラクティスを適用するのは私たちの本質だと思います。私たちがする必要があるのは、私たちの仕事のこの側面に対するベストプラクティスが何であるかを自分自身に認識させることです。


美学を完全に無視することはできないと思います。見苦しいUIは見栄えのするUIと同じくらい使いやすいかもしれませんが、UIの目的はそれだけではありません。結局のところ、UIはプログラムの表紙であり、本の表紙によく似ています。人々は、かなりのUIを持つプログラムを選択する可能性がはるかに高いのです。
Tikhon Jelvis、2010

美学は絶対に重要ですが、それはグラフィックデザインであり、UIデザインではありません。
nailitdown 2010

5

UIデザインを向上させるために何をしましたか?
気をつけて!

それは、ニュースのグラフや電子バスの看板を見て、「どうやってそのデータを入手したのですか?」彼らは生のSQLでそれをしましたか、それともLINQを使用していますか?(またはここにあなた自身の一般的なオタクの好奇心を挿入します)。

あなたはそれを始める必要がありますが、あらゆる種類の視覚的要素があります。

しかし、新しい言語を学ぶのと同じように、もしあなたが本当にそれを自分に投げ込まなければ、それを学ぶことは決してないでしょう。

私が書いた別の答えから取った:

あなたの周りの世界を見て、本当に見て、学ぶ。なぜそのUIが好きなのに、これは嫌いなのですか?このレストランのメニューで麺料理を見つけるのはなぜそんなに難しいのですか?うわー、私は言葉を読む前にその記号が何を意味するのか知っていました。なんで?どうしてあの本の表紙がそんなに間違っているのですか?時間をかけてなぜあらゆる種類の視覚的要素に対してあなたが行う方法に反応するのかを考え、それをあなたの仕事に適用することを学びましょう。


見て、考えることを学ぶための禅のアドバイスの+1。目に会うものに疑問を抱く人はほとんどいません。
PlagueHammer、2009

5

しかし、あなたはそれをします(そして上記のいくつかの素晴らしい点があります)、私が直感的なものはないことを受け入れたとき、それは本当に私を助けました...

議論が地平線上でゴロゴロしているのを聞くことができます...だから少し説明させてください。

直感的:無意識の方法や感情に基づいて、正しいと思うものを使用する。

(カール・セーガンが仮定したように)これまでに遭遇したものとはまったく異なるものを理解できないことを受け入れる場合、リモートでそのようなものを使用したことがない場合、どのように使用方法を「知る」ことができますか?

考えてみてください。子供がドアを開けようとするのは、ドアノブの仕組みを「知っている」からではなく、誰かがそうするのを見たからです。ノブを間違った方向に回したり、引っ張りすぎたりすることがよくあります。彼らはドアノブがどのように機能するかを学習する必要があります。この知識は、ウィンドウを開く、引き出しを開く、つまみのように見える大きなハンドルでほとんどすべてを開くなど、さまざまな類似のインスタンスに適用されます。

私たちにとって直観的に見える単純なものでさえ、他の文化の人々にとってはまったく直感的ではありません。誰かが前に腕を伸ばし、腕を動かさずに手首を上下に振った場合.... おそらく日本にいない限り。そこで、この手信号は「ここに来る」ことを意味します。それで、誰が正しいのですか?もちろん、どちらも独自のコンテキストで使用します。しかし、両方に行く場合は、両方を知る必要があります... UIデザイン。

私は、プロジェクトの潜在的なユーザーに既に「馴染みのある」ものを見つけて、それらを中心としたUI、つまりユーザー中心の設計を構築しようとしています。

AppleのiPhoneを見てください。あなたがそれを憎むとしても、あなたはそれに入った考えの量を尊重しなければなりません。完璧ですか?もちろん違います。時間が経つにつれて、オブジェクトの知覚された「直感性」は成長するか、完全にフェードアウトすることさえあります。

例えば。ほとんどの人は、上部と下部に沿って2列の穴がある黒のストリップがフィルムストリップのように見えることを知っています...それともそうですか?

9歳か10歳の平均的な年齢を聞いて、それが何であるかを尋ねます。ハリウッドや映画(映画)関連の表現に今でも使われているものですが、どれだけの子供がフィルムストリップであるかを特定するのに苦労するでしょう。過去20年間のほとんどの映画はデジタル撮影されています。そして、私たちの誰もが、なんらかの種類の映画、写真、または映画を最後に開催したのはいつですか?

つまり、私にとっての結論は次のとおりです。聴衆を理解し、常に「直感的」な傾向や変化に追いつくために調査し、メインユーザーを対象とし、経験の浅い人を罰するようなことはしないようにしてください。初心者を手に握るために、上級ユーザーまたは上級ユーザーを遅くします。

最終的に、すべてのプログラムは、それを使用するためにユーザー側である程度のトレーニングを必要とします。どの程度のトレーニングとどのレベルのユーザーが行われる必要がある決定の一部です。

ターゲットユーザーの人間、コンピュータユーザー、学生などとしての過去の経験レベルに基づいて、多少慣れているものがあります。

ベルカーブの最も太い部分を狙って撮影し、できるだけ多くの人々を獲得しようとしますが、誰もが喜ぶことは決してないことに気づきます。


4

マイクロソフトが独自のガイドラインにかなり矛盾していることは知っていますが、Windowsのデザインガイドラインを読むことが本当に役に立ちました。私は私のウェブサイト上のコピーを持って、ここで、ほんの少しVistaのUXガイドをスクロールダウンします。色、間隔、レイアウトなどの助けになります。


プラットフォームの設計ガイドラインを+1することは間違いなくすべきことです(そしてMicrosoftが自分のルールを破る頻度を発見してください;)
Oskar Duveborn 2009

さらに、Appleのもの(Human Interface Guidelines)も読んでください。彼らには、より多くの基本と原則があります。これにより、何が普遍的で何がプラットフォーム固有であるかが理解できるようになります
Stephan Eggermont 2009

そして、その間に、GNOME HIGも読んでください。これらの3つの間で、単一のプラットフォームの特定の事柄だけでなく、一般に良い考えであると思われるものが目に見え始めます。
mghie 2009

これらのほとんどはIBMに基づいていますが、現在はかなり古くなっています。たとえば、標準の切り取りと貼り付けのコマンドは、Shift + DelとShift + Insでした(これらは引き続き機能します)。
Simon Buchan

4

主な問題は、さまざまな才能やスキルセットとは関係がないと思います。主な問題は、開発者として、あなたはアプリケーションが何をどのように行うかについてあまりに多くを知っており、その知識を持つ誰かの視点からUIを自動的に設計することです。

一方、ユーザーは通常、アプリケーションについてまったく何も知らずに始め、その内部の仕組みについて何も学ぶ必要はありません。

持っている知識を使わないのは非常に難しく、ほとんど不可能です。そのため、背後でアプリを開発している人がUIを設計するべきではありません。


4

「画面の両側からデザインする」というのは、プログラマーがUIデザインを難しいと思う理由について、非常にシンプルですが根本的な理由を示しています。

したがって、どちらか一方のデフォルトのトレーニングがもう一方とまったく正反対である場合、一方の世界から他方の世界への移行は確かに困難です。


3

プログラマーがUIの設計にうんざりしていると言うのは、要点を逃すことです。問題のポイントは、ほとんどの開発者が受ける正式なトレーニングがテクノロジーに精通していることです。人間-コンピュータの相互作用は単純なトピックではありません。「yではなくxを使用すると、ユーザーがこのアプリケーションをより効果的に使用できるようになる」という簡単な1行のステートメントを提供することで、私が「心を溶かす」ことができるものではありません。

これは、UIデザインに欠けている部分があるためです。人間の脳。UIの設計方法を理解するには、人間の心が機械とどのように相互作用するかを理解する必要があります。私がミネソタ大学で心理学の教授によって教えられたこのトピックについて優れたコースがあります。それは「人間-機械相互作用」と名付けられています。これは、UIデザインが非常に複雑である理由の多くを説明しています。

心理学は因果関係ではなく相関に基づいているため、UI設計の方法が常に特定の状況で機能することを証明することはできません。多くのユーザーが特定のUIデザインが魅力的または効率的であると考えることはできますが、常に一般化することを証明することはできません。

さらに、UIデザインには2つの部分があり、多くの人が見落としているようです。美的な魅力と機能的なワークフローがあります。あなたが100%の審美的な魅力を求めているなら、人々はあなたの製品を除くでしょう。美学がユーザーの不満を減らすことになるとは私は非常に疑っています。

このトピックとコースについては、いくつかの優れた書籍があります(Bill BuxtonのSketching User Experiencesや、Edwin HutchinsによるCognition in the Wildなど)。多くの大学で人間とコンピュータの相互作用に関する大学院プログラムがあります。

この質問に対する全体的な答えは、個人がコンピュータサイエンスをどのように教えられるかにあります。これはすべて、数学ベース、ロジックベースであり、ユーザーエクスペリエンスに基づくものではありません。そのためには、一般的な4年以上のコンピュータサイエンスの学位が必要です(4年のコンピュータサイエンスの学位に心理学のマイナーがあり、人間とコンピュータの相互作用で強調されていた場合を除く)。


私は同意しません。コンピュータはその性質上、数学と論理に基づいています。コンピュータプログラミングの教育はすべて、数学と論理に基づいている必要があります。
ポールネイサン

1
はい、あなたは正しいポールです。コンピュータは数学と論理です。ただし、UIデザインには人間の要素が含まれます。これは、数学とロジックに基づくものではないことが歴史的に証明されています。
jwendl

それほど数学や論理に基づいているわけではありませんが、背後にある数学や論理ははるかに複雑であり、今日の誰よりもはるかに複雑です。そうは言っても、優れたUIデザインはすべて、ある程度、ジオメトリに基づいています。
Tikhon Jelvis、2010

2

質問を変えましょう-

「UIデザイナー」は、情報アーキテクチャとプレゼンテーションレイヤーの設計のみを目的としていますか?心地よく効率的なシステムレイヤーを設計するために、より効果的に脳を再訓練するためにできることはありますか?

彼らは「UIデザイナー」は完全に異なる視点をとらなければならないようです-彼らはボックスの内側から外側を見なければなりません。ボックスの外側から見るのではなく。

アランクーパーの「受刑者たちは亡命を実行している」という意見は、両方の見方をうまくとることはできないということです。


2

良いUIは論理的ではないからだと思います。優れたUIは直感的です。

ソフトウェア開発者は通常、「直感的」に悪いことをします


優れた点、脳の反対側が必要
クリスバランス

UIには直感的なものはありません。私がすでに知っていることと似ていますが、それは多少異なります。
ステファンエガーモント09

「直感的」なものは何もありません。直感的とは、プログラマーを汗ばせるためにビジネスマンが投げかける言葉です。
Bernard Igiri、2009

真のプログラマーのように話されます...そしてそれが問題の根源です。
グレゴールブラント

@gbrandt直感は、「使い慣れた」と「シンプルな」の組み合わせです。それでも努力することはまだ目標です。使いやすさに関して難しいのは、一部の人にとって直感的なものは、必ずしも他の人にとって直感的ではないということです。@Stephanの言うとおり、「直感的」は難しい「事実」ではなく、ユーザーに関連しています。
TM。

2

有用なフレーミングは、コミュニケーションのプロセスを設計する際に何をしているかを積極的に検討することです。非常に現実的な意味では、インターフェースはユーザーがコンピューターに何をすべきかを伝えるために使用する必要がある言語です。これはいくつかの点を考慮することにつながります:

  1. ユーザーはすでにこの言語を話していますか?非常に特異なインターフェースを使用することは、これまで話したことのない言語でのコミュニケーションに似ています。ですから、もしあなたのインターフェースが全く特異である必要があるなら、それは、最も単純な用語といくつかの注意散漫でそれ自身を導入するのが最善です。一方、インターフェースがユーザーが慣れている慣用句を使用している場合は、最初から自信を得ることができます。
  2. コミュニケーションの敵はノイズです。聴覚ノイズは話し言葉のコミュニケーションを妨害します。視覚ノイズは視覚コミュニケーションを妨害します。インターフェースからカットできるノイズが多いほど、インターフェースとの通信が容易になります。
  3. 人間の会話のように、それはあなたが言うことではないことがよくあります、それはあなたがそれを言う方法です。ほとんどのソフトウェアが通信する方法は、それが人である場合、それが顔にパンチされるほど失礼です。誰かに質問をして、そこに座って数分間じっと見つめ、答える前に他の方法で答えることを拒否した場合、どう思いますか?プログレスバーや自動フォーカス選択など、多くのインターフェイス要素には、礼儀正しさの基本的な機能があります。ユーザーの日をもう少し楽しくする方法を考えてみてください。

本当に、それはプログラマが、あるとしてインタフェースの相互作用を考えるかを決定するためにやや難しい他の通信のプロセスよりも、多分問題は、それがすべてでは何もされていると考えられませんということです。


2

すでにたくさんの良いコメントがあるので、追加できるものがたくさんあるかどうかはわかりません。それでも...

  • 開発者が優れたUIを設計できると期待するのはなぜですか?
  • 彼はその分野でどのくらいの訓練を受けましたか?
  • 彼は何冊読んだ?
  • 彼は何年にわたって何個を設計しましたか?
  • 彼はそのユーザーの反応を見る機会がありましたか?

ランダムな "Joe the plumber"が良いコードを書けるとは期待していません。では、なぜランダムな「プログラマーのジョー」が優れたUIを設計することを期待するのでしょうか。

共感が役立ちます。UIデザインとプログラミングを分離すると役立ちます。ユーザビリティテストが役立ちます。

しかし、UIデザインは、他と同様に、習得して実践する必要がある技術です。


まさに私が考えていた、「開発者」と「ユーザーインターフェースデザイナー」との関係は?
ホルヘコルドバ、

@Jorgeがここで関係している:多くの開発者は、たとえデザイナーでなくても、雇用主向けのUIを設計する必要があります。私の会社ではアーティストはいません。私たちのアプリはそれほど悪く見えません。この場合、デザインが優れていることを確認するために、グループのレビューなどを用意する必要があります。
TM。

@TM:デザインは必ずしもUI / UXデザインではありません。確かにそれは可能性が良いように見えるが、それは、それが意味するものではありません良い動作します
Kevin Peno

2

開発者は、(必然的に)編み物が得意ではない(同じ理由で)UIデザインが得意ではありません。難しいですし、練習が必要ですし、そもそも誰かに方法を教えてもらっても害はありません。

ほとんどの開発者(私も含む)は、ソフトウェアの作成に必要な部分だったため、UIの「設計」を開始しました。開発者が上手になるための努力をするまで、彼/彼女はそうしません。


2

改善するには、既存のサイトを見回すだけです。すでに提案されている書籍に加えて、Robin Williamsの優れた書籍「The Non-designers Design Book」(Amazonリンクをサニタイズ)をご覧になることをお勧めします。

The Zen Gardenのさまざまな提出物も見て、ビジュアルデザインで何ができるかを見てください。

UIデザインは間違いなくアートです。Cのポインターのように、一部の人はそれを取得し、一部の人は取得しません。

しかし、少なくとも私たちは彼らの試みにくすくす笑うことができます。ところで、面白い漫画を書いてくれてありがとうOKとキャンセル、そしてあなたの本 "The Best Software Writing I"(Amazonリンクをサニタイズ)にそれを入れてくれたJoelに感謝します。


2

ユーザーインターフェイスは、薄いペンキのコートのように、事後に適用できるものではありません。それは、最初にそこにある必要があり、実際の研究に基づいているものです。もちろん、数多くのユーザビリティ調査があります。最初から存在するだけでなく、そもそもソフトウェアを作成するまさにその理由の中核をなす必要があります。世の中にはギャップがあり、問題があり、作成する必要があります。より使いやすく、より効率的です。

ソフトウェアはそれ自体のためではありません。ソフトウェアの一部が存在する理由は、人々のためです。誰もがそれを必要とする理由を理解せずに、ソフトウェアの新しい部分についてのアイデアを考え出そうとすることさえ絶対に馬鹿げています。しかし、これは常に起こります。

1行のコードを書く前に、紙のバージョンのインターフェイスを調べ、実際のユーザーでテストする必要があります。これはちょっと奇妙でばかげています。子供たちや、「コンピュータ」として振る舞う面白い人に最適です。

インターフェイスは、私たちの自然な認知機能を利用する必要があります。穴居人はあなたのプログラムをどのように使用しますか?たとえば、移動するオブジェクトの追跡が非常に得意になるように進化しました。そのため、iPhoneなどの物理シミュレーションを使用するインターフェースは、変更が瞬時に発生するインターフェースよりも優れています。

私たちは特定の種類の抽象化は得意ですが、それ以外は得意ではありません。プログラマーとして、私たちは精神的な体操とバク転をして、いくつかの奇妙な抽象概念を理解するように訓練されています。たとえば、一連の不可解なテキストは、金属製の大皿の電磁気状態のパターンを表現および変換できることを理解しています。これは、注意深く設計されたデバイスに遭遇すると、電子機器の光速で発生する一連の目に見えないイベントにつながります。回路、およびこれらのイベントは、有用な結果を生成するために向けることができます。これは理解する必要がある非常に不自然なことです。私たちには完全に合理的な説明がありますが、外の世界には、見えない知性の霊を召喚して私たちの入札を行うための理解できない呪文を書いているようです。

通常の人間が理解する一種の抽象化は、地図、図、記号などです。シンボルは非常に壊れやすい人間の概念であるため、シンボルに注意してください。シンボルが学習されるまで、意識的に精神的な努力で解読されます。

シンボルの秘訣は、シンボルとそれが表すものとの間に明確な関係がなければならないことです。どちらかが表すものは名詞でなければなりません。その場合、シンボルは表すものと非常に似ている必要があります。シンボルがより抽象的な概念を表す場合は、そのことを事前に説明する必要があります。mswordまたはphotoshopのツールバーにある不可解なラベルのないアイコンと、それらが表す抽象的な概念をご覧ください。フォトショップの切り抜きツールアイコンが切り抜きツールを意味することを理解する必要があります。CROPの意味すら理解する必要があります。これらは、そのソフトウェアを正しく使用するための前提条件です。これは重要なポイントを提示します。仮定の知識に注意してください。

私たちは4歳前後の地図を理解する能力しか得ません。そのチンパンジーが6歳または7歳の地図を理解する能力を身につけたら、どこかで読んだと思います。

GUIが最初から非常に成功している理由は、GUIがコンピューターへのほとんどのテキストインターフェイスのランドスケープを、コンピューターの概念を物理的な場所に似たものにマッピングするものに変更したためです。使いやすさの点でguiが失敗するのは、実生活で目にするものに似ていない場合です。コンピュータで起こる、目に見えない、予測不可能な、理解不可能なことがあり、現実の世界でこれまで目にしたことのないようなものがあります。現実のシミュレーターを作成するだけでは意味がないので、これのいくつかが必要です。アイデアは作業を保存することなので、ちょっとした魔法が必要です。しかし、その魔法は理にかなっており、人間が理解によく適応しているという抽象に基づいている必要があります。私たちの抽象化が深まり、階層化し始める時です そして、物事が壊れるという目の前の仕事と一致しませんでした。言い換えると、インターフェイスは、基盤となるソフトウェアの適切なマップとして機能しません。

たくさんの本があります。私が読んだ、したがってお勧めできる2つは、ドナルドノーマンの「The Everyday of Everything Things」とJef Raskinの「The Human Interface」です。

心理学のコースもお勧めします。「日常のデザイン」ではこれについて少しお話します。心理学に対する開発者の「人々の理解」のために、多くのインターフェースが壊れています。これは「民俗物理学」に似ています。動いているオブジェクトが動いている状態は、ほとんどの人にとって意味がありません。「動き続けるには、押し続ける必要があります。」物理学の初心者を考えています。ユーザーテストは、ほとんどの開発者にとって意味がありません。「ユーザーに何が欲しいか尋ねるだけで十分です。」心理学の初心者を考えています。

Philip Zimbardoが主催するPBSドキュメンタリーシリーズであるDiscovering Psychologyをお勧めします。それができない場合は、良い物理学の教科書を探してみてください。高価な種類。Bordersで見つけたパルプフィクションのセルフヘルプのがらくたではなく、大学図書館でしか見られない分厚いハードバインドされたもの。これは必要な基礎です。あなたはそれなしで良いデザインをすることができますが、あなたは何が起こっているのか直感的に理解することができます。良い本をいくつか読むと、良い見方が得られます。


2

「ソフトウェアはなぜ駄目なのか」という本を読めば、プラットの答えを見たことがあるでしょう。それは簡単なものです。

  1. 開発者は使いやすさよりも制御を好む
  2. 平均的な人々は、コントロールよりも使いやすさを好みます

しかし、あなたの質問に対するもう1つの別の答えは、「なぜ一部の開発者にとって歯科医術がそれほど難しいのか」です。-UIの設計は、UIデザイナーが行うのが最適です。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.