Keystroke-level model (KLM)이란?

2012. 12. 20. 07:30UI 가벼운 이야기
이 재용

Keystroke-level Model (KLM 혹은 KLM-GOMS, 타자 수준 모형)이란 Human Computer Interaction에서 키보드와 마우스를 조작하는 단위 요소들의 소요 시간을 미리 측정해 두었다가, 전체 시간을 측정해야하는 동작이 있을 때, 이미 알려진 값들을 합산하여 계산할 수 있게 만든 접근법이다. 예를 들어 키보드 하나를 누르는 데 걸리는 시간은 200ms, 마우스 버튼을 누르는데 걸리는 시간은 100 ms, 키보드에서 마우스로 이동하는데 걸리는 시간은 400 ms 등으로 평균적인 인간의 소요 시간을 측정해 둔 테이블을 준비해 둔 뒤, "apple 타이핑 후 마우스 클릭하는데 걸리는 시간"은 5*200+400+100=1.5초 라는 식으로 계산하는 방법을 말한다(설명을 위해 간단히 말한 것이며 정식 계산은 아래 참조)

이 방법은 Card 등에 의해 개발된 GOMS라는 방법에 기초하여 David Kieras가 1993년에 발표한 것으로 KLM-GOMS라고도 불린다. 다른 GOMS의 방법들에 비해 이해가 쉽고 적용하기가 간단하여 많이 사용되는 방법이다.

그가 제시한 계산에 사용되는 요소 행동 몇 가지만 보면,

K: 키보드의 키를 눌렀다가 떼는 행동. 상황에 따라 다른 값을 갖는데, 익숙한 단어 내의 키는 0.2초(200ms) 정도, 랜덤한 키는 0.5초(500ms) 정도로 볼 수 있다(보통의 타자 속도를 가진 사람의 경우. 자세한 건 영문 위키 참조)
P: 마우스를 특정 위치에 가져가는 것 1.10초
B: 마우스 버튼을 누르는 것, 혹은 떼는 것 0.10초
H: 마우스에서 키보드로, 혹은 키보드에서 마우스로 손(Hand)을 이동 0.4초
M: 정신적인 준비(Mental preparation) 1.20 초
W(t): 시스템이 반응할 때까지 대기하는 시간

등이다.

예를 들어 위에서 간단하게 설명한 것을 정식으로 풀어보자면,

"apple 타이핑 후 마우스 클릭하는데 걸리는 시간"을 계산하라

-우선 모든 행동의 시작에는 정신적인 준비 시간 M이 필요하다.
-그 다음 model 타이핑을 해야하는데, 이 경우 랜덤한 키가 아니고, 익숙한 단어의 일련의 타자 행위이므로 (KLM에서는 -숙련 사용자를 가정한다) K1 = 200 ms 가 각 글자당 필요하다.
-이 때 시스템은 매우 빠르게 반응하여, 사용자가 입력 후 그 입력을 기다릴 필요(즉 W)는 없다고 가정한다.
-하지만 마우스를 클릭해야한다는 사실은 "생각"해야 한다. M
-그 다음은 손을 키보드에서 마우스로 옮겨야 하므로 H가 필요하고,
-그 다음은 마우스를 이동할 필요가 없다고 가정하고(만약 필요하다면 간단하게 P=1.1초를 사용하거나 정식으로 Fitt's Law 사용하여 계산),
-마지막으로 마우스를 클릭하는 시간까지만(릴리즈 시간은 무시하고) 계산한다면 B가 필요하다.

M+K1+K1+K1+K1+K1+M+H+B = 1.2 + 5 * 0.2 + 1.2 + 0.4 + 0.1 = 3.9 초

물론 구체적인 태스크에 따라서, 타이핑 후 마우스 클릭이 거의 '자동'으로 이루어진다면, 두 번째 M은 필요하지 않을 수도 있다.

이 방법을 사용하면, 새로 설계한 인터페이스에서 특정 태스크를 수행할 때 얼마나 시간이 걸릴지 미리 예측할 수도 있고, 두 개의 서로 다른 UI가 있을 때 어떤 것이 더 빨리 수행할 수 있을지를 평가할 수도 있다.

물론, UI 에서 몇 ms 줄이는 것이 더 이상 중요하지 않은 경우가 대부분이고, 빨리 효율적이게 하기 보다는 더 좋은 경험(UX)을 갖게 하는 것이 중요하기는 하지만, 콜센터처럼 숙련된 수만 명의 사람들이 반복하여 하루 종일 사용하는 인터페이스를 만든다면 UI에서 몇 초를 줄였을 떄 전체적으로 엄청난 경비 절감으로 이어질 수도 있기 때문에 UI를 하는 사람들이 소홀히 할 수는 없는 내용이다.

참고: Wikipedia: Keystroke-level Model 
참고: 심리학 사전: 타자 수준 모형

[참고##UI법칙##]