Skip to main content Link Menu Expand (external link) Document Search Copy Copied

제 5 강 - 인터랙션과 인터페이스 설계

사전 질문

1. 눈에 잘 들어오고 소통에 어려움이 없는 UI는 어떤 특징들이 있을까요?

좋은 UI의 특징:

  • 직관적인 디자인: 기능이 무엇인지 바로 알 수 있음
  • 명확한 시각적 계층 구조
  • 일관된 디자인 패턴 사용
  • 적절한 피드백 제공

사용하기 어려운 UI의 문제점:

  • 깊은 뎁스(depth)로 인한 복잡한 탐색 구조
  • 기능 유추가 어려운 모호한 아이콘이나 레이블
  • 비일관적인 인터랙션 패턴
  • 불충분한 피드백

2. 정보를 입력하고 싶은 UI vs 그렇지 않은 UI

입력을 꺼리게 만드는 요소:

  • 과도한 필수 항목 요구
  • 작성 완료 후에야 알려주는 오류 처리
  • 불명확한 입력 목적
  • 즉각적인 피드백 부재

입력을 유도하는 요소:

  • 명확한 목적과 필요성 제시
  • 실시간 유효성 검증
  • 즉각적인 시각적 피드백
  • 단계별 진행 상황 표시

인터랙션과 인터페이스 설계

인터랙션(Interaction)

인터랙션은 사용자와 시스템 간의 상호작용을 의미합니다. 좋은 인터랙션 디자인은 사용자의 행동에 즉각적이고 명확한 반응을 제공하여 자연스러운 사용 경험을 만듭니다.

Microinteraction

마이크로인터랙션은 단일 작업을 수행하는 작고 구체적인 인터랙션입니다. 예를 들어 좋아요 버튼 클릭, 알림 토글, 새로고침 등이 있습니다.

Microinteraction의 4단계 구조
  1. 트리거(Trigger)
    • 마이크로인터랙션을 시작하는 요소
    • 사용자 주도형: 버튼 클릭, 스와이프 등
    • 시스템 주도형: 알림, 자동 업데이트 등
  2. 규칙(Rules)
    • 트리거 발생 후 어떤 일이 일어나는지 정의
    • 시스템이 따라야 할 논리와 조건
    • 예: 비밀번호는 8자 이상이어야 함
  3. 피드백(Feedback)
    • 사용자에게 무슨 일이 일어났는지 알려줌
    • 시각적, 청각적, 촉각적 피드백 포함
    • 예: 버튼 색상 변화, 애니메이션, 진동
  4. 루프와 모드(Loops & Modes)
    • 루프: 마이크로인터랙션의 지속 시간과 반복
    • 모드: 마이크로인터랙션의 상태 변화
    • 예: 음악 반복 재생, 다크 모드 전환
Microinteraction의 설계 원칙
  1. 목적성: 각 마이크로인터랙션은 명확한 목적이 있어야 함
  2. 단순함: 복잡하지 않고 직관적이어야 함
  3. 일관성: 전체 시스템 내에서 일관된 패턴 유지
  4. 즉각성: 사용자 행동에 대한 즉각적인 피드백 제공
  5. 미세함: 과하지 않고 자연스러운 반응
  6. 맥락성: 사용자의 현재 상황과 맥락에 적합해야 함

Form Design

폼 디자인은 사용자로부터 정보를 수집하는 인터페이스 요소입니다. 잘 디자인된 폼은 완성률을 높이고 사용자 경험을 개선합니다.

Single Column Layout

장점:

  • 자연스러운 시선 흐름 (위에서 아래로)
  • 모바일 최적화에 유리
  • 인지 부하 감소
  • 더 높은 완성률

적용 시기:

  • 대부분의 일반적인 폼
  • 모바일 우선 디자인
  • 복잡하지 않은 정보 수집

예외:

  • 관련성이 높은 짧은 필드들 (예: 이름의 성/이름)
  • 날짜 입력 (년/월/일)
논리적 그룹핑

정보를 관련성에 따라 논리적으로 그룹화하여 사용자의 이해를 돕습니다.

그룹핑 전략:

  • 주제별 그룹화: 개인정보, 배송정보, 결제정보 등
  • 시각적 분리: 여백, 구분선, 카드 형태 사용
  • 명확한 제목: 각 그룹에 설명적인 헤딩 추가
  • 순차적 흐름: 논리적 순서로 배치

효과:

  • 정보 처리 효율성 증가
  • 폼 완성에 대한 심리적 부담 감소
  • 오류 발생 가능성 감소
Multi-Step Forms

복잡한 폼을 여러 단계로 나누어 제시하는 방식입니다.

사용해야 할 때:

  • 입력 필드가 10개 이상일 때
  • 서로 다른 주제의 정보를 수집할 때
  • 조건부 질문이 많을 때
  • 사용자가 압도감을 느낄 수 있을 때

설계 원칙:

  • 각 단계는 하나의 주제에 집중
  • 단계 수는 5-7개 이내가 이상적
  • 이전 단계로 돌아갈 수 있어야 함
  • 입력한 정보는 보존되어야 함

장점:

  • 인지 부하 감소
  • 더 높은 시작률
  • 단계별 목표 설정으로 동기부여
  • 중간 저장 가능
Progress Indicator

사용자가 전체 과정에서 어디에 있는지 보여주는 시각적 요소입니다.

유형:

  1. 단계 표시기: 1/5, Step 2 of 5
  2. 진행률 바: 0% → 100%
  3. 체크리스트: 완료된 항목 표시
  4. 번호가 있는 단계: 각 단계를 명확히 표시

설계 가이드:

  • 현재 위치를 명확히 표시
  • 완료한 단계와 남은 단계 구분
  • 전체 소요 시간 예상 제공 고려
  • 항상 보이는 위치에 배치
Radio Button vs Dropdown vs Toggle

Radio Button (라디오 버튼)

  • 사용 시기: 2-5개의 선택지
  • 장점: 모든 옵션이 보임, 빠른 선택
  • 예: 성별 선택, 배송 방법 선택

Dropdown (드롭다운)

  • 사용 시기: 6개 이상의 선택지
  • 장점: 공간 절약
  • 단점: 옵션 확인 위해 클릭 필요
  • 예: 국가 선택, 직업 선택

Toggle (토글)

  • 사용 시기: On/Off 이진 선택
  • 장점: 현재 상태 명확, 즉각적 변경
  • 예: 알림 설정, 자동 재생

선택 가이드:

2-5개 선택지 → Radio Button
6개 이상 → Dropdown
On/Off 전환 → Toggle
다중 선택 가능 → Checkbox
Labels & Placeholders

Label (레이블)

  • 입력 필드 위 또는 왼쪽에 배치
  • 항상 표시되어야 함
  • 명확하고 간결한 설명
  • 필수 여부 표시 (*)

Placeholder (플레이스홀더)

  • 입력 예시나 추가 힌트 제공
  • 레이블을 대체하면 안 됨
  • 입력 시 사라지므로 중요 정보 배치 금지
  • 예: “예: hong@example.com”

올바른 사용:

Label: 이메일 주소 *
Placeholder: your-email@example.com

❌ 잘못된 사용:
Placeholder만 있고 Label 없음
Validation & Error Handling

실시간 검증(Inline Validation)

  • 입력 중 또는 필드를 벗어날 때 즉시 검증
  • 긍정적 피드백도 제공 (체크 아이콘 등)
  • 사용자가 수정하기 전까지 기다림

오류 메시지 원칙:

  1. 명확성: 무엇이 잘못됐는지 구체적으로 설명
    • ❌ “오류 발생”
    • ✅ “비밀번호는 8자 이상이어야 합니다”
  2. 건설적: 어떻게 해결할지 안내
    • ✅ “올바른 이메일 형식을 입력해주세요 (예: name@example.com)”
  3. 시각적 표시: 색상, 아이콘으로 오류 위치 표시
    • 빨간색 테두리
    • 경고 아이콘
    • 오류 메시지는 해당 필드 바로 아래
  4. 긍정적 톤: 비난하지 않는 표현
    • ❌ “잘못 입력하셨습니다”
    • ✅ “다시 확인해주세요”

검증 타이밍:

  • 필수 필드: 제출 시 또는 필드 이탈 시
  • 형식 검증: 입력 완료 시 (실시간)
  • 중복 확인: 서버 검증 필요 시

UI Animation

UI 애니메이션은 단순한 장식이 아니라 사용자 경험을 향상시키는 기능적 요소입니다.

UI Animation 설계의 12가지 이유

  1. 피드백 제공: 사용자 행동이 시스템에 인식됐음을 알림
  2. 시스템 상태 표시: 로딩, 처리 중 등의 상태 전달
  3. 주의 유도: 중요한 요소나 변화에 시선 집중
  4. 관계성 표현: 요소 간의 연결과 계층 구조 설명
  5. 연속성 제공: 화면 전환 시 맥락 유지
  6. 공간 인식: 요소가 어디서 왔고 어디로 가는지 표현
  7. 기능 안내: 인터랙션 방법 시각적으로 암시
  8. 진행 상황 표시: 작업이 진행 중임을 알림
  9. 즐거움 제공: 브랜드 개성과 유쾌한 경험 전달
  10. 인지 부하 감소: 부드러운 전환으로 정보 처리 용이
  11. 오류 완화: 실수에 대한 부드러운 피드백
  12. 시간 인식 조정: 대기 시간을 덜 지루하게 만듦

애니메이션 설계의 핵심 원칙

1. Duration (지속 시간)

  • 짧은 애니메이션: 200-300ms (작은 변화)
  • 중간 애니메이션: 300-500ms (일반적인 전환)
  • 긴 애니메이션: 500ms 이상 (복잡한 이동)
  • 너무 빠르면: 인식 불가
  • 너무 느리면: 답답함

2. Easing (이징)

  • Ease-in: 천천히 시작, 점점 빨라짐 (요소가 화면 밖으로 나갈 때)
  • Ease-out: 빠르게 시작, 천천히 끝남 (요소가 화면에 들어올 때) - 가장 자주 사용
  • Ease-in-out: 천천히 시작, 천천히 끝남 (화면 내 이동)
  • Linear: 일정한 속도 (거의 사용하지 않음)

3. 자연스러움

  • 물리 법칙 반영 (중력, 관성, 마찰)
  • 현실 세계의 움직임 모방
  • 과장되거나 인위적이지 않게

4. 목적성

  • 모든 애니메이션은 명확한 이유가 있어야 함
  • 장식만을 위한 애니메이션 지양
  • 사용성을 해치지 않아야 함

5. 일관성

  • 유사한 요소는 유사하게 움직임
  • 전체 제품에서 일관된 패턴 유지

6. 성능

  • 60fps 유지
  • 부드러운 렌더링
  • 배터리 소모 최소화

Animation Type

1. Loading Animations

  • 스피너, 스켈레톤 스크린, 프로그레스 바
  • 목적: 대기 시간 인식 개선
  • 원칙: 예상 시간 제공, 지루하지 않게

2. Transition Animations

  • 페이드, 슬라이드, 스케일
  • 목적: 화면 전환 시 맥락 유지
  • 원칙: 방향성 일관성, 빠른 전환

3. Feedback Animations

  • 버튼 press, 하트 좋아요, 체크 표시
  • 목적: 사용자 행동에 대한 즉각적 반응
  • 원칙: 즉각적, 명확함

4. Attention Animations

  • 펄스, 바운스, 쉐이크
  • 목적: 특정 요소로 시선 유도
  • 원칙: 절제된 사용, 방해되지 않게

5. System Status Animations

  • 업로드 진행, 다운로드 완료, 오류 발생
  • 목적: 현재 상태 명확히 전달
  • 원칙: 정보 제공적, 직관적

6. Onboarding Animations

  • 튜토리얼, 기능 소개
  • 목적: 사용법 안내
  • 원칙: 건너뛰기 가능, 간결함

인터페이스 설계 원칙

Whitespace (여백)

여백은 단순히 빈 공간이 아니라 디자인의 핵심 요소입니다.

Whitespace의 역할:

  • 가독성 향상: 텍스트와 요소 간 숨통 제공
  • 시각적 계층: 관련 요소 그룹화, 비관련 요소 분리
  • 집중 유도: 중요한 요소 강조
  • 고급스러움: 여유와 품질 전달

유형:

  1. Micro Whitespace: 요소 내부 여백 (패딩, 행간, 자간)
  2. Macro Whitespace: 요소 간 여백 (마진, 섹션 구분)

적용 원칙:

  • 관련된 요소는 가까이, 비관련 요소는 멀리 (Proximity)
  • 일관된 간격 시스템 사용 (예: 8px 기준)
  • 모바일에서는 충분한 터치 영역 확보 (최소 44x44px)
  • 중요한 CTA(Call-to-Action) 주변에 충분한 여백

일반적인 간격 시스템:

Extra Small: 4px
Small: 8px
Medium: 16px
Large: 24px
Extra Large: 32px, 48px, 64px

Contrast (대비)

대비는 요소를 구분하고 중요도를 전달하는 핵심 원칙입니다.

대비의 유형:

  1. 색상 대비
    • 전경색과 배경색 간 충분한 차이
    • WCAG 기준: 일반 텍스트 4.5:1, 큰 텍스트 3:1
    • 색맹 사용자 고려
  2. 크기 대비
    • 제목과 본문의 명확한 크기 차이
    • 주요 CTA를 더 크게
    • 시각적 계층 구조 형성
  3. 굵기 대비
    • Bold vs Regular vs Light
    • 중요한 정보는 더 굵게
  4. 공간 대비
    • 밀집된 영역과 여유로운 영역
    • 중요한 요소 주변에 더 많은 여백
  5. 형태 대비
    • 둥근 vs 각진
    • 실선 vs 점선
    • 입체 vs 평면

적용 가이드:

  • 주요 행동(Primary CTA)은 최고 대비
  • 보조 행동(Secondary CTA)은 중간 대비
  • 비활성 요소는 낮은 대비
  • 과도한 대비는 피로감 유발

좋은 대비 예시:

Primary Button: 
  - 배경: 브랜드 컬러 (예: 파란색 #0066FF)
  - 텍스트: 흰색 #FFFFFF
  - 대비율: 4.5:1 이상

Secondary Button:
  - 배경: 투명 또는 연한 회색
  - 테두리: 브랜드 컬러
  - 텍스트: 브랜드 컬러

Modals (모달)

모달은 사용자의 주의를 집중시키거나 중요한 결정을 요구할 때 사용하는 오버레이 창입니다.

모달 사용 시기:

사용해야 할 때:

  • 중요한 정보 전달 (경고, 확인)
  • 돌이킬 수 없는 작업 확인 (삭제, 제출)
  • 현재 작업을 중단하지 않는 빠른 입력
  • 사용자의 즉각적인 반응 필요

사용하지 말아야 할 때:

  • 복잡한 폼이나 긴 콘텐츠
  • 자주 반복되는 작업
  • 중요하지 않은 정보
  • 여러 단계가 필요한 프로세스

모달 설계 원칙:

  1. 명확한 제목: 무엇에 관한 것인지 즉시 알 수 있게
  2. 간결한 내용: 핵심 메시지만 전달
  3. 명확한 액션:
    • Primary: 주요 행동 (예: 확인, 삭제)
    • Secondary: 취소 또는 뒤로
  4. 닫기 옵션:
    • X 버튼
    • 바깥 영역 클릭
    • ESC 키
  5. 시각적 강조:
    • 어두운 배경 오버레이 (보통 rgba(0,0,0,0.5))
    • 모달을 중앙에 배치
    • 적절한 그림자로 깊이감 표현

모달 유형:

  1. Alert Modal (경고)
    • 사용자에게 중요한 정보 알림
    • 보통 하나의 액션 버튼 (확인)
  2. Confirmation Modal (확인)
    • 중요한 작업 전 확인 요청
    • 두 개의 액션 버튼 (확인/취소)
    • 예: “정말 삭제하시겠습니까?”
  3. Input Modal (입력)
    • 간단한 정보 입력 받기
    • 폼 필드 + 제출/취소 버튼
    • 예: 이름 변경, 댓글 작성
  4. Full-Screen Modal
    • 복잡한 작업이나 많은 내용
    • 모바일에서 주로 사용
    • 독립된 네비게이션 제공

모범 사례:

구조:
┌─────────────────────────────┐
│  [X]                        │
│  제목                       │
│                             │
│  내용 설명...               │
│                             │
│  [취소]  [확인]            │
└─────────────────────────────┘

크기:
- 너비: 최대 600px
- 패딩: 24-32px
- 버튼 높이: 44-48px
- 버튼 간격: 12px

접근성 고려사항:

  • 키보드 탐색 가능
  • 포커스 트랩 (모달 내부에만)
  • ESC 키로 닫기
  • 스크린 리더 지원
  • 열릴 때 포커스 자동 이동

안티패턴 (피해야 할 것):

  • 모달 위에 또 다른 모달
  • 닫을 방법이 없는 모달
  • 자동으로 열리는 광고 모달
  • 중요하지 않은 정보를 위한 모달
  • 복잡한 네비게이션이 있는 모달

정리

훌륭한 인터랙션과 인터페이스 설계는 사용자의 목표 달성을 돕고, 직관적이며, 즐거운 경험을 제공합니다.

핵심 원칙:

  1. 사용자 중심: 사용자의 필요와 맥락 이해
  2. 명확성: 무엇을, 왜, 어떻게 해야 하는지 분명히
  3. 일관성: 예측 가능한 패턴 유지
  4. 피드백: 모든 행동에 적절한 반응
  5. 효율성: 목표 달성까지 최소한의 단계
  6. 접근성: 모든 사용자가 사용 가능하게
  7. 즐거움: 기능을 넘어선 긍정적 경험

좋은 디자인은 눈에 띄지 않습니다. 사용자가 인터페이스가 아닌 자신의 목표에 집중할 수 있을 때, 그것이 훌륭한 인터랙션 디자인입니다.


과제

연구 과제

  1. 자주 쓰는 앱의 인터랙션 하나(예: ‘좋아요’ 버튼)를 사용해보고, 4단계(Trigger-Rules-Feedback-Loops)로 분해해 봅니다. 어느 단계에서 설명이 막히나요?
  2. 최근 작성을 포기했던 입력(가입, 설문 등)의 포기 이유를 본인이 직접 먼저 작성해봅니다. 그다음 강의에서 학습한 원칙들로 다시 분석해 보고, 두 분석이 다른 이유를 탐색해 봅니다.
  3. 서비스에서 만난 에러 메시지 하나를 골라 어떤 구조로 되어있는지 분석한 뒤, 더 나은 구조로 다시 써봅니다. 다시 쓰는 과정에서 막히는 부분은 어디인가요?

실전 과제

  1. 개선이 필요하다고 느꼈던 입력 플로우(회원가입, 결제, 예약 등) 하나를 선택하고 스크린샷을 수집합니다.
  2. 오늘 배운 원칙들(폼 디자인, 마이크로인터랙션, 에러 처리)을 기준으로 해당 플로우를 분석합니다. 잘된 점과 문제점을 구분해 정리합니다.
  3. 발견한 문제점 중 1-2개를 선택해 구체적인 개선안을 작성합니다. 무엇을 어떻게 바꿀지, 왜 그것이 사용자 경험을 개선하는지 포함합니다.

참고 자료

학습 자료 및 출처

서적

인터랙션 & 마이크로인터랙션

  • Microinteractions: Designing with Details - Dan Saffer (O’Reilly, 2013)
    • 마이크로인터랙션의 4단계 구조와 설계 원칙을 정립한 필독서
    • 트리거, 규칙, 피드백, 루프/모드에 대한 상세한 설명
    • Amazon

폼 디자인

  • Web Form Design: Filling in the Blanks - Luke Wroblewski (Rosenfeld Media, 2008)
    • 폼 디자인의 바이블로 불리는 실용적 가이드
    • 데이터 기반 연구 결과와 베스트 프랙티스 제시
    • 레이블 배치, 유효성 검증, 에러 처리 등 실무 적용 가능한 내용
    • Rosenfeld Media

UI 애니메이션

  • The Illusion of Life: Disney Animation - Ollie Johnston, Frank Thomas (1981)
    • 디즈니의 12가지 애니메이션 원칙
    • UI/UX 디자인에 적용 가능한 전통적 애니메이션 이론의 기초

인터페이스 디자인 기초

  • The Design of Everyday Things - Don Norman
    • 인터페이스 설계의 근본 원리와 사용자 중심 디자인
  • Don’t Make Me Think - Steve Krug
    • 웹 사용성과 직관적 인터페이스 디자인

관련 강의 및 코스

Nielsen Norman Group (NN/g)

온라인 플랫폼

  • Interaction Design Foundation (IxDF)
    • 체계적인 인터랙션 디자인 커리큘럼
    • 업계 전문가의 강의와 실습 프로젝트

실무 사례 참고

디자인 시스템

포트폴리오 사이트

  • Dribbble
    • UI 애니메이션과 마이크로인터랙션 사례
    • 디자이너들의 실험적 작업물
  • Awwwards
    • 우수한 웹 인터랙션 디자인 사례
    • 혁신적인 UI 패턴과 애니메이션

Youtube

UI/UX 디자인 채널

  • Design Course
    • UI 애니메이션과 프로토타이핑 튜토리얼
  • Flux
    • 실무 중심의 디자인 워크플로우와 도구 활용법
  • DesignerUp

공식 채널

  • Figma
    • 프로토타이핑과 인터랙티브 컴포넌트 제작 방법
  • Framer
    • 고급 애니메이션과 인터랙션 제작 튜토리얼

커뮤니티

온라인 커뮤니티

블로그 & 아티클

도구 및 프로토타이핑

디자인 & 프로토타이핑 도구

  1. Figma - figma.com
    • 올인원 디자인 및 프로토타이핑 플랫폼
    • Smart Animate으로 간단한 애니메이션 제작
    • 실시간 협업 기능
    • 추천 대상: 팀 협업, 일반적인 프로토타이핑
  2. Framer - framer.com
    • 고급 인터랙션과 애니메이션에 특화
    • 실제 코드 사용 가능 (React 기반)
    • 복잡한 마이크로인터랙션 구현
    • 추천 대상: 고급 애니메이션, 코드 활용 가능한 디자이너
  3. Principle - principleformac.com
    • macOS 전용 애니메이션 프로토타이핑 도구
    • 타임라인 기반 애니메이션 제작
    • Figma/Sketch 파일 임포트 가능
    • 모바일 미러 앱으로 실기기 테스트
    • 추천 대상: 상세한 모션 디자인, Mac 사용자
  4. ProtoPie - protopie.io
    • 센서 입력과 복잡한 인터랙션
    • 조건부 로직과 변수 지원
    • 추천 대상: 복잡한 인터랙션 프로토타이핑
  5. Adobe After Effects
    • 전문가급 애니메이션 제작
    • Lottie 플러그인으로 웹/앱 연동
    • 추천 대상: 복잡한 모션 그래픽

애니메이션 라이브러리 & 도구

  • Lottie - lottiefiles.com
    • After Effects 애니메이션을 JSON으로 변환
    • 웹과 모바일 앱에서 사용 가능
  • Rive - rive.app
    • 실시간 인터랙티브 애니메이션 제작
    • 게임엔진 수준의 성능

도구 선택 가이드

간단한 프로토타입 → Figma
팀 협업 중심 → Figma
고급 애니메이션 → Principle, Framer
복잡한 로직 → ProtoPie
전문 모션 → After Effects + Lottie
개발자 친화적 → Framer (코드 기반)

학습 리소스