인컴상 중간고사 대비 메모. lec3~lec12.
3장 visibility
Action/state/feedback
Information Scent-생김새로부터 힌트를 얻을 수 있도록(affordances)
Mode(state)를 연속적으로 visialbe하게.. (키보드의 Cap Lock 불 키는 등)
Aciton에 대한 visible effect(feedback) 있어야 한다.
Low level feedback: 버튼 눌림
High level feedback: 모델의 state가 변하거나 새로운 웹페이지 로딩됨
4장 effeciency
1. human information processing
perceptual processor -> cognitive processor -> motor processor (지각->인지->모터)
cognitive processo: stimuli(자극)을 비교해서 반응을 선택함.
*decision make타입: effeciencied(능숙한) 유저는 skill-based, novice(처음시작하는) 유저는 rule-based, knowledge-based
moter processing: open-loop control(feedback x, 빠름)이랑 closed loop control(feedback o, 조금 느림)이 있음.
*reaction time은 stimulus가 가지고 있는 info의 내용에 따라 달라짐
2. potinting effeciency
fitts's law (피츠 법칙)
목표물의 크기가 작아질수록 속도와 정확도가 나빠지고 목표물과의 거리가 멀어질수록 필요한 시간이 더 길어진다. 함수가 logarithmic(로그) 형태.
steering law (조종 법칙)
터널길이 D가 커질수록 T가 늘어나고, 너비가 커질수록 T가 작아진다. 함수가 linear(선형) 형태. pointing보다 steering이 더 어려움. 정확도는 reaction time에 따라 다양함.
+
practice와 mouse efficiency 개선(자주 쓰이는 아이콘을 크게하거나, 같이 쓰이는 아이콘들의 위치를 가깝게 하거나, steering task를 적게 하는 등) 을 통해 효율을 더 높일 수 있다.
3.design principles
shortcuts
키보드 단축키 등 활용
use default and history
가장 기본인걸쓰고(ok/cancel 순서 바꾸는 등의 새로운 모험x), history 저장해라.(이전에 파일 저장한 위치라든지..)
anticipation(예측)
predictive evaluation(예측 평가)는 engineering model of human cognition(지각->인지->모터)을 이용해서 효율성을 예측한다.
engineering model 의 특징: abstract, quantitative, approximate(어림짐작 할 수 있다.), 유저 경험을 기반으로 측정됨.
predictive evaluation(예측 평가)의 좋은점: 구현없이 비교가 가능해서 ui 프로토타입을 제작할 필요가 없음. 진짜 유저를 기반으로 테스트 안해도 됨. 이론적이라서 문제에 대한 설명+개선 가능 (유저 테스트같은건 문제가 뭔지만 드러나고 explain해주진 않음)
4.predicting efficiency
keystroke-level model(KLM)
전문가 유저가 반복적인 업무를 수행할때 시간이 얼마나 걸리는지 예측함.
KLM에 구성하는 6개의 operator:
K-keystroke(키보드 누르기)(0.28~1.20초)
B-button press/release with mouse(0.1초)
P-point with mouse (몇초걸릴지 fitts's law에 의해 결정)
D-draw line with mouse(steering law에 의해 결정)
H-마우스와 키보드 사이에 손의 움직임(약 0.4초)
M-mentally prepare(어떤 동작을 하려고 결정하기)(1.2초)
KLM의 한계
반복적인 업무를 하는건 전문가뿐임. 오직 efficiency만 고려함. 에러나, parallel action(shift+click 등 동시에 수행해야 되는 작업)이나, 사용자의 멘탈+ 피로도를 고려하지 않음.
CPM-GOMS
parallel operations(동시작업)을 허용하는 모델
[지각->인지->모터] 대신 [지각->인지->(왼손모터(T1),오른손모터(T2),눈모터(T3))] 이런식으로 구성함
동작에 걸리는 시간 계산은 지각T+인지T+ max(T1,T2,T3)
5장 errors and user control
topic: human error/design principles(error prevention, error messages, user control&freedom)/Undo
에러 타입1-slips and lapses
올바른 절차대로 수행하는걸 fail 해서 발생
slip은 execution의 실패, lapse는 meomory의 실패.
숙련된 사용자에게서 주로 발견됨
에러타입2-mistake
틀린 절차를 사용해서 발생(이건 아예 몰라서 틀린거고, slips&lapses는 아는데 오타나 메모리등 사소한 부분에서 삐끗한 느낌..?)
rule-based behavior(초보자)나 problem-solving behavior에게 주로 발견됨
slips의 유형
-caputure: 익숙하게 하던대로 하다가 발생하는에러...예를 들어 엑셀은 ctrl+shift+enter 해야 인식하는데 그냥 평소에 하던대로 enter만 누른다든지.. 편의점가려고 나갔는데 나도 모르게 학교로 향한다든지..
-description: 올바른 작업이긴 했는데 대상 객체가 잘못된 경우... 예를 들어 셔츠를 빨래통에 넣으려다가 실수로 변기에 넣는다든지(..) 닫기 버튼 대신 최대화 버튼 누른다든지 하는 경우
→caputure와 description 피하려면?
º avoid habitual action sequences with identical prefixes
º avoid action with very similar description (표현이 비슷하면 헷갈릴 가능성,,)
º 위험한 command는 자주쓰이는 애와 멀리 배치하기(ex. remove all과 save)
-mode error: 사용자가 시스템의 state를 오해해서 발생
→mode error피하려면?
º eliminate mode (mode 없애기)
º mode의 visibility를 높이기.
º spring-loaded or temporary modes
º disjoint action sets in different modes
Lapses의 유형
-loss of intention(원래 의도를 까먹고 이상한짓 함)
-omissions due to interruption
-omissions due to already-satisfied goal (ex: 카드없이 atm가기)
→lapses피하려면?
º keep procedure short
º minimize interruption
º use forcing function (그 전 업무가 무조건 실행된 뒤에 진행하도록,,)
6장 user centered design
Waterfall model
Low risk project에 좋음.
단점: user are not involved in validation util acceptance testing
Spiral Model
Waterfall+iterative
Requirements와 design space가 unknown이거나 risk있을 때 좋음 (ui develop은 보통 risky)
사전테스트유저 사용 가능. 작은 요구사항부터 차근차근 해결한다. Fidelity 높음
Iterative design
반복모델은 개발 초기에 싸고 나중 가면 ui 리스크가 mitigated(완화)돼서 비싸진다. 여러 후보들을 동시에 테스트하는 parallel design이 feasible(실현가능)함. 많은 반복은 ui가 더 좋아진다는 것을 의미.
User center design
Iterative design. Prototype-driven
User와 task에 early focus (사용자가 누구인지, 그들의 need가 뭔지 분석)
Constant(끊임없는) 평가. 유저는 모든 반복에 연류됨.
*design principle: learnability, visibility, efficiency, error prevention and error handling, user control and freedom
Low fidelity; paper, wizard of oz / Medium-fidelity: html, flash
Expert evaluation / predictive evaluation /empirical evaluation
7장 user centered design
User analysis
유저를 역할과 특성에 따라 분류. Multi-class. 어떤 user class를 대표하는 fictitious character을 person이라고 칭함.
장점: user classes 다루기 편함. Extreme한 경우보다는 typical 유저에게 포커스.
단점: misleading 될 수 있고, 스테리오타입 트랩에 빠질 수 있다. (오른손잡이만 고려하는 등)
Techniques(유저 분석하는 방법들): Questionnaires(설문지)/ interviews / observation
Task analysis
Identify the individual task the program might solve. How가 아닌 what을 생각(goal). (How는sub task로 생각..) Overall(전체적인) goal부터 생각한 다음에 하위 goal로 분해해서 생각하면 편하다.
Example from OMS: goal / preconditions / subtask
Task 분석하는 방법: 유저와 인터뷰 / performing task 하는걸 관찰
Common error: 유저 대신 시스템 관점으로 생각. 기존의 bad ui를 사용. 기존의 good ui를 누락. Concrete task에만 집중해서 essential task 잊을 수 있음.
Domain analysis
Things들을 relations으로 연결. Entities와 relationships
Requirements analysis(시스템 역할)
Contextual inquiry(문맥 조사)
observe user doing real work in the real work environment. Be concrete. Master-apprentice relationship(부모자식).
participatory design(참여설계)
include representative user directly in design team.
8장 generatin design
Design techniques
Sketching : by hand(포토샵 등 x) paper, open, focus, early
Scenarios: story, concrete, realistic(but fictional)
Storyboards: sequence of sketches. First prototype.
Design patterns (common problems에 좋음)
Structural: wizard, center stage
Navigation: breadcrumbls, pagination
Widget:
1-n choice(radion button, drop down menu, toggle, single selection listbox)
1of 2 choice(n checkboxes, multi selection listbox)
k of n choice(tab widget,accordion widget, table of contents)
위젯의 장점: 외적 일관성, 개발 쉬움
위젯의 단점: 디자이너 창의성 제약 가능. Direct manipulation보다 menu/form을 격려. Inappropriately하게 사용될 수도 있음
Simplicity
Reduction-remove inessential elements
Double duty-combine elements for leverage(요소 하나가 여러 기능)
9장 Prototyping
프로토타입-싸고 피드백 빠름. Alternatives(대안)을 가지고 experiment. 바꾸거나 throw away 쉬움
Fidelity는 multidimensional: Breadth(horizontal, feature) / Depth(기능) / Look /Feel (입력방식)
Paper prototypes: look과 feel에 low fidelity. Depth에 high fidelity.
테스트 방법:
컴퓨터- simulates prototype. 컴퓨터가 주지않는 피드백은 주지 않기.
Facilitator- 유저에게 iterface와 task줌. Think aloud 하도록 유저들 응원.
Observer- 조용히 메모하기.
computer prototypes: look, feel에 high fidelity. Depth에 low fidelity. (breadth-horizontal), 툴 사용
techniques: storyboard / form builder / wizard of oz(paper+pc느낌?)
*프로토타입음 언제 thorow away 될지 모르므로 don’t get attached(집착 금지)
10장 user testing
user test 의 종류-formative evaluation / field study /controlled experiment
Formative evaluation
다음 iteration을 위해 문제 찾는다. 프로토타입을 lab에서, chosen task를 평가. Qualitative observation.
어떤 user class를 대표하는 유저를 찾고, 그들에게 task 주고, 관찰.
User: think aloud(큰 그림 보기). 단 think aloud하려면 어른이어야 하고, 자칫하단 집중이 흐트러 질 수 있다는 문제가 있다.
Facilitator: task를 줌. 브리핑. 질문을 통해 유저가 think aloud하게 유도. observer들의 방해를 막고 session을 컨트롤한다.
Observer: 조용히 있기. 메모하기.
Field study
context에서 문제를 찾음. Real context에서 real task를 평가. Qualitative observations.
Controlled experiment (11장에서 자세히..)
가설을 테스트. Controlled lab에서 chosen task를 평가. Quantitative observation(time,error rate, satisfaction)
Ethics of user test
모든 federally-funded institution은 IRB가 있다. 유저테스트는 IRB의 윤리법칙 따라야 함.
11장 controlled experiment
HCI research methods
Lab experiment(precision)
Field study(realism)
Survey(generalizability)
Experiment design(실험 설계)
Controlled experiment manipulate independent variables and measure dependent variables.
Controlled experiment는 hypothesis accept/reject 여부 결정하기 위해 statistical test 이용
Threats to validity
Internal validity(설정 안한 변수가 결과에 영향caused 미치는지?), external validity(일반화 generalized 할 수 있는지?), reliability(반복repeating해도 같은 결과인지?)를 이런것들을 고려하고 경계해야함.
Internal validity를 위해.. ordering effect / selection effects(모르는애들끼리 그룹 구성. 변수 무작위 배부) / experimenter bias(서류상의 훈련과 브리핑 제공. Double blind experiment)
External validity를 위해… population(실제 인구들에서 샘플 가져옴) / ecological(환경) /training / task
Reliability를 위해.. 많은 반복, eliminate uncontrolled variation
Randomization, blocking, counterbalancing
이 기술들이 Controlled experiment에 도움이 된다.
Counterbalancing: 반복해서 디자인 테스트할 때 order effect 다루기 위해.. (ex. Latin square design)
Between subject: 한 그룹엔 x를, 다른 그룹은 y 테스트
Within subject: 각 유저들이 x, y 둘 다 테스트
Triangulation: 같은 research를 여러 researcher가 여러 방법으로 실험->higher confidence
12장 experiment analysis
Statistical testing(가설 검정)
Experimental data를 가지고 compute
P value <0.05면 significantly difference 있다고 본다.
Alternative hypothesis: 2개 요소를 비교할 때 쓰는 가설(ex 뭐가 더 빠른가?)
Null hypothesis: ~와 차이가 없다. 로 결론나는 가설. (틀렸음을 입증하는 건 불가능). Least extreme
T-test: 두 집단간의 차이 비교(two means). Between subject. Randomomized.
Two-sided: == or <>(!=)
One-side: == or > (어느하나가 더 큼)
Paired t test: 두 집단간의 차이 비교. within subject. Randomomized.
ANOVA: 다수의 집단 비교 (3 or more means)
One way anova: k레벨의 1 independent variable
Two-way anova: j, k 레벨의 2 independent variables. 각 variable는 independently effect
Tukey HSD Test: anova에서 구체적으로 어느정도 차이나는지 파악 위해 사용
Multiple comparison problem: 실험 조건의 평균을 대상으로 여러 번 비교 수행
'개발 관련 공부' 카테고리의 다른 글
e-test 후기. 처음부터 끝까지 (0) | 2020.11.21 |
---|
댓글