Designing Interfaces: 인터페이스 디자인 94가지 패턴 - 01. 사용자들은 무엇을 하는가
인터페이스 디자인에 앞서
좋은 인터페이스 디자인은 사람들을 이해하는 것에서부터 시작한다. 어떤 경우든지 간에, 사용자 인터페이스는 사용자들이 얻고자 하는 바를 성취하도록 도와주면서 사람과 기계와의 대화를 중간에서 전달하는 역할을 한다. 따라서 사람의 심리를 이해해야만 한다.
- 사용자들의 동기와 의도는 무엇인가?
- 사용자들이 쓰고 하는 단어, 아이콘, 제스처의 '어휘(vocabulary)'는 무엇인가?
- 어떻게 애플리케이션이 사용자들의 기대를 적절히 채울 수 있는가?
- 사용자들과 기계는 서로가 목적한 의사소통을 어떻게 끝내는가?
툴, 소프트웨어 사용의 목적
- 정보나 주제를 찾기 위해서
- 무엇인가를 배우기 위해서
- 업무 처리를 수행하기 위해서
- 어떤 것을 컨트롤하거나 모니터링하기 위해서
- 무엇인가를 만들어내기 위해서
- 다른 사람들과 대화하기 위해서
- 즐기기 위해서
사용자 조사의 기본
인터페이스 디자인 첫 번째 단계는 사용자들이 정말로 성취하기 위해 노력하는 것이 무엇인지를 이해하는 것이다. 사용자와 클라이언트는 그들의 니즈와 문제에 대해 말하기보다 기능과 솔루션을 이야기한다. 따라서 그 기능의 직접적인 목표는 무엇인지, 그 목표를 이루고자 하는 이유는 무엇인지 물어보아야 한다. 요구사항의 맥락을 이해하기 위해 '왜?'라고 계속 질문해야 한다.
- 왜 이메일 클라이언트를 사용하는 것일까? 다른 방법으로는 하지 못하는 이메일만의 니즈는 무엇인가?
- 여행사 사이트를 방문한 목적은 무엇인가? 비행기 티켓은 다른 곳에서도 살 수 있는데, 왜 이 사이트를 선택했는가?
- 휴대폰 사용자들이 전화번호 목록을 왜 빨리 찾고싶어하는가? 운전중이라면 빨리 찾기보다 전화를 볼 필요 없게 만드는 것이 더 좋은 것 아닐까?
디자인을 잘 하기 위해서는 사용자들의 본능적인 반응, 레퍼런스, 사회적 정황, 신념, 가치와 같이 '부드러운 요인(softer factors)'을 고려할 필요가 있다. 이 가운데서 애플리케이션을 더욱 호소력 있고 성공적으로 만드는 결정적인 특징이나 디자인 요소를 찾을 수 있다.
경험적 발견이 사용자에 대한 정보를 얻는 유일한 방법이다. '부드러운 요인(softer factors)'을 포함해서 사람들의 특성을 기술하는 것이다. 사용자에 대한 일반적인 진실이 무엇인가를 이해하는 것이 사용자 조사의 핵심이며, 일반적인 행동 패턴으로부터 벗어난 것들을 제거하기 위해 개개인의 사용자에 대해서 충분히 배운다는 것을 의미한다.
- 소프트웨어를 쓰는 사용자들의 목표
- 목표를 추구하기 위해 사용자들이 수행하는 특정 태스크
- 사용자가 자신이 하고 있는 행동을 나타내기 위해 쓰는 언어와 단어들
- 유사한 소프트웨어를 쓰는 데 있어서 사용자들의 숙련도
- 디자인에 대한 사용자들의 태도와 이와 같은 태도에 영향을 미칠 수 있는 또 다른 디자인
사용자 관찰에서 자주 보여지는 행동 패턴
1. 안전한 탐색(safe exploration)
사람들은 곤란한 상황에 빠지지 않고 인터페이스를 둘러볼 수 있다고 느끼게 되면, 그렇지 못한 사람보다 그 인터페이스에 대해 더 잘 배울 수 있으며 긍정적으로 생각하게 된다. 사용자들이 노력을 하거나, 또는 노력을 하지 않고도, 그 인터페이스를 실험해 볼 탐색 경로가 가능하도록 만들어야 한다.
ex) 실행 취소(Undo), 뒤로가기(Back)
2. 즉각적인 만족(instant gratification)
사람들은 자신이 실행한 것에 대해 바로 결과를 알고 싶어한다. 애플리케이션 사용 시작 처음 몇 초 내에 '성공적인 경험'을 할 수 있다면, 만족스러운 경험이 된다.
ex) 사용자가 목표가 무엇인가를 창조하는 것이라면, 새 캔버스를 보여주고 그 옆에는 팔레트를 놓아둔다.
3. 최소한의 충족(satisficing)
사람들은 '가장 좋은 것(best)' 대신에 '충분히 좋은 것(good enough)'를 받아들이는 경향이 있다. 사람들은 그들이 해야만 하는 것 그 이상으로 생각하기를 원치 않는다.
ex) 사람들이 한 번 훑어보고 한 눈에 의미를 알아볼 수 있는 라벨을 사용한다.
4. 흐름 변화(changes in midstream)
사람들은 때떄로 무엇을 하던 중에 또 다른 일을 하게 된다. 사람들이 자신의 목표를 바꿀 수 있는 기회를 제공해야 한다. 선택을 가능하게 만들어야 한다.
ex) 글로벌 내비게이션, 재진입 시 이전에 입력된 값을 기억하는 다이얼로그 박스
5. 선택 미루기(deferred choices)
즉각적인 만족을 추구하는 사람들의 바람으로부터 기인한 것으로, 무엇인가를 완료하려는 단계에서 불필요해 보이는 질문이 있다면, 대개는 그 질문을 건너뛰고 나중에 대답하려 하는 경향이 있다.
eX) 새로운 프로젝트 생성 시 이름을 나중에 설정하도록 하는 것, 이미 필드에 채워져 있는 디폴트 텍스트
6. 구조 늘리기(incremental construction)
무엇인가를 만들어낼 때 사람들은 대부분 한 번에 만들어내지 않는다. 빌더 스타일 인터페이스에서는 이러한 작업 방식을 지원해 주어야 한다. 작업을 잘게 세분화하여 쉽게 만들고, 빠른 변경과 저장이 가능하도록 해야 한다.
ex) 창작에 전적으로 몰두할 수 있도록 플로우가 유지되도록 하는 것
7. 습관화(habituation)
사람들이 인터페이스를 되풀이해서 사용할 때 빈번하게 쓰이는 물리적인 액션은 반사적으로 행해진다. Ctrl+S 또는 Crtl+Z와 같이 습관화라는 경향은 사람들이 흐름에 쉽게 몰입할 수 있도록 도와주고 능률을 높이기 때문에, 애플리케이션 내에서 일관성이 제일 중요하다.
8. 공간 기억(spatial memory)
사람들은 오브젝트나 도큐먼트를 찾을 때 이름을 생각하는 게 아니라 어디에 두었는지 위치를 떠올린다. 대부분의 애플리케이션이 사용자들이 예측할 수 있는 장소에 확인, 취소와 같은 버튼을 두고 있다.
9. 미래 예측 기억(prospective memory)
사람들은 앞으로 할 일을 계획하고 스스로에게 이를 상기시키기 위한 방법을 마련한다.
ex) 스크린 위에 윈도우 띄워놓기, 브라우저에 웹 사이트 북마크하기, 폴더가 아닌 바탕화면에 문서 저장하기
10. 능률적인 반복(streamlined repetition)
사용자들이 종종 애플리케이션에서 동일한 동작을 계속해서 반복하는데, 이를 간소화할수록 좋다.
ex) 워드의 찾기(Find)와 대체(Replace), 모두 대체(Replace All), 포토샵의 액션(actions)
11. 키보드만 사용하기(keyboard only)
마우스와 키보드를 계속 바꾸어가며 사용하는 것이 시간과 노력이 더 드는 사용자가 있다. 몇몇 애플리케이션은 전체가 키보드를 통해 동작할 수 있도록 만들어지기도 한다.
12. 다른 이들의 충고(other people's advice)
인간은 사회적 동물이기에, 스스로의 의견만큼이나 자신과 대등한 사람들의 생각에 많은 영향을 받는다. 사용자들의 상품평은 선택과 결정에 영향을 미친다.
ex) 창작물 공개 커뮤니티, 검색 페이지의 랭킹