일부 개발자에게 좋은 UI 디자인이 왜 그렇게 어려운가요? [닫은]


206

우리 중 일부는 UI 디자인의 부드러운 측면 ( 특히 나 자신 ) 으로 어려움을 겪고 있습니다. "백엔드 코더"는 비즈니스 로직 및 데이터 계층 만 설계 할 운명입니까? 유쾌하고 유용한 프리젠 테이션 레이어를보다 효과적으로 디자인하기 위해 재교육 하기 위해 할 수있는 일이 있습니까?

동료는 나를 포함한 몇 가지 책을 추천 한 사이트의 디자인을 , 나를 생각하지 마십시오왜 소프트웨어는 짜증 ,하지만 난 다른 사람들이이 지역에서 자신의 결함을 제거하기 위해 무엇을했는지 궁금?


1
나 자신을 위해 (같은 문제를 겪고 있음) UI를 사용할 때 좋은 UI를 알고 있습니다. 그리고 나는 나를 귀찮게하는 UI를 확실히 알고 있습니다. 그러나 나는 스스로 디자인하려고 매우 어려운 시간을 보냅니다. 다른 사람의 UI를 사용하는 경우 내 디자인에서 작동하지 않는 비판적인 눈과 같습니다.
JMD

1
"백엔드 코더"라는 용어가 싫고 제목에서 벗어나려고했습니다.
Chris Ballance

20
그래픽 디자인! = UI 디자인. 전자는 일을 예쁘게 만드는 것입니다. 후자는 일을 유용하고 유용하게 만드는 것에 관한 것입니다.
Esko Luontola

2
@Esko +1 종종 '예쁜'은 완전히 UN을 사용할 수 있음을 의미합니다. 그러나 두 CAN은주의와 생각으로 다뤄지면 공존 할 수 있습니다.
Dhaust 02.09. 23.

12
UI 디자이너에게는 왜 소프트웨어 개발이 그렇게 어려운가?
Greg Hurlman

답변:


360

직접 말하겠습니다 :

이를 개선하는 것은 지침으로 시작하지 않습니다. 소프트웨어에 대한 생각을 재구성하는 것으로 시작합니다.

대부분의 하드 코어 개발자들은 거의가 제로 자신의 소프트웨어의 사용자와 공감을. 사용자의 생각, 사용자가 사용하는 소프트웨어 모델을 작성하는 방법 및 컴퓨터를 일반적으로 사용하는 방법에 대한 실마리없습니다 .

전문가가 평신도와 충돌 할 때 나타나는 전형적인 문제는 다음과 같습니다. 일반인이 어떻게 10 년 전에 전문가가 이해 한 것을 이해하지 못하는 것이 어리석은 것일까 요?

거의 모든 숙련 된 개발자가 파악하기 어려운 사실을 인정하는 첫 번째 사실 중 하나는 다음과 같습니다.

평범한 사람들은 소프트웨어와 개념이 크게 다릅니다. 그들은 프로그래밍의 실마리가 없습니다. 없음 제로. 그리고 그들은 신경 쓰지 않습니다. 그들은 신경 써야한다고 생각하지도 않습니다. 강제로 실행하면 프로그램이 삭제됩니다.

이제는 개발자에게는 믿을 수 없을 정도로 가혹합니다. 그는 자신이 생산 한 소프트웨어를 자랑스럽게 생각합니다. 그는 모든 단일 기능을 좋아합니다. 그는 코드의 작동 방식을 정확하게 알려줄 수 있습니다. 어쩌면 그는 이전보다 50 % 더 빠르게 작동하는 믿을 수없는 영리한 알고리즘을 발명했을 수도 있습니다.

그리고 사용자는 신경 쓰지 않습니다.

이런 멍청이 같으니라고.

많은 개발자가 일반 사용자와 함께 일할 수 없습니다. 그들은 존재하지 않는 기술 지식에 의해 우울해집니다. 그렇기 때문에 대부분의 개발자는 부끄러워하고 사용자는 바보라고 생각합니다.

그들은 아닙니다.

소프트웨어 개발자가 자동차를 구입하면 자동차가 원활하게 작동 할 것으로 기대합니다. 그는 일반적으로 타이어 압력, 그런 식으로 작동시키는 데 중요한 기계적 미세 조정에 관심이 없습니다. 여기서 그는 전문가 가 아닙니다 . 그리고 미세 조정이없는 자동차를 사면 다시 돌려주고 원하는 것을하는 자동차를 구입합니다.

영화를 좋아하는 많은 소프트웨어 개발자. 상상력을 자극하는 영화. 그러나 영화 제작, 시각 효과 제작 또는 훌륭한 영화 스크립트 작성 전문가는 아닙니다. 대부분의 얼간이는 복잡한 감정을 표시하고 분석에 거의 영향을 미치지 않기 때문에 행동에 매우 좋지 않습니다. 개발자가 나쁜 영화를 본다면 영화 전체가 나쁘다는 것을 알게됩니다. 얼간이는 IMDB를 구축하여 좋은 영화와 나쁜 영화에 대한 정보를 수집하여 어떤 영화를보고 피해야하는지 알 수 있습니다. 그러나 그들은 영화 제작 전문가가 아닙니다. 영화가 나쁘면 영화에 가지 않거나 BitTorrent에서 다운로드하지 않습니다.

전문가로 일반 사용자를 줄이는 것은 무지입니다. 전문가가 아닌 분야 (그리고 너무 많은 분야)에서 그들은 다른 분야의 전문가들이 그들의 제품이나 서비스를 사용하는 일반인에 대해 이미 생각했을 것으로 기대합니다.

이를 해결하기 위해 무엇을 할 수 있습니까? 프로그래머로서 하드 코어가 많을수록 일반적인 사용자의 생각에 덜 개방적입니다. 그것은 외계인이며 당신에게 실마리가 아닙니다. 당신은 생각할 것이다 : 나는 사람들이 수 있는지 상상할 수없는 지식의 부족으로 컴퓨터를 사용합니다. 그러나 그들은 할 수 있습니다. 모든 UI 요소에 대해 다음을 고려하십시오. 사용자가 내 도구에 가지고있는 개념에 맞습니까? 어떻게 그를 이해할 수 있습니까? 이것에 대한 유용성을 읽어보십시오. 좋은 책이 많이 있습니다. 과학의 전체 영역이기도합니다.

아, 그리고 말하기 전에, 나는 애플 팬입니다.)


8
훌륭한 의견! 소프트웨어 디자인에서 가장 근본적인 장애물 중 하나를 해결했습니다. (나 같은) 강화 된 개발자를 위해 삼키기 어려운 사실이지만, 종종 진실이 있습니다.

12
+1. "수감자가 망명을 실행하고 있습니다"를 읽는 것이 좋습니다. 사용자 / 개발자 사고 방식의 차이점과 몇 가지 구제책에 대해 자세히 설명합니다.
Richard Levasseur 2018

9
+1 솔직히 말해서 사용자를 신경 쓰지 않는 개발자는 개발자가 아닙니다!
게리 윌로우 비

7
매우 유효한 요점이며, 이러한 사고 방식은 많은 개발자가 수행 한 프로젝트 (예 : 오픈 소스 또는 사용자가 수행 한 작업)가 대부분의 개발자에 의해 사용하기 어려운 것으로 나타났습니다. "실제"최종 사용자가 아닌 사용자로서 스스로 작성하십시오.
CloudyMusic

25
+1 이것이 리눅스가 여전히 일반 사용자의 데스크탑을 위해 준비되지 않은 이유입니다.
Bryan Anderson

215

UI 디자인 어렵다

질문에 :

대부분의 개발자에게 UI 디자인이 왜 그렇게 어려운가요?

반대의 질문을 해보세요 :

대부분의 UI 디자이너 에게는 왜 프로그래밍 이 어려운 가요?

UI를 코딩하고 UI를 디자인하려면 다른 기술과 사고 방식이 필요합니다. UI 디자인은 코드를 작성하는 것이 일부 디자이너가 아닌 대부분의 디자이너에게 어려운 것처럼 일부 개발자가 아닌 대부분의 개발자 에게는 어렵다 .

코딩이 어렵다. 디자인도 어렵다. 둘 다 잘하는 사람은 거의 없습니다. 훌륭한 UI 디자이너는 거의 코드를 작성하지 않습니다. 그들은 방법을 알지 못하지만 여전히 훌륭한 디자이너입니다. 그렇다면 왜 훌륭한 개발자가 UI 디자인을 책임 져야합니까?

UI 디자인에 대해 더 많이 알고 있으면 더 나은 개발자가되지만 UI 디자인을 책임 져야한다는 의미는 아닙니다. 코드를 작성하는 방법을 알면 더 나은 디자이너가 될 수 있지만 UI 코딩을 책임 져야한다는 의미는 아닙니다.

UI 디자인을 향상시키는 방법

UI 디자인을 향상시키고 자하는 개발자에게는 3 가지 기본 조언이 있습니다.

  1. 디자인을 별도의 기술로 인식합니다 . 코딩과 디자인은 별개이지만 관련이 있습니다. UI 디자인은 코딩의 하위 집합이 아닙니다. 다른 사고 방식, 지식 기반 및 기술 그룹이 필요합니다. UI 디자인에 중점을 둔 사람들이 있습니다.
  2. 디자인에 대해 알아보십시오 . 적어도 조금은 요 아래의 긴 목록에서 몇 가지 디자인 개념과 기술을 배우십시오. 좀 더 야심이 있다면, 책을 읽고, 회의에 참석하고, 수업을 듣고, 학위를 받으십시오. 디자인을 배우는 방법에는 여러 가지가 있습니다. UI 디자인에 대한 Joel Spolky의 책 은 개발자에게 좋은 입문서이지만 더 많은 내용이 있으며 디자이너가 그림을 찾는 곳입니다.
  3. 디자이너와 협력하십시오 . 당신이 할 수 있다면 좋은 디자이너. 이 작업을 수행하는 사람들은 다양한 제목으로 이동합니다. 오늘날 가장 일반적인 제목은 UXD (User Experience Designer), IA (Information Architect), ID (Interaction Designer) 및 유용성 엔지니어입니다. 코드에 대한 생각만큼 디자인에 대해서도 생각합니다. 당신은 그들에게서 많은 것을 배울 수 있고 그들은 당신에게서 배울 수 있습니다. 그러나 당신이 할 수있는 그들과 함께 작동합니다. 회사에서 이러한 기술을 가진 사람들을 찾으십시오. 누군가를 고용해야 할 수도 있습니다. 또는 일부 회의에 참석하거나 웹 세미나에 참석하고 UXD / IA / ID 세계에서 시간을 보내십시오.

배울 수있는 몇 가지 구체적인 사항이 있습니다. 모든 것을 배우려고하지 마십시오 . 아래의 모든 것을 알고 있다면 상호 작용 디자이너 또는 정보 설계 자라고 할 수 있습니다. 목록 상단 근처의 것부터 시작하십시오 . 특정 개념과 기술에 중점을 둡니다. 그런 다음 아래로 이동하여 분기하십시오. 이 물건을 정말로 좋아한다면, 그것을 진로로 생각하십시오. 많은 개발자들이 경영진으로 이주하지만 UX 디자인이 또 다른 옵션입니다.

UI 디자인이 어려운 이유

좋은 UI 디자인은 크게 다른 기술이 필요하기 때문에 어렵습니다.

  • 기계에 대한 깊은 이해 . 이 그룹의 사람들은 먼저 코드에 대해 걱정하고 사람들은 두 번째로 걱정합니다. 그들은 깊은 기술 지식과 기술을 가지고 있습니다. 이를 개발자, 프로그래머, 엔지니어 등이라고합니다.
  • 사람과 디자인에 대한 깊은 이해 :이 그룹의 사람들은 먼저 사람들에 대해 걱정하고 코드 둘째에 대해 걱정합니다. 그들은 사람들이 정보, 컴퓨터 및 주변 세계와 어떻게 상호 작용하는지에 대한 깊은 지식을 가지고 있습니다. 이를 사용자 경험 디자이너, 정보 설계자, 인터랙션 디자이너, 유용성 엔지니어 등이라고합니다.

이것이 개발자와 디자이너 사이에서이 두 그룹의 근본적인 차이점입니다.

  • 개발자는 그것을 작동 시킵니다. TiVo, iPhone, 즐겨 찾는 웹 사이트 등에서 기능을 구현합니다. 실제로해야 할 일을 실제로 수행합니다. 그들의 최우선 과제는 그것이 작동하는 것입니다.
  • 디자이너는 사람들이 그것을 좋아하게 만듭니다 . 그들은 상호 작용하는 방법, 모양 및 느낌을 파악합니다. 그들은 응용 프로그램, 웹 사이트, 장치 사용 경험을 디자인합니다. 그들의 최우선 순위는 개발자가 만드는 것에 사랑을 느끼게하는 것입니다. 이것은 사용자 경험의 의미이며 브랜드 경험과 동일하지 않습니다.

게다가, 프로그래밍과 디자인은 다른 지식과 다른 기술뿐만 아니라 다른 사고 방식을 요구 합니다. 좋은 UI 디자인에는 두 가지 사고 방식, 지식 기반, 기술 그룹이 모두 필요합니다. 그리고 하나를 마스터하는 데 몇 년이 걸립니다.

UI 디자이너가 코드 작성을 어렵게 생각하는 것처럼 개발자는 UI 디자인을 찾기가 어렵습니다.


8
이것이 가장 좋은 대답입니다. 훌륭한 링크 BTW!
Bernard Igiri

UI 디자인에 대한 훌륭한 개요! 나는 또한 다른 사고 방식에 대한 당신의 개념을 관찰했습니다. UI 디자인과 프로그래밍을 모두 수행하므로 한 번에 하나만 집중하는 것이 가장 좋습니다. [...]
Esko Luontola

프로그래밍하는 동안 UI 디자인 결정을 내리는 경우 구현하는 가장 간단한 방법이 UI 디자인이 좋지 않은 것으로 생각합니다. UI 디자인을 수행하면서 구현에 대해 생각한다면 구현하기는 쉽지만 사용자에게는 좋지 않은 UI 디자인 패턴을 선택할 수 있습니다.
Esko Luontola

2
이것이 왜 정답으로 표시되지 않습니까? Thorsten79의 답변보다 훨씬 낫습니다.
AbdullahC

1
이 답변을 직접 좋아할 수 있기를 바랍니다. :)
Dan J

70

내 디자인을 개선하는 데 실제로 도움이되는 것은 동료 개발자, QA 담당자, PM 또는 특정 위젯이나 화면을 시험해 보는 사람을 얻는 것입니다.

다른 사람이 소프트웨어를 처음 사용하는 것을 볼 때 알게 될 놀라운 사실


나는이 접근법을 많이 시도했고 그것이 매우 효과적이라는 것을 알았습니다. 때때로 나는 비전문적 인 친구가 그것을 사용하려고 할 때 그들이 고통을 일으키는 원인을 알기 위해 그것을 사용합니다.
Chris Ballance

이것은 내가 취하는 것과 같은 접근법입니다.
Ed S.

이 접근 방식을 "사용성 테스트"퍼시스턴스라고 할 수 있습니까? ;) 그렇습니다. 이전, 도중 및 이후에 수행해야하는 접근 방식입니다.
Ates Goral

이것은 거의 내 정확한 답변입니다. 품질 관리 및 기술 지원은 훌륭합니다. 개발자는 UI 디자인을 배우고 반복하며 다른 사람들이 자주 테스트하도록합니다.
Bill K

7
나는 이것이 "홀 웨이 유용성 테스트"라고 믿습니다
Kevin

32

궁극적으로 그것은 공감에 관한 것입니다. 사용자의 입장에서 자신을 맡길 수 있습니까?

물론 도움이되는 한 가지는 "자신의 개밥을 먹는 것"입니다. 응용 프로그램을 실제 사용자로 사용하고 성가신 것을 보는 것입니다.

또 다른 좋은 아이디어는 응용 프로그램을 사용하여 실제 사용자를 볼 수있는 방법을 찾는 것입니다. 단방향 미러, 화면 비디오 캡처, 사용자의 비디오 카메라 등이 포함 된 유용성 랩처럼 복잡하거나 간단 할 수 있습니다. 복도를 걸어가는 다음 사람을 사용하여 종이 프로토 타이핑으로

다른 모든 방법이 실패하면 UI가 너무 복잡하기보다 너무 단순할수록 거의 항상 좋습니다. "오, 나는 그것을 해결하는 방법을 알고있다. 사용자가 선호하는 모드를 결정할 수 있도록 체크 박스를 추가 할 것이다"라고 말하는 것은 매우 쉽다. 곧 UI가 너무 복잡합니다. 기본 모드를 선택하고 환경 설정을 고급 구성 옵션으로 설정하십시오. 아니면 그냥 놔둬

디자인에 대해 많이 읽으면 그림자와 둥근 모서리 등에 쉽게 매달 수 있습니다. 중요한 것은 아닙니다. 단순성과 발견 가능성은 중요한 것들입니다.


잘 넣어. 대부분의 경우 유연성을 추가하려고하면 혼란이 발생합니다. 간단할수록 좋습니다.
SquareCog

사용자가 지구의 반대편에있는 경우, 이전에는 경험하지 못한 문화에서 사용자의 신발에 자신을 넣을 수 있습니까? 견고한 UI 디자인에서 국제화는 주요 고려 사항입니다. 모든 사람이 미국에 거주한다고 가정하지 마십시오.

물론; 현재 진행중인 프로젝트는 전 세계 사용자 (기본적으로 내가있는 미국 이외의 모든 국가)를 대상으로합니다. 그것은 공감을 더욱 어렵게 만들고 의심의 여지가 없으며, 심각하고 적극적으로 시도하는 것이 더 중요합니다.
Jacob Mattison

또한 실제 사용자가 살펴보면 대부분의 사용성 문제가 놀랍도록 분명하다고 덧붙였습니다. 그렇습니다. 문화마다 다른 미묘한 것들이 있지만 다음 사람이 복도를 걸어 가면 크게 개선 할 수 있습니다.
Jacob Mattison

+1, 내가 +100을 할 수 없기 때문에! UI 개발자로 성장하는 데 도움이되는 다양한 응용 프로그램을 사용하여 얻은 경험을 추가하겠습니다. Visual Studio 또는 다른 개발 도구와 같은 도구 만 사용하면이 기능을 방해 할 수 있습니다.
BQ.

26

대중적인 신화와는 달리 UI 디자인에는 문자 그대로의 부드러운 측면이 없으며 적어도 좋은 백엔드를 디자인하는 데 필요한 것 이상은 아닙니다.

다음을 고려하세요; 우수한 백엔드 디자인은 훌륭한 개발자가 잘 알고있는 상당히 견고한 원칙과 요소를 기반으로합니다.

  • 낮은 커플 링

  • 높은 응집력

  • 건축 패턴

  • 업계 모범 사례

  • 기타

좋은 백엔드 설계는 일반적으로 여러 상호 작용을 통해 이루어지며, 테스트 또는 실제 사용 중에 얻은 측정 가능한 피드백을 기반으로 초기 청사진이 점차 향상됩니다. 때로는 백엔드의 작은 측면을 프로토 타입하고 격리 등으로 시험해야 할 때가 있습니다.

좋은 UI 디자인은 다음과 같은 사운드 원칙을 기반으로합니다.

  • 시계

  • 여유

  • 피드백

  • 공차

  • 간단

  • 일관성

  • 구조

UI는 또한 테스트 및 평가판을 통해 반복되지만 컴파일러 + 자동 테스트 슈트가 아닌 사람들을 통해 탄생합니다. 백엔드와 마찬가지로 업계 최고의 실무, 측정 및 평가 기술, UI를 생각하고 사용자 모델, 시스템 이미지, 디자이너 모델, 구조 모델, 기능 모델 등의 목표를 설정하는 방법이 있습니다.

UI 디자인에 필요한 기술은 백엔드 디자인과는 매우 다르기 때문에 먼저 학습하지 않고도 좋은 UI를 수행 할 수있을 것으로 기대하지 않습니다. 그러나이 두 가지 활동은 공통적으로 설계 과정입니다. 좋은 소프트웨어를 디자인 할 수있는 사람이라면 누구나 시간을 투자하는 한 좋은 UI를 디자인 할 수 있다고 생각합니다.

휴먼 컴퓨터 인터랙션 과정을 수강하고 MIT 및 예일 사이트에서 온라인 자료를 확인하십시오.

이해와 사용법에서 구조적 vs 기능적 모델

Thorsten79 의 우수한 이전 게시물 은 소프트웨어 개발 전문가 대 사용자의 주제와 소프트웨어에 대한 이해가 어떻게 다른지 알려줍니다. 인간 학습 전문가는 기능적 정신적 모델과 구조적 정신적 모델을 구분합니다. 친구의 집으로가는 길을 찾는 것은 두 사람의 차이점에 대한 훌륭한 예가 될 수 있습니다.

  • 첫 번째 접근 방식에는 일련의 세부 지침이 포함됩니다. 고속도로의 첫 번째 출구를 타고 100 야드 정도 좌회전 한 후 등. 이것은 기능 모델의 예입니다. 특정 목표를 달성하는 데 필요한 구체적인 단계 목록. 기능적 모델은 사용하기 쉬우 며, 단순한 실행을 생각할 필요가 없습니다. 분명히 단순성에 대한 페널티가 있습니다. 가장 효율적인 경로가 아닐 수도 있고 예외적 인 상황 (예 : 교통 우회)이 완전히 실패로 이어질 수 있습니다.

  • 과제에 대처하는 다른 방법은 구조적 정신 모델을 구축하는 것입니다. 이 예에서는 "태스크 객체"의 내부 구조에 대한 많은 정보를 전달하는 맵입니다. 우리와 친구 집의지도와 상대 위치를 이해함으로써 기능 모델 (경로)을 차감 할 수 있습니다. 분명히 가능한 편차가 있지만 작업을 완료하는 데 더 많은 노력이 필요하지만 훨씬 더 안정적인 방법이 필요합니다.

UI를 통한 기능 또는 구조 모델 전달 (예 : 마법사 대 고급 모드) 중에서 선택하는 것은 Thorsten79의 게시물에서 볼 수있는 것처럼 간단하지 않습니다. 고급 사용자와 빈번한 사용자는 구조적 모델을 선호하는 반면, 경험이 많거나 경험이 적은 사용자는 기능적입니다.

Google지도는 훌륭한 예입니다. 기능적 모델과 구조적 모델이 모두 포함되어 있기 때문에 많은 위성 탐색 기능도 포함됩니다.

문제의 또 다른 차원은 UI를 통해 제공되는 구조 모델이 소프트웨어의 구조에 매핑되지 않아야하며, 당연히 사용자 작업 또는 관련된 작업 개체의 구조에 매핑되어야한다는 것입니다.

여기서 많은 어려움은 많은 개발자들이 소프트웨어 내부 구조에 대한 훌륭한 구조적 모델을 가지지 만 소프트웨어가 목표로하는 사용자 작업의 기능적 모델 만 가질 것이라는 점입니다. 좋은 UI를 구축하려면 작업 / 태스크 객체 구조를 이해하고 UI를 해당 구조에 매핑해야합니다.

어쨌든, 나는 여전히 공식적인 HCI 과정을 충분히 강하게 추천하지 않습니다. 휴리스틱 , 게슈탈트 물리학 에서 파생 된 원칙 , 인간이 배우는 방법 등과 같은 많은 것들이 있습니다 .


MIT OCW 링크 +1 :)이 강의 노트는 귀중합니다
PlagueHammer

맞습니다. 사용자는 소프트웨어 전문가가 될 수 있으며 누군가가 "좋은"UI를 통해 소프트웨어를 더 빠르게 만들 수있는 방법을 모색 할 때 좋아합니다. 예를 들어 바로 여기에 모든 주요 단축키가 있습니다. 유용성은 매우 흥미로운 주제입니다!
Thorsten79

25

유용성과 물건에 중점을 두지 않고 지금과 같은 방식으로 모든 UI를 시작하는 것이 좋습니다.

대체 텍스트 http://www.stricken.org/uploaded_images/WordToolbars-718376.jpg

이제 이것을 생각해보십시오.

디자이너는 추가 할 것이 없을 때가 아니라 제거해야 할 것이 없을 때 완벽 함을 달성했다는 것을 알고 있습니다. — 생 텍쥐페리

그리고 이것을 디자인에 적용하십시오.


이것이 내가 Office 2007을 훨씬 선호하는 이유입니다!
Richard Ev

누군가가 어느 무덤에서 그 인용구를 파는지 궁금해한다면, 나는 문명 4에서 들었다. 저자가 누구인지는 모르지만, 그는 단어 디자이너보다 더 나은 UI를 작성할 수있을 것이라고 확신했습니다.
호프만

A. 아인슈타인의 또 다른 유사한 인용문이 있습니다. "모든 것을 가능한 한 단순하게 만드십시오." 이 아이디어는 UI 디자인에도 적용됩니다 : www.presentationzen.com. ... + 1
Pyry Jahkola

생 텍쥐페리는 조종사 및 항공기 설계자 그 이상이었습니다. 인용문 +1 그의 아이들의 책 ( "The Little Prince")은 읽을 가치가 있지만 여기서는 주제를 벗어납니다.
David Thornley

5
인쇄보기를 선택 했어야합니다. 이제 눈금자를 볼 수 없습니다.
Mussnoon

16

많은 개발자들은 코드를 작성할 수 있기 때문에 모든 것을 할 수 있다고 생각합니다. 인터페이스 디자인은 완전히 다른 기술이며, 대학에 다닐 때 전혀 배우지 못했습니다. 단지 자연스럽게 오는 것이 아닙니다.

또 다른 좋은 책은 Donald Norman 의 The Everyday Things 디자인입니다 .


감사합니다. "The Everyday Thinks의 디자인"은 아마존 위시리스트에 있습니다
Chris Ballance

+1. "일상적인 것들의 디자인"은 또한 추천 독서 목록 (개발자를위한 좋은 책 목록)의 Coding Horror 목록에도 있습니다. 최근에 그것을 읽고, 또한 그것을 강력히 추천 할 수 있습니다.
Mun

나는 현재 "매일의 디자인"을 읽고 있습니다. 확실히 매우 훌륭하지만 다른 답변에 대한 의견에서 언급했듯이 Alan Cooper의 "수감자가 망명을 실행하고 있습니다"는이 주제를 정확하게 설명합니다. 개발자로서,이 책은 "삶의 변화"였습니다!
Stuart Helwig

필자 : 많은 개발자 (및 디자이너 및 기타)는 코딩 할 수 있기 때문에 사용자 인터페이스를 디자인 할 수 없다고 생각합니다. Photoshop을 잘 모르지만 작동하는 것과 작동하지 않는 것에 대해 잘 알고 있다고 생각합니다. (매일의 디자인은 나의 첫 번째 UI 성경이었습니다.)
Barry Brown

14

디자인과 미학에는 큰 차이가 있으며 종종 혼란스러워합니다.

아름다운 UI에는 예술적이거나 최소한 미적 기술이 필요합니다. 불행히도 많은 플래시 기반 API에서 볼 수 있듯이 충분하지 않고 UI를 사용할 수 없습니다.

사용 가능한 UI를 생성하려면 인간이 컴퓨터와 상호 작용하는 방법, 심리학의 일부 문제 (예 : Fitt의 법칙, Hick의 법칙) 및 기타 주제를 이해해야합니다. 이에 대한 교육은 거의 없습니다. 내가 아는 개발자는 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 플레이어 또는 스마트 폰이하지 않은 아무것도하지 않습니다.

아이팟과 아이폰을 좋아하는 사람들은 매뉴얼을 참조하지 않고 사용자가 원하는 것을 간단하고 쉽게하기 때문에 좋아합니다. 인터페이스는 인터페이스가 이해하기 쉽고 기억하기 쉬우 며 직관적입니다. 나는 이전 버전에서와 같이 MacOSX의 UI를 좋아하지는 않지만, 그것이 화려함에 찬성하여 약간의 유용성을 포기했다고 생각하지만, iPod과 iPhone은 최고의 디자인의 예입니다.

첫 번째 캠프에 있다면 평범한 사람이 생각하는 방식을 생각하지 않으므로 좋은 사용자 인터페이스를 사용하여 알 수 없기 때문에 잘못된 사용자 인터페이스를 만들 수 있습니다. 이것은 희망이 없다는 것을 의미하는 것이 아니라, 좋은 인터페이스 디자인 원칙과 좋은 UI를 인식하는 방법을 명시 적으로 배워야한다는 것을 의미합니다. 분명히 좋은 UI를 가지고 있다고해서 UI를 만들 수있는 것은 아닙니다. 예를 들어, 저의 문학에 대한 감사는 출판 가능한 이야기를 쓸 수있는 능력으로 확장되지 않는 것 같습니다.

따라서 좋은 UI 디자인에 대한 감각을 개발하십시오. 이것은 단순한 소프트웨어 이상으로 확장됩니다. Don Norman의 "Everything Things의 디자인"은 고전이며, 다른 책들도 있습니다. 성공적인 UI 디자인의 예를 들어 차이를 느끼기에 충분할 수 있습니다. 새로운 것을 생각하는 새로운 방식을 배우고 즐길 수 있음을 인식하십시오.


제안 +1 일상적인 것들의 디자인
Oskar Duveborn

좋은 답변을 얻으려면 +1하십시오. 나는 당신이 여전히 1 투표권 (현재 2)에 떠오르고 있다고 말합니다. 귀하의 설명에 맞는 사람들은 아마도 그렇게 생각하지 않거나 단순히 그 아이디어를 무시합니다 :-(
mghie

이것은 담요 진술입니다. 슬래쉬 닷에 대한 모든 애플의 반대 의견이 UI에 대한 비판이나 UI 이해 부족에 대한 검증은 아닙니다. 애플은 좋은 UI를 가지고 있으며 많은 경쟁사들도 마찬가지입니다.
Bernard Igiri

또 다른 생각 : 애플은 모든 사람을위한 것이 아니다. 예를 들어 CLI가 제공하는 놀라운 힘을 제공하지 않습니다.
J. Polfer

2
개인적으로 Apple 제품은 사용하기에 매우 직관적이지 않습니다. 조깅을 시작할 때마다 첫 번째 iPod이 노래를 섞기 시작했을 때 또는 iPhone 화면이 계속해서 반전되는 이유는 내가 좌절 한 유일한 사람이 아니라고 생각합니다. 나는 직접적이고 분명한 사용자 행동으로 만 문제가 발생한다고 생각합니다.
Lotus Notes

10

내가 견뎌야 할 주요 규칙은 결코 한 번에 두 가지를 모두 시도하지 않는 것입니다. 백엔드 코드로 작업하는 경우 작업을 마치고 휴식을 취한 다음 UI 모자를 착용 한 상태로 돌아갑니다. 코드를 작성하는 동안 코드를 사용하려고하면 잘못된 사고 방식으로 코드에 접근하여 끔찍한 인터페이스가 생깁니다.

훌륭한 백엔드 개발자이자 훌륭한 UI 디자이너가 될 수 있다고 생각합니다. 그냥 작업하고 주제에 대한 독서와 연구를해야합니다 (밀러의 # 7에서 Nielsen의 아카이브까지). 왜 그런지 이해해 UI 디자인이 가장 중요한 .

나는 그것이 창의적이어야 할 필요는 없지만 백엔드 개발과 같이 배워야 할 매우 체계적이고 구조적인 것입니다. 사람들이 가장 큰 유용성 괴물을 만드는 UI를 사용하여 '창의적'을 얻는 사람들이 있습니다.

편집 : Krug의 책은 정말 좋습니다 ... 특히 웹용으로 디자인하려는 경우 읽어보십시오.


그리고이 krug 's book의 제목은 무엇입니까
defau1t

@refhat 맨 위 게시물에서 눈에 띄게 연결되었으므로 당시에는 연결하지 않았지만 다음과 같습니다. librarything.com/work/12322
James B

8

여기에는 여러 가지 이유가 있습니다.

(1) 개발자가 사용자의 관점에서 볼 수 없습니다. 이것은 일반적인 용의자입니다 : 공감 부족. 그러나 개발자가 사람들이 원하는만큼 외계인이 아니기 때문에 일반적으로 사실이 아닙니다.

(2) 또 다른 가장 일반적인 이유는 개발자가 자신의 물건에 너무 오랫동안 머물렀고 오랫동안 물건을 가지고 있었기 때문에 자신의 물건이 다른 사람에게 너무 친숙하지 않다는 것을 깨닫지 못하기 때문입니다 .

(3) 또 다른 이유는 개발자가 기술이 부족하기 때문입니다.

MY BIG CLAIM : UI, 휴먼 인터랙션 디자인, 프로토 타입 책을 읽어보십시오. 예를 들어, 명백한 디자인 : 웹 응용 프로그램 디자인에 대한 상식적인 접근 방식, 생각하지 말 것 : 웹 사용성에 대한 상식적인 접근 방식, 순간을 디자인하는 것.

그들은 작업 흐름을 어떻게 논의합니까? 의사 결정 지점을 어떻게 설명합니까? 즉, 모든 사용 사례에서 성공, 실패 / 예외, 대안의 3 가지 경로가 있습니다.

따라서 지점 A에서 A.1, A.2, A.3으로 이동할 수 있습니다. 지점 A.1에서 A.1.1, A.1.2, A.1.3 등으로 이동할 수 있습니다.

이러한 드릴 다운 작업 흐름을 어떻게 보여줍니까? 그들은하지 않습니다. 그들은 단지 그것을 광택이 난다.

UI 전문가조차도 기술이 없기 때문에 개발자는 기회가 없습니다. 그는 그의 머리에 분명하다고 생각합니다. 그러나 소프트웨어 구현에서는 분명한 것은 물론 종이에서도 명확하지 않습니다.

이를 위해 나만의 수제 기술을 사용해야합니다.


7

디자인 관련 웹 사이트 및 텍스트와 연락을 유지하려고합니다. 또한 우수한 로빈 윌리엄스 (Robin Williams) 의 비 디자이너의 디자인 북 (Non-Designer 's Design Book) 도이 연구에서 매우 흥미로 웠습니다.

디자인과 유용성은 소프트웨어 엔지니어링에서 매우 중요한 부분이라고 생각합니다. 더 많은 것을 배우고 디자인을하지 말아야 할 변명을 멈추어야합니다.

누구나 프로그래머가 될 수있는 것처럼 누구나 가끔 디자이너가 될 수 있습니다.


나는 모든 사람이 프로그래머가 될 수 있다는 것에 동의하지 않습니다. 거래의 일부 측면을 가르 칠 수 없습니다, 당신은 그것을 해킹하거나 할 수 없습니다 (말장난이 없습니다.)
Chris Ballance

2
가끔은 그 사람이 좋은 프로그래머가되거나 영원히있을 것이라는 의미는 아닙니다 .
Edwin Jarvis

7

UI 디자인에 접근 할 때 다음은 내가 염두에 두어야 할 몇 가지 사항입니다 (완전한 목록은 아님).

  • 모델 커뮤니케이션 . UI는 사용자에게 정신 모델을 설명하는 이야기입니다. 이 모델은 비즈니스 객체, 일련의 관계, 무엇을 가질 수 있습니다. 시각적 중요성, 공간 배치 및 워크 플로 순서는 모두이 모델을 사용자에게 전달하는 데 중요한 역할을합니다. 예를 들어 특정 종류의 목록과 다른 목록은 목록에있는 내용과 나머지 모델의 관계뿐만 아니라 다른 것을 의미합니다. 일반적으로 한 번에 하나의 모델 만 통신하는 것이 가장 좋습니다. 프로그래머는 종종 동일한 UI 공간에서 둘 이상의 모델 또는 여러 모델의 일부를 통신하려고합니다.

  • 일관성 . 인기있는 UI 은유를 재사용하면 많은 도움이됩니다. 내부 일관성도 매우 중요합니다.

  • 작업 그룹화 . 사용자는 관련 명령 순서를 확인하거나 완료하기 위해 화면 전체에서 마우스를 움직일 필요가 없습니다. 이 영역에서는 모달 대화 상자 및 플라이 아웃 메뉴가 특히 나쁠 수 있습니다.

  • 청중을 아는 것 . 사용자가 동일한 활동을 반복해서 수행하는 경우 해당 작업에서 신속하게 고급 사용자가되고 초기 진입 장벽을 낮추려는 시도로 인해 좌절됩니다. 사용자가 여러 종류의 활동을 드물게 수행하는 경우 UI가 항상 손을 잡는 것이 가장 좋습니다.


당신이 가진 좋은 점을 가지고 청중을 알고 ... 나는 "당신은 당신의 사용자가 아닌"또한 같은 (플랫)을하고 "네 사용자를 알 수 있습니다."(플랫)을이 충분히 강조 할 수 없다
크리스 밸런스


5

UI 디자인에서 가장 좋은 도구는 사용자가 소프트웨어를 처음 사용하려고 시도하는 것을 보는 것입니다. 많은 메모를하고 몇 가지 질문을하십시오. 절대 그들에게 지시하거나 소프트웨어 작동 방식을 설명하려고 시도하지 마십시오. 이것은 UI (그리고 잘 작성된 문서)의 일입니다.

우리는 모든 프로젝트에서이 접근법을 일관되게 채택합니다. 사용자가 이전에 고려하지 않은 방식으로 소프트웨어를 다루는 것을 보는 것은 항상 매력적입니다.

UI 디자인이 왜 그렇게 어려운가요? 일반적으로 개발자와 사용자는 절대 만나지 않기 때문입니다.


절대적으로 동의했지만 개발자가 확실한 기본 UI 원칙을 적용 할 수 있습니다.
nailitdown

모든 국가에서 견고한 기본 UI 원칙이 적용되는 것은 아닙니다. 우리는 많은 지역에 소프트웨어를 배포하고 있으며 전 세계 다른 지역의 UI 디자인에는 큰 차이가 있습니다. 언젠가 미국에 미국 중심의 앱을 중국으로 보내보세요.

5

duffymo는 그 이유를 상기시켜주었습니다. 많은 프로그래머들이 "* Design"== "Art"라고 생각합니다.

좋은 UI 디자인은 절대 예술적이지 않습니다. 그것은 당신이 연구를 할 시간이 있다면 데이터로 백업 할 수있는 견고한 원칙을 따릅니다.

모든 프로그래머가해야 할 것은 시간을내어 원리를 배우는 것입니다. 코드 나 레이아웃이든 가능하면 모범 사례를 적용하는 것이 당연하다고 생각합니다. 우리가해야 할 일은 우리 업무의이 측면에 대한 모범 사례가 무엇인지 스스로 인식하는 것입니다.


나는 당신이 미학을 완전히 할인 할 수는 없다고 생각합니다. 아마도 추악한 UI는 예쁜 UI만큼이나 유용 할 수 있지만 이것이 UI의 전부는 아닙니다. 결국 UI는 책 표지와 매우 흡사 한 프로그램의 얼굴입니다. 사람들은 예쁜 UI로 프로그램을 선택할 가능성이 훨씬 높습니다.
Tikhon Jelvis

미학은 중요하지만 UI 디자인이 아닌 그래픽 디자인입니다.
nailitdown

5

UI 디자인을 향상시키기 위해 무엇을 했습니까?
그것에주의하십시오!

뉴스 나 전자 버스 표지판에 차트를 보는 순간과 같으며 '그 데이터를 어떻게 얻었습니까? 그들은 원시 SQL로 그렇게 했습니까, 아니면 LINQ를 사용하고 있습니까? ' (또는 여기에 자신의 일반적인 괴짜 호기심을 삽입하십시오).

모든 종류의 시각적 요소로 시작해야합니다.

그러나 새로운 언어를 배우는 것과 마찬가지로, 실제로 언어를 배우지 않으면 결코 배울 수 없습니다.

내가 쓴 다른 답변 에서 가져 왔습니다 .

주변 세계를보고 실제로 배우는 법을 배웁니다. 왜 UI를 좋아하지만이 UI를 싫어합니까? 이 식당 메뉴에서 국수 요리를 찾기가 왜 그렇게 어려운가요? 와, 나는 단어를 읽기 전에 그 표시의 의미를 알았습니다. 왜 그랬어? 그 책 표지가 어떻게 그렇게 잘못 보입니까? 시간을내어 왜 모든 종류의 시각적 요소에 대해 자신이하는 방식에 반응 하는지를 생각해보고이를 업무에 적용하십시오.


보고 생각하는 법에 대한 선의 조언을 +1하십시오. 눈에 맞는 것을 의심하는 사람은 거의 없습니다.
PlagueHammer

5

그러나 당신은 그것을하고 (위의 몇 가지 큰 포인트가 있습니다), 내가 직관적 인 것과 같은 것이 없다는 것을 인정하면 정말 도움이되었습니다 ....

지평선에서 울리는 논증을들을 수 있습니다. 그래서 조금만 설명하겠습니다.

직관적 : 무의식적 인 방법이나 느낌을 바탕으로 옳고 진실하다고 느끼는 것을 사용합니다.

만약 Carl Sagan이 가정 한 것처럼 당신은 당신이 지금까지 경험했던 것과는 전혀 다른 것을 이해할 수 없다는 것을 받아 들인다면, 당신이 원격으로 그것을 사용한 적이 없다면 어떻게 사용하는지 어떻게 "알 수"있을까요?

생각해보십시오 : 아이들은 문 손잡이의 작동 방식을 "알기"때문에가 아니라 다른 사람이 그것을 보는 것을 보았 기 때문에 종종 손잡이를 잘못된 방향으로 돌리거나 너무 빨리 당깁니다. 그들은 손잡이가 어떻게 작동하는지 배워야합니다. 이 지식은 창을 열고 서랍을 열고 손잡이 모양의 큰 손잡이로 거의 모든 것을 여는 것과는 다르지만 비슷한 경우에 적용됩니다.

우리에게 직관적으로 보이는 단순한 것조차도 다른 문화권의 사람들에게는 전혀 직관적이지 않을 것입니다. 누군가 팔을 앞쪽으로 들고 팔을 움직이지 않고 손목에 손을 위 아래로 내린 경우 .... 아마 일본에 있지 않다면. 이 신호는 "여기에 온다"를 의미 할 수 있습니다. 누가 맞습니까? 물론, 그들 자신의 맥락에서. 그러나 둘 다 여행한다면 UI 디자인을 모두 알아야합니다.

내 프로젝트의 잠재적 사용자에게 이미 "친숙한"것을 찾은 다음 사용자 중심 디자인이라는 UI를 빌드합니다.

Apple의 iPhone을 살펴보십시오. 당신이 그것을 싫어하더라도 그것에 들어간 생각의 양을 존중해야합니다. 완벽합니까? 당연히 아니지. 시간이 지남에 따라 물체의 인식 된 "직관성"이 자라거나 완전히 사라질 수 있습니다.

예를 들어. 대부분의 사람들은 상단과 하단을 따라 두 줄의 구멍이있는 검은 색 스트립이 필름 스트립처럼 보입니까?

그들이 생각하는 평균 9 또는 10 세에게 물어보십시오. 할리우드를 대표하는 영화 나 영화 (영화)와 관련이 있지만 지금은 얼마나 많은 어린이들이 필름 스트립으로 식별하기 어려운지 놀랄 것입니다. 지난 20 년간 대부분의 영화는 디지털 방식으로 촬영되었습니다. 그리고 우리 중 마지막 사람이 언제 어떤 종류의 사진, 사진 또는 영화를 보았습니까?

따라서 모든 것이 나에게 귀결되는 것은 다음과 같습니다. 청중을 알고 "직관적 인"항목의 경향과 변화에 발 맞추어 지속적으로 조사하여 주요 사용자를 대상으로하고 경험이없는 사람에게 유리한 행동을하지 않도록 노력하십시오. 초보자를 손에 쥐기 위해 고급 사용자 또는 고급 사용자의 속도를 늦 춥니 다.

궁극적으로 모든 프로그램은 사용자가 사용하기 위해 일정량의 교육이 필요합니다. 의사 결정의 일부인 교육 수준과 사용자 수준

대상 사용자의 과거 경험 수준, 인간, 컴퓨터 사용자 또는 학생 등을 기준으로 다소 친숙한 것이 있습니다.

나는 종 곡선의 가장 뚱뚱한 부분을 쏴서 가능한 한 많은 사람들을 얻으려고 노력하지만 모든 사람을 결코 기쁘게하지 않을 것이라는 것을 깨닫습니다.


4

Microsoft는 자체 가이드 라인과 다소 일치하지 않는다는 것을 알고 있지만 Windows 디자인 가이드 라인을 읽으면 실제로 도움이됩니다. 여기 내 웹 사이트에 사본이 있습니다 . Vista UX 안내서를 약간 아래로 스크롤하면됩니다. 색상, 간격, 레이아웃 등과 같은 것들에 도움이되었습니다.


(마이크로 소프트가 자신의 규칙을 나누기 얼마나 자주 발견) 플랫폼의 디자인 가이드 라인을 읽는 +1 확실히 하나가해야 할 일입니다
오스카 Duveborn

또한 Apple을 읽어보십시오 (Human Interface Guidelines). 그들은 더 많은 기본과 원칙을 가지고 있습니다. 따라서 보편적이어야하는 것과 플랫폼에 특정한 것이 무엇인지 이해할 수 있습니다.
Stephan Eggermont

그리고 그 동안 GNOME HIG도 읽으십시오. 이 세 가지 사이에서 단일 플랫폼의 특정 사항이 무엇인지, 그리고 일반적으로 좋은 아이디어 인 것이 보이기 시작합니다.
mghie

이들 중 대부분은 IBM을 기반으로하지만 지금은 구식입니다. 예를 들어, 표준 잘라 내기 및 붙여 넣기 명령은 Shift + Del 및 Shift + Ins (btw)입니다.
Simon Buchan

4

주된 문제는 다른 재능이나 기술과는 아무 관련이 없다고 생각합니다. 주요 문제는 개발자로서 응용 프로그램의 기능과 응용 프로그램에 대해 너무 많이 알고 있으며 해당 지식을 가진 사람의 관점에서 UI를 자동으로 디자인한다는 것입니다.

사용자는 일반적으로 응용 프로그램에 대해 전혀 아무것도 모르기 시작하고 내부 작업에 대해 배울 필요가 없습니다.

당신이 가진 지식을 사용하지 않는 것은 매우 어렵고 거의 불가능합니다. 그래서 UI를 앱을 개발하는 사람이 디자인해서는 안됩니다.


4

"화면의 양면에서 디자인"은 프로그래머가 UI 디자인을 어렵게 생각하는 이유에 대해 매우 단순하지만 심오한 이유를 제시합니다.

따라서 어느 한 쪽에서 기본 트래 닝이 다른 쪽과 정확히 반대이면 한 세계에서 다른 세계로가는 것은 확실히 어렵습니다.


3

UI 디자인에서 프로그램이 빠졌다고 말하는 것은 요점을 놓치는 것입니다. 문제의 핵심은 대부분의 개발자가 기술에 대해 깊이 이해하는 공식 교육입니다. 인간-컴퓨터 상호 작용은 단순한 주제가 아닙니다. "한 번에 y 대신 x를 사용하면 사용자가이 응용 프로그램을 더 효과적으로 사용할 것"이라는 간단한 한 줄 설명을 제공함으로써 "마음에"수있는 "것이 아닙니다.

UI 디자인에 누락 된 부분이 하나 있기 때문입니다. 인간의 두뇌. UI 디자인 방법을 이해하려면 인간의 마음이 기계와 상호 작용하는 방식을 이해해야합니다. 나는 심리학 교수가 가르치는이 주제에 대해 미네소타 대학에서 훌륭한 과정을 밟았습니다. 이름은 "인간-기계 상호 작용"입니다. 이것은 UI 디자인이 왜 그렇게 복잡한 많은 이유를 설명합니다.

심리학은 인과 관계가 아닌 상관 관계에 기반하기 때문에 UI 디자인 방법이 주어진 상황에서 항상 작동한다는 것을 결코 증명할 수 없습니다. 많은 사용자가 특정 UI 디자인이 매력적이거나 효율적이라는 것을 알릴 수는 있지만 항상 일반화 할 것임을 증명할 수는 없습니다.

또한 많은 사람들이 그리워하는 UI 디자인에는 두 가지 부분이 있습니다. 미적 매력과 기능적인 워크 플로우가 있습니다. 당신이 100 % 미학적 매력을 추구한다면, 사람들은 당신의 제품을 제외하고는 확실히 할 것입니다. 나는 미학이 사용자의 좌절감을 줄 것이라고 의심합니다.

Bill Buxton의 Sketching User ExperiencesCognition in the Wild같이이 주제와 코스에 대해 좋은 책이 몇 권 있습니다. Edwin Hutchins . 많은 대학에서 인간-컴퓨터 상호 작용에 대한 대학원 프로그램이 있습니다.

이 질문에 대한 전반적인 답변은 개인이 컴퓨터 과학을 배우는 방법에 있습니다. 모든 수학 기반, 논리 기반이며 사용자 경험이 아닙니다. 이를 위해서는 일반적인 4 년 이상의 컴퓨터 과학 학위가 필요합니다 (4 년의 컴퓨터 과학 학위가 심리학에서 미미하고 인간-컴퓨터 상호 작용에서 강조되지 않은 경우).


나는 동의하지 않는다 : 컴퓨터는 본질적으로 수학과 논리에 기초한다. 컴퓨터 프로그래밍에 대한 모든 가르침은 수학과 논리에 기초해야합니다.
Paul Nathan

1
네, 그렇습니다. 컴퓨터는 수학과 논리입니다. UI 디자인은 휴먼 요소와 관련이 있으며, 역사상 수학 및 논리 기반이 훨씬 적은 것으로 입증되었습니다.
jwendl 2019

수학과 논리에 덜 기초한 것은 그리 많지 않으며, 그 뒤에있는 수학과 논리는 오늘날의 어느 누구보다 훨씬 더 복잡합니다. 즉, 좋은 UI 디자인은 지오메트리를 기반으로 어느 정도입니다.
Tikhon Jelvis

2

질문을 바꿔 보자-

"ui designer"는 정보 아키텍처 및 프리젠 테이션 레이어 만 디자인 할 예정입니까? 유쾌하고 효율적인 시스템 레이어를 디자인하는 데 더 효과적으로 두뇌를 훈련시키기 위해 그들이 할 수있는 일이 있습니까?

"ui designer"는 완전히 다른 관점을 취해야 할 것 같습니다. 상자 내부에서 바깥 쪽을 봐야합니다. 상자 밖에서 들여다 보는 대신.

앨런 쿠퍼의 "수감자들이 망명을 실행하고있다"는 의견은 우리가 두 가지 관점을 모두 성공적으로 수행 할 수 없다는 것입니다.


2

좋은 UI가 논리적이지 않기 때문에 생각합니다. 좋은 UI는 직관적입니다.

소프트웨어 개발자는 일반적으로 '직관적'에 나쁜 짓을합니다


우수한 점은 필요로 다른 뇌의 측면
크리스 밸런스를

UI에 직관적 인 것은 없습니다. 내가 이미 알고있는 것과 비슷하지만 다소 다릅니다.
Stephan Eggermont

모든 것이 "직관적 인"것은 아닙니다. 직관적은 프로그래머가 땀을 흘리도록 사업 사람들이 던지는 단어입니다.
Bernard Igiri

진정한 프로그래머처럼 말하면 문제의 근원입니다.
Gregor Brandt

@gbrandt Intuitive는 "familiar"와 "simple"의 조합입니다. 그래도 노력하는 것은 여전히 ​​목표입니다. 유용성에 대한 어려운 점은 일부에게 직관적 인 것이 다른 사람들에게는 직관적이지 않다는 것입니다. @Stephan은 "직관적"이 어려운 "사실"이 아니라고 생각합니다. 사용자와 관련이 있습니다.
TM.

2

유용한 프레이밍은 커뮤니케이션 프로세스를 디자인 할 때하고있는 일을 적극적으로 고려하는 것입니다. 매우 실제적인 의미에서, 인터페이스는 사용자가 컴퓨터에게 무엇을해야하는지 알려주기 위해 사용해야하는 언어입니다. 이를 통해 여러 가지 점을 고려할 수 있습니다.

  1. 사용자는 이미이 언어를 사용합니까? 고도로 특이한 인터페이스를 사용하는 것은 결코 전에는 말하지 못한 언어로 의사 소통하는 것과 같습니다. 따라서 인터페이스가 전혀 독특해야한다면 가장 간단한 용어와 방해 요소가 거의 없어야합니다. 반면, 인터페이스에서 사용자에게 익숙한 관용구를 사용하면 처음부터 자신감을 얻게됩니다.
  2. 의사 소통의 적은 소음입니다. 청각 소음은 대화를 방해합니다. 시각적 노이즈는 시각적 커뮤니케이션을 방해합니다. 인터페이스에서 잘라낼 수있는 노이즈가 많을수록 더 쉽게 통신 할 수 있습니다.
  3. 인간 대화 에서처럼, 그것은 종종 당신이 말하는 것이 아니라, 당신이 말하는 방식입니다. 대부분의 소프트웨어가 의사 소통하는 방식은 사람이라면 얼굴에 구멍을 뚫을 정도로 무례합니다. 당신이 누군가에게 질문을하고 그들이 거기에 앉아 몇 분 동안 당신을 응시하고 응답하기 전에 다른 방법으로 대답하는 것을 거부한다면 어떻게 느끼겠습니까? 진행률 표시 줄 및 자동 초점 선택과 같은 많은 인터페이스 요소에는 공손함의 기본 기능이 있습니다. 사용자의 하루를 좀 더 즐겁게 만드는 방법을 스스로에게 물어보십시오.

정말, 그것은 것으로 프로그래머는 인터페이스 상호 작용을 어떻게 생각하는지 결정하기 다소 어려운 다른 소통의 과정보다,하지만 어쩌면 문제는 전혀 아무것도 것으로 생각되지 않는다는 것입니다.


2

좋은 의견이 이미 많으므로 추가 할 수있는 부분이 많지 않습니다. 하지만 여전히 ...

  • 개발자가 좋은 UI를 디자인 할 수 있기를 기대하는 이유는 무엇입니까?
  • 그는 그 분야에서 얼마나 많은 훈련을 받았습니까?
  • 그는 몇 권의 책을 읽었습니까?
  • 그는 몇 년 동안 얼마나 많은 것들을 설계 했습니까?
  • 그는 사용자의 반응을 볼 기회가 있었습니까?

우리는 임의의 "배관공 조"가 좋은 코드를 작성할 수 있다고 기대하지 않습니다. 그렇다면 왜 우리는 랜덤 한 "Joe the programmer"가 좋은 UI를 디자인 할 것이라고 기대할까요?

공감이 도움이됩니다. UI 디자인과 프로그래밍을 분리하면 도움이됩니다. 유용성 테스트가 도움이됩니다.

그러나 UI 디자인은 다른 것과 마찬가지로 배우고 연습해야하는 기술입니다.


정확히 내가 생각했던 것, "개발자"는 "사용자 인터페이스 디자이너"와 어떤 관련이 있습니까?
Jorge Córdoba

@Jorge는 이제 관련이 있습니다. 많은 개발자가 디자이너가 아니더라도 고용주를위한 UI를 설계해야합니다. 우리 회사에는 아티스트가 없습니다. 우리 앱은 나쁘지 않습니다. 이 경우 그룹 리뷰와 디자인이 좋은지 확인해야합니다.
TM.

@TM : 디자인이 반드시 UI / UX 디자인 인 것은 아닙니다. 물론 좋아 보이지만 그것이 잘 작동 한다는 의미는 아닙니다 .
Kevin Peno

2

개발자는 뜨개질을 잘하지 못하는 것과 같은 이유로 UI 디자인에 능숙하지 않습니다. 힘들고, 연습이 필요하며, 누군가에게 처음에 어떻게 보여줄지를 아프게하지 않습니다.

대부분의 개발자 (포함)는 소프트웨어 작성에 필요한 부분이기 때문에 "디자인"을 시작했습니다. 개발자가 잘하기 위해 노력할 때까지는 그렇지 않습니다.


2

개선하려면 기존 사이트를 둘러보십시오. 이미 제안 된 책 외에도 Robin Williams의 훌륭한 책 "비 디자이너 디자인 북"( 위생 아마존 링크)을 살펴보고 싶을 것입니다 )을

The Zen Garden 의 다양한 제출물을 살펴봄으로써 시각적 디자인에서 가능한 것을 살펴보십시오. .

UI 디자인은 확실히 예술이지만 C의 포인터와 같이 일부 사람들은 그것을 얻지 만 그렇지 않은 사람들도 있습니다.

그러나 적어도 우리는 그들의 시도에 처칠 수 있습니다 . BTW 감사합니다. 재미있는 만화에 대해 OK / Cancel을 보내 주시고 책 "최고의 소프트웨어 작성 I"( 위생 화 된 Amazon 링크 ) 에 배치 해 주신 Joel에게 감사드립니다 .


2

사용자 인터페이스는 얇은 페인트 코트와 같이 사실 후에 적용될 수있는 것이 아닙니다. 처음에 거기에 있어야하고 실제 연구를 기반으로 해야하는 것입니다. 물론 수많은 사용성 연구가 있습니다. 처음 시작했을 때가 아니라 소프트웨어를 처음 만드는 이유의 핵심을 형성해야합니다. 더 유용하고 효율적입니다.

소프트웨어는 자체적으로 존재하지 않습니다. 소프트웨어 조각이 존재하는 이유는 FOR PEOPLE입니다. 누군가가 왜 그것을 필요로하는지 이해하지 못하고 새로운 소프트웨어 조각에 대한 아이디어를 생각해내는 것조차도 우스운 일입니다. 그러나 이것은 항상 발생합니다.

한 줄의 코드를 작성하기 전에 종이 버전의 인터페이스를 살펴보고 실제 사용자에게 테스트해야합니다. 이것은 이상하고 어리석은 일이며 아이들과 가장 잘 작동하는 사람과 "컴퓨터"역할을하는 사람에게 가장 효과적입니다.

인터페이스는 자연인지 기능을 활용해야합니다. 원시인은 어떻게 프로그램을 사용합니까? 예를 들어 움직이는 물체를 추적하는 데 능숙하도록 진화했습니다. 그렇기 때문에 iPhone과 같은 물리 시뮬레이션을 사용하는 인터페이스는 변경이 즉시 발생하는 인터페이스보다 더 효과적입니다.

우리는 특정 종류의 추상화에 능숙하지만 다른 추상화에는 적합하지 않습니다. 프로그래머로서 우리는 가장 이상한 추상화를 이해하기 위해 정신 체조와 백 플립을하도록 훈련되었습니다. 예를 들어, 우리는 일련의 비전 텍스트가 금속 플래터에서 전자기 상태의 패턴으로 표현되고 변환 될 수 있음을 이해합니다.이 플래터는 신중하게 설계된 장치에 의해 발생할 때 전자에서 광속에서 발생하는 일련의 보이지 않는 사건을 초래합니다. 이러한 이벤트를 통해 유용한 결과를 얻을 수 있습니다. 이것은 이해해야 할 매우 부 자연스러운 것입니다. 그것이 우리에게, 외부 세계에 대해 완벽하게 합리적인 설명을 받았지만, 보이지 않는 지각 정신을 소환하여 입찰을하기 위해 이해할 수없는 성서를 작성하고있는 것 같습니다.

일반 인간이 이해하는 추상화는지도, 다이어그램 및 기호와 같은 것입니다. 기호는 기호를 익힐 때까지 의식적으로 정신적 인 노력을 기울여야하는 매우 약한 인간 개념이기 때문에 기호를주의하십시오.

기호가있는 요령은 기호와 기호가 나타내는 것 사이에 명확한 관계가 있어야한다는 것입니다. 그것이 나타내는 것은 명사이어야하며,이 경우 기호는 나타내는 것과 매우 유사하게 보입니다. 상징이 더 추상적 인 개념을 나타내는 경우에는 미리 설명해야합니다. msword 또는 Photoshop의 도구 모음에있는 설명 할 수없는 펼칠 수없는 아이콘과 이들이 나타내는 추상적 인 개념을 참조하십시오. Photoshop의 자르기 도구 아이콘은 CROP TOOL을 의미합니다. CROP이 무엇을 의미하는지 이해해야합니다. 해당 소프트웨어를 올바르게 사용하기위한 필수 조건입니다. 중요한 지식을 얻을 수있는 중요한 점을 알려줍니다.

우리는 4 살경에지도를 이해하는 능력을 얻습니다.

GUI가 매우 성공적으로 시작한 이유는 주로 텍스트 인터페이스의 풍경을 컴퓨터, 컴퓨터 개념을 물리적 장소와 유사한 것으로 매핑 한 것으로 변경했기 때문입니다. 사용성 측면에서 GUI가 실패하는 곳은 실제 생활에서 볼 수있는 것과 닮은 부분이 멈추는 곳입니다. 실제 세상에서 볼 수있는 것과 닮지 않은 컴퓨터에서 발생하는 보이지 않는, 예측할 수없는, 이해할 수없는 일이 있습니다. 현실 시뮬레이터를 만드는 데 아무런 의미가 없기 때문에이 중 일부가 필요합니다. 아이디어는 작업을 저장하는 것이므로 약간의 마법이 필요합니다. 그러나 그 마술은 이해가되어야하며, 인간이 이해에 잘 적응되어 있다는 추상화에 근거해야합니다. 우리 추상화가 깊어지고 계층화되기 시작할 때입니다. 현재 진행중인 작업과 일치하지 않아 문제가 발생합니다. 다시 말해, 인터페이스는 기본 소프트웨어에 대한 좋은 맵으로 기능하지 않습니다.

책이 많이 있습니다. 내가 읽었고 따라서 추천 할 수있는 두 가지는 "Donald Norman의"The Everyday Things의 디자인 "과 Jef Raskin의"The Human Interface "입니다.

나는 또한 심리학 코스를 추천합니다. "일상 사물의 디자인"에서는 이에 대해 조금 이야기합니다. 개발자의 심리학에 대한 "민족적 이해"로 인해 많은 인터페이스가 분해됩니다. 이것은 "민속 물리학"과 유사합니다. 움직이는 물체는 움직이지 않는 것이 대부분의 사람들에게는 의미가 없습니다. "움직이려면 계속 밀어야합니다!" 물리학 초보자를 생각합니다. 사용자 테스트는 대부분의 개발자에게 적합하지 않습니다. "사용자에게 원하는 것을 물어 보면 충분할 것입니다!" 심리학 초보자를 생각합니다.

필립 Zimbardo가 주최 한 PBS 다큐멘터리 시리즈 인 Discovering Psychology를 추천합니다. 실패하면 좋은 물리 교과서를 찾으십시오. 비싼 종류. 펄프 픽션 자체는 국경에서 찾을 수있는 쓰레기가 아니라 대학 도서관에서만 찾을 수있는 두꺼운 단단한 물건입니다. 이것은 필수 기초입니다. 당신은 그것없이 좋은 디자인을 할 수 있지만, 당신은 무슨 일이 일어나고 있는지 직관적으로 이해할 수 있습니다. 좋은 책을 읽으면 좋은 관점을 갖게 될 것입니다.


2

"소프트웨어가 짜증나는 이유"라는 책을 읽으면 Platt의 답변을 볼 수있을 것입니다.

  1. 개발자는 사용자 친 화성을 제어하는 ​​것을 선호합니다
  2. 평균적인 사람들은 통제보다 사용자 친 화성을 선호합니다

그러나 귀하의 질문에 대한 또 다른 대답은 "왜 일부 개발자에게는 치과학이 그렇게 어려운가?"입니다. -UI 디자인은 UI 디자이너가 가장 잘 수행합니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.