본문 바로가기

개발 Note/UI Framework 개발하기

레이몬드 첸의 윈도우 개발282 스토리 - 사용자 인터페이스편

반응형

읽어보면 읽어볼수록 건질것이 많은 책이다.

흥미 위주로의 주제들만 잠깐 읽어 봤는데 내용을 간추려 보면 다음과 같다.


Chaper 1.사용자 인터페이스 설계의 초기 진출

[컴퓨터를 끄기 위해 왜 시작 버튼을 눌러야만 하는가?]
윈도우 95시절, 작업 표시줄에 시작 버튼이 없었다.(당시 작업표시줄로 불리지도 않았다).

시작 버튼 대신 시스템 버튼(아이콘은 윈도우 깃발임), 찻기 버튼 그리고 도움말 버튼 이렇게 3개의 버튼이 화면좌측 하단에 표시되었다.
시간이 지나면서, 찻기와 도움말 버튼이 시스템 버튼에 통합되었다.
창 배열 과 같은 메뉴는 사용자 인터페이스의 다른 부분으로 옮겨갔고, 작업 목록과 같은 메뉴항목은 완전히 사라졌다.

유용성 테스트에서 들어난 가장 큰 문제점은 사용자가 컴퓨터를 켜고 그 다음에 무엇을 해야 할지를 잘 모른다는 것이었다.

시스템 메뉴에 '시작'이라는 라벨을 붙이자고 누군가가 제안한 것은 바로 이때였다.
그 뜻은 '여기를 누르세요'라고 말하는 것이었다. 이 간단한 변경으로 유용성 테스트 결과는 극적으로 개선되었는데, 사용자들이 무언가 하고자 할 때 무엇을 클릭해야 하는지를 이제 알게 되었기 때문이었다.
사용자들에게 컴퓨터를 꺼달라고 했을 때 이들은 시작 버튼을 클릭했다. 왜냐하면, 컴퓨터를 끄기위해서는 어디에선가 시작을 해야 했기 때문이다.

심지어 pc를 끌대도 '시작'을 누른다는 것... 이것은 아이러니한것인지 정상적인것인지 모르겠지만, 사용성은 정말 심플한 아이디어에 의해서도
극대화 될수 있다는 예기입니다.


[옵션을 언제 비활성화 시키며, 언제 제거할 것인가?]
메뉴 항목이나 대화상자 옵션을 표시할 때 이들은 사용할 수 없다면, 이것을 비활성화하거나 제거할 수 있다. 이때 적용해야 할 규칙은 무엇일까?

어떤것이 보이기는 하지만 사용할 수 없을 때 사용자들은 어떻게 조작하면 이것을 활성화 시킬수 있을 것이라고 기대한다는 것이 실험에서 밝혀졌다.

따라서 사용자가 기능을 활성화 할수 있는 무엇인가가 있다면, 메뉴 항목을 보이되 비활성화 시켜야 한다.
예를 들면 매체 재생 프로그램에서 매체 파일이 재생 중이 아니면 정지 옵션은 비활성화 된다. 그리고 재생을 시작할 때 이 옵션이 활성화 된다.

반면에, 어떤 이유로 인해 사용자가 전혀 조작할 수 없는 옵션이 있다면 이것을 제거해야 한다.
그냥 둔다면 사용자들은 이를 활성화 시키는 방법을 찾으려고 시간을 낭비할 것이다.
예를 들면, 컬러 인쇄가 불가능한 프린터에 대해서는 색상 조정 옵션이 보여서는 안 되는데, 이것은 이 프로그램으로는 어떻게 하더라도 프린터에서 컬러 인쇄가 되도록 만들수 없기 때문이다.

비슷하게 , 텍스트 어드벤처 게임을 생각해 보자.' 벽에서 횃불을 집어라' 와 같은 어떤 명령어를 내리면 컴퓨터는 '아직 그건 할 수 없다'라고 답변한다. 메뉴 항목을 홰색으로 만드는 것에 대응되는 어드벤처 게임의 처리는 이와 같다. 사용자는 다음과 같은 고민을 한다."음, 의자가 필요한가? 아니면 횃불이 너무 뜨거운가? 너무 많은 도구를 가져가서 그런가? 어쩌면 다른 캐릭터를 찾아서 이 일을 맡겨야 할지도 몰라."

만약 횃불이 제거할 수 없는 것이었다면 사용자로 하여금 쓸데없는 노력을 하게 만든다. 어드벤처 게임에서는 이런 좌절감이 재미의 일부이지만, 컴퓨터 프로그램에서의 좌절감은 사람들이 즐길 수 있는 것이 아니다.

이것은 엄격한 규칙이 아니라 단지 하나의 지침이라는 점에 유의하기 바란다.
 다른 고려 사항들이 이 원칙에 우선할 수 있다. 예를 들어, 일관성 있는 메뉴 구조가 더 바람직하다고 생각할 수 있는데,
왜냐하면 이것이 덜 혼란스럽기 때문이다
(예를 들어, 매체 재생 프로그램은 음악파일을 재생할 때 동영상 관련 옵션들을 표시하기는 하지만 비활성화 시킬 수 있다.)


책을 읽다 공감이 가는 내용이고 그동안 항상 봐왔지만 생각해보지 못했던 내용이라 이렇게 블로그에 옮겨 적었습니다.
(copy & paste 아닙니다. 손으로 카피 했습니다. ㅠ_ㅠ)