제8부: 바쁜 사용자들에게 어필하는 설계 – 3 DarkKaiser, 2007년 7월 7일2023년 8월 30일 글 : Joel Spolsky 번역 : ?AhnLab 2000년 5월 8일 GUI의 초기 원칙 중 하나는 사람들에게 컴퓨터가 기억할 수 있는 것은 기억하지 않아도 되도록 하라는 것이었다. 그 대표적인 예가 바로 Open File 대화박스이다. Open File 대화박스는 사용자에게 정확하게 파일 이름을 기억해 입력하는 것을 요구하는 대신 모든 파일의 목록을 보여준다. 사람들은 단서를 줄 때 사물을 더 잘 기억하며, 기억하기 보다는 리스트를 보고 선택하는 것을 더 좋아한다. 또 다른 예로 메뉴를 들 수 있다. 현재, 사용 가능한 명령어의 완벽한 메뉴를 제공하는 방법이 기존의 명령어 라인(command-line) 인터페이스를 대체하였다. 기존 방법에서는 사용자가 사용하고자 하는 명령어를 기억해야만 했다. 이는 UNIX를 사용하는 친구가 무슨 말을 하든 간에 근본적으로 명령어 입력 기반의 인터페이스가 GUI 인터페이스보다 떨어지는 이유이다. 명령어 기반의 인터페이스를 사용하는 것은 마치 서울에 있는 맥도날드에서 음식을 주문하기 위해 한국말을 배워야 하는 것과 다를 바 없다. 메뉴 기반의 인터페이스를 사용하는 것은 마치 자신이 원하는 음식을 손으로 가리키고, 고개를 심하게 끄덕이는 것과 같다. 즉 동일한 정보를 어떠한 사전 교육 없이도 전달할 수 있는 것이다. 일반적으로 볼 수 있는 그래픽 프로그램에서 파일 선택 절차를 생각해 보자. 윈도우 98이 다행히도 엄지손톱 크기의 이미지 보여주기 서비스 (thumbnail support)를 제공하기 때문에 사용자는 아래와 같이 파일을 볼 수 있다. 이렇게 파일을 보여주는 방식은 자신이 원하는 파일을 훨씬 쉽게 찾을 수 있도록 하였고, 그림 제목을 외워야 하는 수고를 덜어 주었다. 자동 완성과 같은 기능에서도 사용자로부터 최소한의 기억력을 요구하는 원칙이 사용되었음을 알 수 있다. 비록 내용을 입력 해야 하지만, 일부 프로그램은 사용자가 입력하고자 하는 내용을 경험에 기초해 추측할 수 있다. 위의 엑셀 파일에서 “M”이라는 글자를 입력하자 마자, 엑셀 프로그램은 사용자가 Male을 입력할 가능성이 높다고 추측한다. 왜냐하면 같은 열에서 이전에 이미 Male을 입력했기 때문이다. 또한 프로그램은 이러한 추측을 자동 완성 기능으로 제시한다. 그러나 “ale”는 미리 선택된 것으로 만약 Male을 입력하고자 하지 않았다면, 사용자는 “M” 뒤에 계속 다른 내용을 입력 하거나 (“ystery”라고 입력할 수도 있겠다), 엑셀이 추측한 단어 위에 덮어쓰기를 하면 된다. 마이크로소프트의 워드 프로그램은 사용자가 어떤 내용을 입력할지 추측하는 기능이 약간 지나친 것 같다. 5월에 워드를 사용한 적이 있는 사람이라면 다음과 같은 상황을 발견하게 된다. 바쁜사용자들에게어필하는설계, 총정 전 장을 통해 3가지 원칙을 언급하였다. 사용자는 지시 내용을 읽지 않는다 (chapter 6) 사용자는 마우스를 사용할 수 없다 (chapter 7) 사용자는 사물을 기억할 수 없다. 그렇다면 이런 생각이 들 수도 있겠다. 사용자는 바보란 말인가? 그렇지는 않다. 사용자를 무시하는 것은 마이크로소프트가 밥이라는 어려운 소프트웨어를 만들었다가 (쓰레기통에 직행했던), 모든 사람들에게 좋은 반응을 받지 못했던 경우와 유사한 결과를 초래할 뿐이다. 반면 이보다도 훨씬 더 잘난 척 하는 측면을 소프트웨어 설계에서 찾아볼 수 있다. 다시 말해 “내가 만든 소프트웨어는 너무 괜찮아서 사람들이 이를 연구하느라 골머리 꾀나 썩겠다”라고 생각하는 것이다. 그러나 이런 chutzpah 적인 발상은 소프트웨어 업계에서는 흔히 있는 일이다. 리눅스는 공짜래! 그러나 이를 복호화 할 수 없다면 공짜라도 사용할 수 없는 것이다. 인간의 능력 분포는 종 모양으로 나타난다. 고객의 98%가 아마 TV를 사용할 수 있을 것이다. 이들 중 70%는 윈도우를 사용할 수 있다. 이 중 15%는 리눅스를 사용할 수 있고, 1%는 프로그램을 짤 수 있다. 그러나 이들 중 오직 0.1% 만이 C++과 같은 언어로 프로그램을 만들 수 있고, 또 이들 중 오직 0.01%만이 마이크로소프트의 ATL 프로그래밍을 이해할 수 있다. (예외 없이 이들은 모두 턱수염을기르고안경을쓰고있다.) 위로 갈수록 가능한 사람의 수가 급격히 줄어드는 종 모양의 양상을 볼 때, “빗장을 조금만 낮춰도”, 예를 들어 프로그램을 만들 때 10% 정도만 사용하기 쉽게 만들어도 사용자의 수를 무려 50%까지 급격이 늘 수 있다. 일반 대중들이 멍청하다고 생각하지는 않는다. 그러나 만약 우리가 프로그램을 설계 할 때 계속해서 바보도 사용할 수 있을 정도로 쉽게 만든다면 많은 대중들이 좋아하는 누구나 쉽게 사용할 수 있는 프로그램을 만들 수 있을 것이다. 작은 면을 향상시킴으로써 얼마나 많은 추가 사용자가 생겨날 수 있는지를 알게 된다면 무척 놀랄 것이다. 이전에 전혀 본적이 없는 프로그램이나 대화의 사용 용이성을 평가하는 좋은 방법은 마치 아무것도 모르는 바보처럼 행동하는 것이다. 대화상자의 내용을 읽지 말라. 그리고 확인하지 않고 실행할 수 있는 것은 무엇이 있는지 추측을 해보라. 단지 손가락 하나로 마우스를 사용해 보려고 시도해 보라. 실수도 많이 하고, 갈 때까지 가보라. 프로그램이 원하는 바를 수행했는지 아니면 최소한 사용자를 화가 머리 끝까지 나게 하는 것이 아니라 부드럽게 잘 인도하고 있는지 살펴보라. 인내하라. 원하는 것을 얻을 수 없다면 그 프로그램은 포기하라. 만약 UI가 미숙하고 어리석은 행동을 이겨낼 수 없다면, 이는 수정이 필요하다. Joel On Software JoelJoelOnSoftware