프로그래머는 어떻게 UX 기술을 향상시킬 수 있습니까? [닫은]


17

프로그래머로서 우리는 매우 복잡한 문제를 해결할 수 있지만, 사용자 인터페이스를 디자인해야 할 때는 사용하기가 쉽지 않습니다.

소규모 회사에서는 디자이너와 UX 전문가를 가질 여유가 없기 때문에 프로그래머는 소프트웨어의 거의 모든 작업을 수행해야합니다. 그러나 이러한 인터페이스는 거의 직관적이지 않습니다 ( 클래식 예 ).

무엇이 문제입니까? 개발자가 좋은 사용자 경험을 디자인하는 기술을 어떻게 향상시킬 수 있습니까?


7
우리? 주머니에 마우스가 있습니까? 솔직히 말해서 개발자가 거리를 걷는 전형적인 비 개발자보다 GUI를 만드는 것이 더 낫기 때문에 모든 개발자를 이것으로 묶지 마십시오.
GrandmasterB

1
이 만화는 google.com 검색이나 iDevice가 아닌 다른 많은 제품과 비교할 수 없다는 것을 알게 될 것입니다. 만화의 첫 번째 및 두 번째 프레임은 모두 단방향 통신을 나타냅니다. 세 번째는 아닙니다. 3 개 모두 과장되었습니다.
Steven Evers

2
@GrandmasterB, 그렇게 심각하게 생각하지 마십시오. 어쨌든 과도한 일반화를 피하기 위해 제목을 편집했습니다.
jmservera

예를 들어 @SnOrfus는 Google의 애드워즈 인터페이스가 매우 고통 스럽습니다.
GrandmasterB

참고 : UI 사이트에서 비슷한 질문을 발견했습니다 : ui.stackexchange.com/questions/1863/…
jmservera

답변:


9

나는 경력 에서이 문제를 여러 번 겪었습니다. 트릭은 먼저 문제라는 것을 인식하고 인정하는 것입니다. 그렇게하면 지나치게 복잡한 인터페이스를 만드는 것이 더 쉬워집니다.

사용자 인터페이스는 소프트웨어 엔지니어링의 일부이지만 많은 소프트웨어 엔지니어에게는 그리 흥미롭지 않습니다. 그러나 이와 관련하여 많은 흥미로운 과제가 있으며 아마도 내 경험상 더 기술적 과제만큼이나 흥미로울 수 있습니다.

사용성, UX (User Experience Design), HCI (Human-Computer Interaction) 마술이 아니며 소프트웨어 개발 프로세스의 일부입니다.

내 팁은 :

  • 당신의 한계를 인정
  • 이런 것들에 대해 알고 있다고 주장하는 사람들에게 물어보고 들으십시오
  • 확실하지 않은 경우 Google에서 정식 답변을 찾으십시오.

지난 몇 년 동안 이러한 간단한 원칙을 따름으로써 실제로 사용자 인터페이스를 구축하는 방법, 사람들이 소프트웨어와 상호 작용하는 방법 및 소프트웨어를 사용할 때 생각하는 방법에 대한 유용한 정보를 축적했습니다. 나는 결코 전문가입니다,하지만 난 아마 알고 조금 조금 더 평균 프로그래머보다.

TL; 박사 : 키스


어떤 사람들은 자연스럽게 단순한 UI를 좋아합니다. 다른 사람들은 덜 신경 쓸 수 있고 시간을 낭비하고 싶지 않습니다.
Job

6

생물학적입니다.

  • UI 및 기타 모든 디자인 관련 작업에는 올바른 두뇌가 필요합니다 .
  • 프로그래밍 작업은 왼쪽 뇌 와 관련이 있습니다.

그들은 다른 목적을 가지고 있습니다.

둘 다 잘하는 것은 매우 드 rare니다. 적어도 동시에.

뇌

업데이트 : 최근에 경험과 같은 다른 요소가 있다는 것을 알게되었습니다. 유전적인 요인들 외에도, 어린 시절에 어떻게 촉발되는지에 따라 정신 능력이 발달합니다. 예를 들어, 학대받는 아이들은 평균적으로 꿈보다 끔찍한 현실에서 분리하는 법을 배우기 때문에 통제 그룹보다 더 창의적입니다.


1
"둘 다 잘하는 것은 매우 드 rare니다. 적어도 동시에는." 그렇게 말하는 연구 / 기사와 함께?
c_maker

6
"논리적 일반화는 종종 한쪽이나 다른쪽에 대한 대중적인 심리학에서"논리적 "또는"창의적 "과 같은 특징적인 라벨을 가지고 있습니다. 이러한 라벨은주의해서 다루어야합니다. 두 측면과 실험적 증거는 측면들 사이의 구조적 차이와 기능적 차이를 상관시키는 것을 거의지지하지 못한다. " wikipedia 기사 en.wikipedia.org/wiki/Lateralization_of_brain_function
c_maker에서

또한 '문제가 무엇입니까?'라고 대답하지 않으면 질문에 전혀 대답하지 않습니다. 이 대답은 당신이 전혀 사실이 아닌 두 가지 모두를 잘할 수 없다는 것을 암시합니다. 사람들이 충분한 연습을하지 않았기 때문에 ER 이 어려울 수 있지만 어렵지 는 않습니다.
c_maker

@c_maker : 불행히도, 모든 심리학 코스는 프랑스어로되어 있습니다. 하지만 Gazzaniga 1976, Sperry 1968,

나는 당신이 당신의 주장을지지 할 수 있다고 생각하지만, 그 날짜는 정말 오래 전에 말해야합니다. 그 이후로 많은 변화가있었습니다. 우리는 여전히 뇌에 대해 거의 알지 못하지만 그때는 훨씬 덜 알았습니다.
c_maker

4

프로그래머와 디자이너가 다른 사고 방식이나 성격을 갖는 방법에 대해 논쟁하거나 좌뇌 대 우뇌 및 창조 대 논리에 대해 논쟁 할 수 있다고 생각하지만 실제로 세 가지 근본적인 문제가 있습니다.

  1. 프로그래머의 일은 그들의 소프트웨어입니다. 그들은 그것에 관심이 있습니다. 그들은 그것에주의를 기울입니다. 그들은 그것에 대해 흥분 할 수 있습니다. 사용자의 작업은 다른 것입니다 . 소프트웨어는 뭔가 다른 일을 용이하게하기위한 도구이며, 그들은 대신에 그들이 무엇에 대해 초점을 맞출 수 있도록주의를 기울이고 가능한 한 짧은 시간으로 보내고 싶어 에 대한주의. 프로그래머가 이것을 오해하는 한, UI 디자인에서 잘못된 트레이드 오프를 만들 것입니다. (이 주제에 대한 자세한 내용은 Joel Spolsky의 "환경 제어로 행복해집니다" 또는 David S. Platt의 "기본법"을 참조하십시오 .)
  2. 프로그래머는 소프트웨어를 자세히 알고 있습니다. 세부 사항과 복잡성에 익숙합니다. 그들은 그것이 완전한 정신 모델을 가지고 있기 때문에 그것이 왜 그렇게 행동하는지 이해합니다. 사용자는 모든 세부 사항을 배울 수있는 기회 (또는 관심사; 포인트 # 1 참조)가 없으며 소스 코드에 액세스하거나이를 이해할 수 없기 때문에 완전한 정신 모델을 가질 수 없습니다. (정신 모델의 중요성에 대한 자세한 내용은 Donand Norman의 The Everyday Things 디자인을 참조하십시오 . 컴퓨터에만 국한된 것은 아니지만 인터페이스 디자인에 대한 좋은 책입니다.)
  3. 프로그래머의 장단점은 사용자와 다릅니다. 프로그래머는 기능이 지나치게 복잡하거나 반 자동화되거나 사용 가능한 것보다 덜 사용하기 쉬운 기능을 쉽게 선택할 수 있습니다. 사용자는 프로그래머가 코드를 올바르게 코딩하는 데 얼마나 많은 노력을 기울이고 있는지, 그 자체를 충분히 사용할 수 있는지 신경 쓰지 않습니다.

세 번째 문제는 쉽게 벗어날 수없는 충분한 훈련을 통해 해결 될 수 있습니다. 처음 두 가지 문제를 해결할 수 있는지 확실하지 않습니다. 당신이 당신의 일에 더 가까울수록, 외부인이하는 방식으로보기가 더 어려워집니다. 그렇기 때문에 사용성 테스트 (홀에서 누군가를 잡아서 앱 앞에 앉는 것과 같은 단순하고 비공식적 인 것)가 매우 중요합니다.

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