마음을 생각하는 디자인 - 제프 존슨 지음, 강규영 옮김/지&선(지앤선) |
요즘에는 많이 사용하는 방식이지만 입력창에서 오류를 체크하는 기능이 구현된 것을 보고 정말 놀라웠습니다. 그 전까지는 대부분 alert()을 사용해서 '띵' 소리와 함께 입력되지 않은 항목을 보여주었는데 간결하면서도 직관적인 방법을 보면서 왜 지금까지 저런 것을 생각하지 못했을까 싶었습니다.
하지만 그 속에 깔린 사용자의 생각까지는 읽지 못했습니다. 아마 저런 기능을 처음 만들어낸 친구들은 사용자의 행동이나 심리를 깊숙하게 이해하고 만들었는지 모르겠지만 저는 저런 멋진 기능이 있네! 하고 그냥 가져다 쓴 것이죠.
요즘 나오는 UX를 이야기하는 많은 책들은 사례나 패턴을 이야기합니다. 뭔가 이해하기 쉽고 음 정말 멋지네~ 라는 말이 나오거든요. 하지만 왜 그래야 하는지. 정말 그게 좋은 것인지는 이해하지 못하고 넘어가는 경우가 많습니다.
이 책의 가장 좋은 점은 바로 그렇게 무심코 넘겨왔던 것들을 하나하나 꼼꼼하게 짚어준다는 점입니다.
...모니터와 사용자와의 일반적인 거리를 고려할 때 클릭한 지점으로부터 1~2센티미터 이내에 있지 않은 모든 것들은 해상도가 낮은 주변시에 놓입니다. 만약 클릭 이후에 오류 메시지가 주변시 어딘가에 나타난다면, 사용자가 이를 인식하지 못한다는 것이 놀랄 일도 아니지요...
애플리케이션을 만들 때는 사용자가 모니터에 있는 요소들을 골고루 알아서 잘 쓸것이라 예상할겁니다. 눈에 다 보이는 영역인데 그걸 못찾는다면 사용자가 바보라는 거죠. 하지만 생물학적(?)으로 사물을 받아들이는 방식을 조금이나마 이해하고 있다면 그런 무식한 짓은 하지 않았을겁니다.
...10초 대는 사용자들이 큰 과업을 작은 단위로 나누어 수행할 때 각각의 작은 단위 과업 수행에 소요되는 대략적인 시간입니다. 단위 과업의 예는 다음과 같습니다. 텍스트 편집 애플리케이션에서 편집을 한 번 수행하기, 은행 웹 사이트에서 거래 정보 입력하기, 전투기 공중전에서 한 번의 기동. 소프트웨어 과업은 이같이 10초 간격의 단위 과업으로 나뉠 수 있는 것이 좋습니다. 10초 대는 또한 사용자들이 검색이나 파일 전송 등 "무거운" 작업을 수행하고자 마음 먹었을 때 인내할 수 있는 최대 시간과 얼추 일치합니다. 만약 이러한 작업이 이 시간을 초과하면 사용자들은 인내심을 잃게 됩니다. 이와 유사하게, 여러 단계로 구성된 "마법사" 형식의 대화상자에서 각 단계에서 소요되는 시간이 대략 10초를 넘지 않는 것이 좋습니다. 만약 이보다 오래 걸리는 단계가 있다면 이를 더 작은 단계로 나누는 것이 좋습니다...
"마법사" 형식은 그냥 새 창을 띄워서 사용자가 하는 일을 집중해서 하게 만드는 것이 아니라는 것도 새삼 깨달았습니다. 생각해보면 간혹 쇼핑몰에서 카드로 결제하려고 할 때 새 창에서 뭔가 다른 작업(포인트 조회, 앱 카드 생성, 카드 인증 등등)을 시키려고 하면 짜증 지수가 상승하는 것을 느낄 수 있었거든요. 아마도 그냥 결제는 10초 이내에 설계되었는데 이런 저런 요구사항이 추가되면서 점점 "마법사" 창의 기능이 넘쳐나고 있었던 겁니다.
이 책은 두꺼운 책은 아니지만 상당히 많은 내용을 담고 있습니다. 특히 경험이 많은 개발자라면 공감하는 부분이 많을 겁니다. ^^