Window Interface Design Philosophy

User Centered Design

1.User In Control

  1. 사용자 자신이 제어한다는 느낌늘 가져야 함
  2. 명령은 사용자가 시작해야 하며, 컴퓨터나 소프트웨어가 시작하면 안된다. 사용자 능동적으로 유도해야 함. 사용자가 반응하는 형식은 곤란함
  3. 사용자가 자신의 실력과 기호에 맞게 변경할 수 있어야 하며, 프로그램은 이를 반영하여야 한다.
  4. Interactive, Responsive 'Mode'를 가급적 피해야 한다.
    c.f) 여기서 Mode란 일반적인 Interface를 제한하고, 특정 명령만 받는 상태를 말하며, 만약 Mode를 사용하더라도 명확하고, 명시적으로 눈에 띄게 하여야 한다.(ex. Drawing Tool)
2.Directness
  1. 사용자가 직접 물체를 다룬다는 느낌을 가져야 한다. 사용자가 취하는 동작이 어떻게 영향을 미치는지 볼 수 있어야 한다.
  2. 사용자가 직관적으로 이해할 수 있는 메타포어를 사용하여야 하며, 이 메타포어가 아니고 사용자의 이해가 목적이 되어야 한다. 사용자는 특정 명령을 기억하는 것 보다 친숙한 물체에 연관된 의미를 기억한다.
3.Consistency
  1. 기존에 알고 있던 지식을 자연스럽게 적용시켜야 한다. (a kind of backward compatibility)
  2. 명령의 이름, 정보의 시각 표현 및 동작 방식에 있어서 일관성이 있어야 한다.
  3. 제품군 내에서, 수행 환경 및 메타포어에 있어서도 마찬가지다.
Forgiveness
  1. 사용자는 Interface를 시행착오를 거쳐 습득하기를 좋아한다.
  2. 효율적인 Inteface는 Interactive하게 탐색하게 할 수 있어야 한다. 잘 짜여진 Interface라 하더라도 잘못 사용. 또는 오해(이해부족)에 의해 사용자가 실수 할 수 있다. 즉, 사용자의 실수도 수용하며, (그 실수를)쉽게 복구할 수 있어야 한다.
5.Feedback
  1. 사용자가 취한 동작에 화면 또는 소리등으로 반응한다는 것을 신호하는 것을 말한다. 즉, 일상적인 동작과 달리 뭔가 변화된다는 것을 알려주어야 한다.
  2. 전형적인 사용자들은 자신의 명령(Action)에 대한 반응을 겨우 수초 동안 기다릴 뿐이다.
6.Aesthetics
  1. 시각적 디자인은 소프트웨어 Interface에 있어서 중요한 부분이다.
  2. 시각적 요소는 가치있는 인상을 주며, 특정물체의 반응을 표현해 주는 중요한 부분이다. 동시에, 모든 시각적 요소는 기타 화면상의 다른 요소들과 사용자의 주의를 끌기 위해 경쟁하는 것임을 명심해야 한다.
  3. 사용자가 표시된 정보를 이해하는데 확실히 기여하는 쾌적한 환경을 제공해야 한다.
  4. 이 디자인 측면에서 본다면 그래픽(시각) 디자이너는 아주 소중하다.
7.Simplicity
  1. 간단한 것이지 단순한(지나치게 단순한) 것은 아니다.
  2. Application의 모든 기능을 이용할 수 있어야 하며, 간단하면서도 기능성을 극대화 하여야 한다.
  3. 간단하게 하기 위한 방법중 하나는 적절히 의사소통가능한 범위내에서 표시내용을 최소화 하는 것이다. 즉, 명령이나 정보에 표시에 장황한 설명을 피하는 것이다.
  4. 또 다른 방법은 자연스럽게 할당하고 의미를 부여하는 것이다. 요소들을 정열하고 표시하는 것은 그들의 의미와 연관관계에 영향을 미치기 때문이다.
  5. 점진적으로 표현(Progressive disclosure)함으로써 사용자가 복잡한 내용을 다룰수 있게 해준다.
  6. Progressive disclosure는 정보를 조심스럽게 짜서 적절한 때에 보이도록 하는 것도 포함된다. 그렇다고 비정상적인(일상적이지 않는) 기법으로 정보를 나타낸다는 것은 아니다.