본문 바로가기

ETC/book

[책] 인간과 컴퓨터 상호작용 HCI : Human Computer Interaction


인간과 컴퓨터 상호작용
HCI : Human Computer Interaction



▪ HCI 정의

Human : 프로그램의 최종 사용자
Computer : 프로그램이 실행되는 기게
Interaction : 사용자가 컴퓨터에게 무엇을 원하는 지 말하고 컴퓨터가 결과를 보여주는 것


▪ HCI 접근법
1.Task
2.Human
3.Technology
1+2+3 -> Design


▪ User Interface
컴퓨터와 상호작용하거나 작업을 수행하기 위해 사용자에게 허락된 응용프로그램의 일부분

User vs. Customer vs. Client
- user is a term only used by 2 industries -> bad!
- customer ?person who will use the product you build
- client ? the person/company who is paying you to build it

HCI = design, prototyping, evaluation, & implementation of UIs


▪ 누가 UI 를 만드는가? (Who builds UI)
- A team of specialists (ideally)
- graphic designers
- interaction / interface designers
- information architects
- technical writers
- marketers
- test engineers
- usability engineers
- software engineers
- users


▪ 어떻게 UI 를 설계하고 만드는가? (How to Design and Build UIs)
- UI Development process
- Usability goals
- User-centered design
- Task analysis & contextual inquiry
- Rapid prototyping
- Evaluation
- Programming


▪ 반복 과정 (Iteration)
Design -> Prototype -> Evaluation -> Design -> Proto...


▪ 사용자-중심 설계 (User-centered Design)
“Know the User”
developers working with target users
think of the world in users terms
understanding work process
not technology-centered/feature driven


▪ 작업 분석 (TA : Task Analysis)
기존의 작업과정을 관찰
실사용 예를 시나리오로 만듦
새로운 아이디어를 제안


▪ TA 을 위한 질문들
누가 사용하는가 : Who is going to use the system?
현재 어떤 작업을 하는가 : What tasks do they now perform?
어떤 작업을 원하는가 : What tasks are desired?
어떻게 학습하는가 : How are the tasks learned?
어디서 작업을 하는가 : Where are the tasks performed?
유저와 데이터간에 어떤 관계가 있는가 : What’s the relationship between user & data?
어떤 다른 도구가 있는가 : What other tools does the user have?
유저들간에는 어떻게 대화하는가 : How do users communicate with each other?
얼마나 자주 작업 하는가 : How often are the tasks performed?
시간의 제약은 무엇인가 : What are the time constraints on the tasks?
잘못 됬을 경우 어떤 일이 일어나는가 : What happens when things go wrong?


▪ TA 를 위해 그들과 대화를 시도하라 (Talk to Them)
실제 사용자를 찾고 Talk to them
그들이 무엇을 하는지 알아내고
당신의 시스템을 어떻게 fit 할 수 있을지 고민하라.
그들이 바쁘다면? buy their time
경품을 제공하라. t-shirts, coffee mugs, etc.


▪ 시제품 프로토타입 (RP : Rapid Prototyping)
테스트를 위한 목업(mock-up) 제작

Low fidelity techniques
- paper sketches
- cut, copy, paste

Interactive prototyping tools
- HTML, Visual Basic, HyperCard, Director, Flash, DENIM, etc.

UI builders
- Visual Studio .NET, JBuilder


▪ 왜 LF : Low-fidelity 프로토 타입을 하는가?
정통적인 방법은 너무 오래 걸린다.
sketches -> prototype -> evaluate -> iterate

Low-fidelity 는 prototype 과정을 생략할 수 있다.
sketches -> evaluate -> iterate

스케치가 프로토타입 처럼 사용됨


LF 의 장점
시간이 적게듬
비싼 장비가 필요 없음
다양한 대안들을 테스트 해 볼 수 있음
반복 과정을 빠르게 시도 할 수 있음
거의 모든 상호작용을 속일 수 있음


평가 (Evaluation)
실사용자들에게 테스트
GOMS : Goal Operator Module System
길거리 테스트
온라인 테스트
FGI : Focus Group Interview


발견적 평가 (HE: Heuristic Evaluation)
제이콥 넬슨 Jakob Nielsen 에 의해 개발됨
UI 디자인에 있어서 사용성(usability) 문제를 찾는 것을 도와줌
모든 평가자가 모든 문제를 찾을 수 있는 것은 아니다.
좋은 평가자가 어려운 문제, 쉬운 문제 둘다를 찾아낸다.

H1-1: Simple & natural dialog
H1-2: Speak the users’ language
H1-3: Minimize users’ memory load
H1-4: Consistency
H1-5: Feedback
H1-6: Clearly marked exits
H1-7: Shortcuts
H1-8: Precise & constructive error messages
H1-9: Prevent errors
H1-10: Help and documentation

H2-1: Visibility of system status
H2-2: Match between system & real world


휴리스틱 평가의 딘계 (Phases of Heuristic Evaluation)
1) Pre-evaluation training
평가자가 필요로 하는 시나리오상의 지식과 정보를 주는 단계

2) Evaluation
개별적 평가와 결과 수집

3) Severity rating
각 문제점들이 얼마나 심각한지를 결정
개별적으로 결정 한 후 그룹핑

4) Debriefing
디자인팀과 결과를 토론


Mobile Contents 가 갖춰야할 4가지 성격
- Commuicability
- Instant Connectivity
- Localization
- Personalization


모바일 멀티미디어의 한계점
Bandwidth: Slow data communication speed
Smaller screen size
Error prone environment: Wireless, unstable, outside
Limited battery, CPU speed, speaker quality
Restricted Input method
Button, Touch screen with pen-based interface, soft keyboard, etc.