개인 공부

HCI - Efficiency

Beige00 2024. 4. 16. 00:59

-> 어떻게 해야 인터페이스를 효율적으로 만들어 UX를 향상시킬 수 있을까?

 

* Chunking

- Chunk : 기억이나 인지의 한 단위. (알고 있는 정보를 묶어서 한 단위로 기억하는 것)

 

* Working memory (RAM과 비슷)

- 의식적인 사고를 하는 영역. 3~5 Chunk 단위로 구성되어있다.

- 최대 10초 정도 유지된다.

- 기억을 오래하려면 반복적으로 Working memory에 올려야한다. (컴퓨터 메모리의 캐싱 작업과 비슷하게 동작)

=> 그러나 반복적으로 Working memory에 올린다는 뜻은 오랜 집중이 필요한 작업이다.(Cost가 높다.)

=> 따라서, 좋은 learnability란 최대한 새로운 기억을 만들지 않아도 되게 기존 기억과 연결을 많이 만들어주는 것이다. (Consistency.)

 

 

* Improve Efficiency of Output

- 정보를 표시하는 인터페이스의 경우에는 chunk 단위로 정보를 제공하는 것이 인간의 기억에 도움을 주기 쉽다.

(Ex : M W B C R A -> MWB / CRA)

 

* Fitt's Law

-> 시간 T와 대상 target size S와 거리 D에 대해 

T = Reaction Time + Movement Time = a + b*log(D/S+1) 으로 정의가능하다.

Reaction Time은 대상의 위치와 자신의 포인터 위치를 확인하고 움직일 결정을 하는 시간이다. (통제가 불가능한 수)

=> target으로 포인터를 옮기는 과정은 closed-loop control이다. (input이 output을 만드는데 그 output이 다시 input에 영향을 주는 구조. 즉 input에 대해 output이 feedback을 준다.)

그 이유는 마우스를 타겟으로 이동할 때마다 타겟에 가까워지는 화면 output을 보고 점점 마우스 이동을 느리게 하는 상호작용을 하기 때문이다.

-> 마우스를 움직이는 과정은 거리 D와 내가 이동함으로써 얻어진 eD를 지속적으로 확인하며  target까지 도달하는 closed-loop control의 반복이다.

 

=> 그렇다면, 화면의 가장자리에 아이콘을 두는게 가장 누르게 편할 것이다. 왜냐하면 그냥 최대한의 속도로 화면 가장자리로 옮긴다면 지속적인 상호작용으로 정확한 자리로 옮길 필요가 없다는 것이다. (따라서 메뉴바는 보통 화면 가장자리에 위치한다.)

 

=> 또한 메뉴를 선택할 때도 Linear popup menu는 정확한 메뉴에 마우스 커서를 위치시키고 자신이 원하는 메뉴를 눌러야한다. 그러나 Pie 메뉴는 방향만 맞으면 옵션을 선택할 수가 있어 더 편할 것이다.

 

*Pointing and Steering

a는 reaction time, b(D/S)는 movement time 이다. Fitt's law에 비해 log 함수 부분이 선형 함수로 바뀐 것을 알 수 있다.(Fitt's law의 경우보다 어렵다.)

이 법칙은 Linear Pop up menu의 경우를 생각하면된다. 메뉴를 고르고, 옆에 표시된 메뉴에서 또 메뉴를 고르고(Steering) 하는 상황이다.

Steering

 

=> Fitt's law, Pointing Steering에서 유도되는 더 효율적으로 개발하기 위해서는 다음의 방법이 있다.

1. 자주 쓰이는 target은 크게 만들고, 근처에 오면 자동으로 정렬되거나 선택되는 자석효과를 제공한다.

2. target들을 한 곳에 모아둔다.

3. 화면의 가장 자리를 사용한다.

4. Steering case를 피한다.

 

* Keyboard Command, Menu accelerator

=> 기능을 바로 사용할 수 있는 단축키(ctrl+c...), 특정 문자로 메뉴를 바로 여는 키를 제공해주는 것(Menu accelerator)를 구현해주는 것이 있다.(특정 문자를 누르면 어떤 메뉴가 펴짐.)

이러한 구현에는 Consistency, Accessibility가 있어야한다. (ctrl+c가 갑자기 붙여넣기면 참 난감하다.)

 

 

* Defaults and Pending Delete

-> 기존 History나 예측을 통해 form을 default로 정해준다. (예를 들어 Word 문서에서 문서의 이름을 저장할 디폴트 네임을 만들어준다.) 그러나 이러한 예측은 잘못될 가능성이 있으니 빠르게 삭제할 수 있게 한방에 지울 수 있는 기능도 넣어줘야한다.(약하게 만들어줘야한다. -> Pre-selected 되어있어 del만 누르면 default 이름이 바로 사라짐)

 

* Histroy

-> 최근 사용했거나 빈번하게 사용하는 기능을 따로 모아 표시해준다. (최근 사용한 파일 등...)

 

* Autocomplete

-> 자동 완성 기능.(오타를 잡아주고 typing의 시간을 줄여준다.)

 

* Aggregation

-> 여러 개를 선택해서 한번에 명령처리를 가능하게 디자인한다. (여러 파일 복사-> 붙여넣기, 여러 파일 ctrl+a로 선택후 ctrl+d로 복사. Aggregation+Keyboard command)

 

* Anticipation

-> 예측을 하여 자주 사용되는 Directory나 File of type 등을 default 값으로 정해둔다. 또한 파일을 선택하면 미리보기를 제공해준다.


* Model Human Processor (MHP)

- 사람을 정보 처리 모델로 간주한다.

- 정보 처리 과정 중 얼마만큼의 시간을 각 프로세스에서 할애하는 지를 설명하는데 사용된다.

 

0. Attention : CPU(Resource) assign time과 비슷하다. 컴퓨터가 Thread control을 하는 것과 같이 유동적이게 각 Processor, Memory에 분배된다.

1. Short-term Sensory Store : 들어온 감각을 짧게 저장해두는 곳이다. (Frame buffer)

2. Perceptual Processor : 복잡한 상호과정 없이 즉각적으로 나오는 반응을 처리한다. (파랗다, 뜨겁다, 밝다.)

(Long - term Memory와 연관되어있다. 반복적인 Perception은 Long-term memory에 저장된다.)

3. Cognitive Processor : Perception 화 된 Sense에 대해 생각을 하며 인식을 처리하는 단계이다

(Working memory에 연관되어있다.)

4. Motor Processor : Cognitive Processor에서 처리되어 나온 결론에 대해 해당 결정을 근육으로 전달하는 Processor이다.

=> 근육에 의해 변화된 환경은 다시 변화된 Input을 제공한다. (Closed-loop control)

이 떄, Perceptual, Cognitive Processor는 기억과 상호작용하여 새로운 input을 처리한다.

 

=> Perceptual Processor에는 [50~200ms], Cognitive Processor 에는 [30-100ms], Motor Processor 에는 [25-170 ms] 정도가 걸린다.

 

 

* Perceptual Fusion

- 따라서 Perceptual Processor가 동작하는 시간보다 짧게 연속적인 Sense가 들어오면 동시에 들어온 것으로 인지될 수 있다. (인과 관계가 형성이 됨.)

 

* Cognitive Processing

- Cognitive Processor가 Perception을 인식하고 결과로 변환하는 과정에서 생각이란게 들어간다. 이 과정은 Perception에 대한 적절한 반응 리스트를 나열하고, 이 중 response로 적절한 것을 고르는 것으로 이루어진다.

=> 이 때, 올바른 response를 고르는 방법에는 Skill-based, Rule-based, Knowledge-based가 있다.

=> Skill-based의 경우에는 Congnitive에 별다른 자원이 소모되지 않는다.(습관임.) Rule-based는 Skill-based가 되기 이전 단계의 작업이다. 중간 자원을 소모한다. Knowledge-based의 경우에는 새로운 자극에 대해 현재까지의 지식 기반의 결정을 내리게 되므로 Cognitive Processing에 소모되는 자원량이 많아진다. (Memory의 활용량 상승)

 

* Open-loop control : 근육의 출력에 따른 input의 변화가 없어 Motor processor의 자원 소모량이 적다.

(한번만 판단되면, Motor Processor만 돌아가면 된다. ex : 손 위 아래로 흔들기)

 

* Closed-loop control : 지속적으로 인식 - 인지 - 반응 의 과정을 돌아야하므로 자원 소모량이 매우 크다.

(계속 모든 Processor가 돌아가야한다. ex : 손 정해진 라인 안에서 위 아래로 흔들기)

 

* Choice Reaction Time : T = c+d*log2 N

=> N 번의 자극에서 closed-loop control이라 계속 response가 달라져야한다면 다음의 Reaction Time을 지니게 된다.

 

* Speed-Accuracy Tradeoff

- 결국, 작업의 처리 속도와 정확도는 Tradeoff 관계가 있다. 

 

* Power Law of Practice

-

- RT : trial completion time, P = trial number(1부터 시작), a,b,c = constant

- 아무리 연습을 많이 해도 -b 의 승수 때문에 Reaction time의 시간이 줄어드는 한계점은 존재한다.

'개인 공부' 카테고리의 다른 글

데이터 과학 - 8. Data Preprocessing Part 2  (0) 2024.04.18
HCI - Safety  (0) 2024.04.16
데이터 과학 - 8. Data Preprocessing(1)  (0) 2024.04.14
HCI - Learnability  (0) 2024.04.10
데이터 과학 - 7. Visualization Theory  (0) 2024.04.10