Split View: 디자인 씽킹 & UX 입문 — 사용자 중심으로 문제를 해결하는 방법
디자인 씽킹 & UX 입문 — 사용자 중심으로 문제를 해결하는 방법
들어가며
"기능은 완벽한데 아무도 안 씁니다." 개발자라면 한 번쯤 들어봤을 이야기입니다. 기술적으로 뛰어난 제품이 시장에서 실패하는 가장 흔한 이유는 사용자를 이해하지 못했기 때문입니다.
디자인 씽킹(Design Thinking)은 사용자의 진짜 문제를 발견하고, 창의적인 해결책을 빠르게 검증하는 체계적 방법론입니다. 이 글은 디자인 씽킹의 5단계부터 UX 리서치, UI 디자인 원칙, 접근성, 프로토타이핑, 그리고 개발자가 실무에서 바로 적용할 수 있는 UX 팁까지 폭넓게 다룹니다.
디자이너 전용 지식이 아닙니다. 좋은 소프트웨어를 만드는 모든 사람에게 필요한 기본기입니다.
Part 1: 디자인 씽킹
1. 디자인 씽킹이란 무엇인가
기원과 정의
디자인 씽킹은 1960년대 건축과 산업 디자인 분야에서 시작되어, IDEO와 스탠포드 d.school을 통해 비즈니스와 기술 분야로 확산된 인간 중심 문제 해결 방법론입니다.
핵심 철학은 단순합니다.
- 사용자의 실제 필요에서 출발하라
- 다양한 관점으로 문제를 재정의하라
- 빠른 실험으로 가설을 검증하라
- 실패를 학습의 기회로 삼아라
기존의 선형적 문제 해결(문제 정의 -> 분석 -> 해결)과 달리, 디자인 씽킹은 반복과 피드백을 핵심으로 합니다.
왜 개발자에게 중요한가
개발자는 흔히 "어떻게 만들 것인가(How)"에 집중합니다. 하지만 디자인 씽킹은 "왜 만드는가(Why)"와 "누구를 위한 것인가(Who)"를 먼저 묻습니다. 이 관점의 전환은 다음과 같은 실질적 차이를 만듭니다.
| 관점 | 기술 중심 | 사용자 중심 |
|---|---|---|
| 출발점 | 기술적 가능성 | 사용자의 고충 |
| 성공 기준 | 기능 완성도 | 문제 해결 여부 |
| 피드백 시점 | 출시 후 | 개발 전/중 지속적으로 |
| 변경 비용 | 높음 (후반에 발견) | 낮음 (초기에 발견) |
2. 디자인 씽킹 5단계
스탠포드 d.school의 5단계 프레임워크는 디자인 씽킹의 가장 널리 알려진 모델입니다.
1단계: 공감(Empathize)
사용자가 실제로 무엇을 경험하고, 무엇을 느끼며, 무엇에 어려움을 겪는지 깊이 이해하는 단계입니다.
핵심 활동
- 현장 관찰(Contextual Inquiry): 사용자의 실제 환경에서 행동을 관찰합니다
- 공감 인터뷰: 열린 질문을 통해 숨겨진 니즈를 발견합니다
- 체험(Immersion): 직접 사용자의 상황을 경험합니다
- 공감 지도(Empathy Map): 사용자가 말하고/생각하고/느끼고/행동하는 것을 시각적으로 정리합니다
실수하기 쉬운 점
- 사용자에게 "무엇을 원하세요?"라고 직접 묻는 것은 비효과적입니다. 사용자는 자신의 니즈를 정확히 표현하기 어렵습니다
- 팀 내부의 추측을 사용자의 목소리로 착각하지 않도록 주의해야 합니다
2단계: 정의(Define)
공감 단계에서 수집한 데이터를 분석하여, 해결해야 할 핵심 문제를 명확하게 정의합니다.
관점 진술문(POV Statement) 작성법
- 형식: "사용자(누구)는 ... 이 필요하다. 왜냐하면 ... 이기 때문이다."
- 예시: "재택근무 팀 리더는 비동기 환경에서도 팀원의 업무 진행 상황을 직관적으로 파악할 방법이 필요하다. 왜냐하면 현재의 텍스트 기반 보고는 맥락을 잃기 쉽기 때문이다."
좋은 문제 정의의 조건
- 구체적이지만 해결책을 제한하지 않는다
- 사용자의 관점에서 작성되었다
- 측정 가능한 성공 기준을 암시한다
3단계: 아이디어 도출(Ideate)
정의된 문제에 대해 가능한 한 많은 해결 아이디어를 생성하는 단계입니다.
대표적 기법들
- 브레인스토밍: 판단을 보류하고 양을 우선시합니다. "Yes, and..." 규칙을 적용합니다
- 마인드맵: 중심 주제에서 방사형으로 아이디어를 확장합니다
- SCAMPER: 대체(Substitute), 결합(Combine), 적용(Adapt), 수정(Modify), 다른용도(Put to other uses), 제거(Eliminate), 재배열(Reverse)
- Crazy 8s: 8분 안에 8개의 서로 다른 아이디어를 스케치합니다
효과적인 아이디어 선별 기준
- 기술적 실현 가능성(Feasibility)
- 비즈니스 적합성(Viability)
- 사용자 가치(Desirability)
이 세 원이 겹치는 지점이 혁신의 Sweet Spot입니다.
4단계: 프로토타입(Prototype)
선별된 아이디어를 빠르고 저렴하게 구체화하여 테스트 가능한 형태로 만듭니다.
프로토타입의 원칙
- 완벽하지 않아도 된다. 핵심 가설을 검증할 수 있으면 충분하다
- 빠를수록 좋다. 며칠이 아니라 몇 시간 안에 만들 수 있어야 한다
- 버리기 쉬워야 한다. 집착하면 피드백을 무시하게 된다
프로토타이핑 도구와 기법에 대해서는 이 글의 Part 3에서 자세히 다룹니다.
5단계: 테스트(Test)
프로토타입을 실제 사용자에게 보여주고, 가설이 맞는지 검증합니다.
테스트의 핵심 원칙
- 설명하지 말고 관찰하라. 프로토타입을 사용자에게 건네고 조용히 지켜보는 것이 최선이다
- 프로토타입이 아니라 가설을 테스트하라. "이 디자인이 예쁜가?"가 아니라 "사용자가 3초 안에 다음 행동을 찾을 수 있는가?"를 확인한다
- 5명이면 충분하다. 닐슨 노먼 그룹의 연구에 따르면, 사용성 문제의 약 85%는 5명의 테스트 참가자로 발견할 수 있다
테스트 후 액션
- 문제 정의가 잘못되었다면 2단계로 돌아간다
- 아이디어가 부족하다면 3단계로 돌아간다
- 프로토타입의 디테일 문제라면 4단계를 반복한다
이 반복 루프가 디자인 씽킹의 본질입니다.
Part 2: 사용자 리서치
3. UX 리서치 방법론
정성적 리서치 vs 정량적 리서치
| 구분 | 정성적(Qualitative) | 정량적(Quantitative) |
|---|---|---|
| 목적 | "왜" 그러는지 이해 | "얼마나" 많은지 측정 |
| 방법 | 인터뷰, 관찰, 다이어리 | 설문, A/B 테스트, 분석 |
| 참가자 수 | 5-15명 | 100명 이상 |
| 결과물 | 인사이트, 테마, 패턴 | 통계, 그래프, 수치 |
| 사용 시점 | 탐색/발견 단계 | 검증/최적화 단계 |
실무에서는 두 가지를 결합하는 것이 가장 효과적입니다. 정성 리서치로 "왜"를 발견하고, 정량 리서치로 "얼마나"를 검증합니다.
사용자 인터뷰
인터뷰 준비
- 연구 질문을 먼저 정의합니다 (인터뷰 질문과 다릅니다)
- 열린 질문으로 구성합니다: "어떻게 ...하시나요?", "가장 최근에 ... 했던 경험을 말씀해 주세요"
- 유도 질문을 피합니다: "이 기능이 편리하지 않으셨나요?" (X) vs "이 기능을 사용하셨을 때 어떠셨나요?" (O)
인터뷰 진행 팁
- 5초 규칙: 질문 후 최소 5초는 침묵을 유지합니다. 어색한 침묵이 진짜 답을 이끌어냅니다
- "왜?"를 5번 물어봅니다(5 Whys). 표면적 답변 아래 숨겨진 진짜 동기를 발견합니다
- 말이 아니라 행동을 관찰합니다. 사용자는 "쉬워요"라고 말하면서 3분간 헤맬 수 있습니다
페르소나(Persona)
페르소나는 리서치 데이터를 기반으로 만든 가상의 대표 사용자 프로필입니다.
좋은 페르소나의 구성 요소
- 인구통계적 정보 (나이, 직업, 기술 수준)
- 목표와 동기 (무엇을 달성하고 싶은가)
- 고충점(Pain Points) (현재 무엇이 불편한가)
- 행동 패턴 (정보를 어떻게 찾고, 결정을 어떻게 내리는가)
- 맥락(Context) (어떤 환경에서, 어떤 기기로, 어떤 상황에서 사용하는가)
주의사항: 페르소나를 "상상"으로 만들면 의미가 없습니다. 반드시 실제 리서치 데이터에 근거해야 합니다. 근거 없는 페르소나는 팀의 편견을 정당화하는 도구가 됩니다.
고객 여정 맵(Customer Journey Map)
사용자가 제품/서비스와 상호작용하는 전체 과정을 시각적으로 표현한 도구입니다.
여정 맵의 구성 요소
- 단계(Stages): 인지 -> 검토 -> 결정 -> 사용 -> 지지/이탈
- 행동(Actions): 각 단계에서 사용자가 하는 행동
- 생각(Thoughts): 그 순간 사용자의 내면 독백
- 감정(Emotions): 긍정-중립-부정 감정 곡선
- 접점(Touchpoints): 사용자와 제품이 만나는 지점
- 기회(Opportunities): 개선할 수 있는 지점
여정 맵 작성 팁
- "As-Is"(현재 상태) 맵을 먼저 만들고, "To-Be"(목표 상태) 맵을 나중에 만듭니다
- 감정 곡선에서 가장 낮은 지점(Pain Point)이 가장 큰 기회입니다
- 팀 전체가 함께 작성하면 부서 간 사일로를 깨는 효과가 있습니다
사용성 테스트
사용자에게 특정 태스크를 수행하도록 요청하고, 그 과정을 관찰하여 사용성 문제를 발견합니다.
사용성 테스트 유형
- 조절된 테스트(Moderated): 진행자가 참석하여 실시간으로 관찰하고 질문합니다
- 비조절 테스트(Unmoderated): 원격 도구를 통해 사용자가 독립적으로 태스크를 수행합니다
- 게릴라 테스트: 카페나 공공장소에서 지나가는 사람에게 5분간 테스트를 요청합니다
태스크 시나리오 작성법
- "검색 버튼을 누르세요" (X) - 행동을 지시하면 안 됩니다
- "지난달 주문했던 상품을 다시 주문해 보세요" (O) - 목표를 제시합니다
Part 3: UX 원칙과 법칙
4. 닐슨의 10가지 사용성 휴리스틱
제이콥 닐슨(Jakob Nielsen)이 1994년에 정의한 10가지 휴리스틱은 30년이 지난 지금도 UX 평가의 표준으로 사용됩니다.
1) 시스템 상태의 가시성
시스템이 현재 무엇을 하고 있는지 사용자에게 적절한 피드백을 적시에 제공해야 합니다.
- 좋은 예: 파일 업로드 진행률 표시, 저장 완료 확인 메시지
- 나쁜 예: 버튼을 눌렀는데 아무런 반응이 없는 경우
2) 시스템과 현실 세계의 일치
시스템이 사용하는 언어, 개념, 순서가 사용자에게 익숙해야 합니다.
- 기술 용어 대신 일상 용어를 사용합니다
- 실제 세계의 관습을 따릅니다 (예: 쇼핑몰의 "장바구니" 메타포)
3) 사용자 통제와 자유
사용자가 실수했을 때 쉽게 되돌릴 수 있어야 합니다.
- 실행 취소(Undo) 기능을 제공합니다
- "정말 삭제하시겠습니까?" 같은 확인 대화상자를 제공합니다
- 명확한 "비상 탈출구"를 제공합니다
4) 일관성과 표준
같은 단어, 상황, 동작은 항상 같은 의미를 가져야 합니다.
- 플랫폼 관습을 따릅니다 (예: iOS의 뒤로가기는 왼쪽 상단)
- 내부 일관성: 같은 앱 안에서 같은 기능은 같은 방식으로 동작합니다
5) 오류 예방
좋은 에러 메시지보다 오류가 발생하지 않도록 설계하는 것이 더 중요합니다.
- 위험한 동작 전에 확인 단계를 추가합니다
- 입력 제약조건을 사전에 안내합니다 (예: 비밀번호 조건 실시간 표시)
6) 기억보다 인식
사용자가 기억해야 할 것을 최소화하고, 선택지를 눈에 보이게 제시합니다.
- 최근 검색어 표시
- 단계별 진행 표시기(Stepper)
- 입력 필드에 placeholder로 예시 제공
7) 유연성과 효율성
초보자와 전문가 모두를 만족시키는 디자인을 제공합니다.
- 키보드 단축키(전문가용)와 메뉴(초보자용) 모두 제공
- 자주 쓰는 기능을 커스터마이즈할 수 있도록 허용
8) 미학적이고 미니멀한 디자인
모든 화면에는 꼭 필요한 정보만 담아야 합니다. 불필요한 정보는 필요한 정보의 가시성을 떨어뜨립니다.
9) 오류 인식, 진단, 복구 지원
에러 메시지는 기술 코드가 아니라 일상 언어로 작성하고, 문제의 원인과 해결 방법을 명확히 제시해야 합니다.
- "Error 500" (X)
- "서버에 일시적인 문제가 발생했습니다. 잠시 후 다시 시도해 주세요." (O)
10) 도움말과 문서
시스템이 직관적이라 도움말이 불필요한 것이 이상적이지만, 필요할 때는 쉽게 찾을 수 있고 구체적이어야 합니다.
5. UX의 핵심 법칙들
피츠의 법칙(Fitts's Law)
"대상까지의 거리가 짧을수록, 대상의 크기가 클수록 클릭하기 쉽다."
실무 적용:
- CTA(Call to Action) 버튼은 크고 눈에 띄게 만듭니다
- 자주 쓰는 기능은 손이 닿기 쉬운 위치에 배치합니다
- 관련 항목은 가까이 그룹화합니다
힉의 법칙(Hick's Law)
"선택지가 많을수록 결정에 걸리는 시간이 늘어난다."
실무 적용:
- 옵션을 5-7개 이하로 제한합니다
- 카테고리로 그룹화하여 단계적으로 선택하게 합니다
- 추천 옵션을 강조합니다 (예: 요금제의 "인기" 뱃지)
밀러의 법칙(Miller's Law)
"보통 사람은 작업 기억에서 7(플러스마이너스 2)개의 항목을 유지할 수 있다."
실무 적용:
- 내비게이션 메뉴 항목을 7개 이하로 유지합니다
- 긴 정보를 의미 있는 단위(청킹, chunking)로 나눕니다
- 전화번호를 "010-1234-5678"처럼 그룹화하는 것이 대표적 예시입니다
제이콥의 법칙(Jakob's Law)
"사용자는 대부분의 시간을 다른 사이트에서 보낸다. 따라서 당신의 사이트도 다른 사이트와 비슷하게 동작하기를 기대한다."
실무 적용:
- 로고는 좌상단에, 검색은 상단 중앙에, 장바구니는 우상단에 배치합니다
- 확립된 디자인 패턴을 따릅니다
- 혁신은 사용자의 학습 비용을 충분히 상쇄할 때에만 정당화됩니다
Part 4: UI 디자인 기초
6. 시각적 계층(Visual Hierarchy)
사용자의 시선을 가장 중요한 것에서 덜 중요한 것으로 자연스럽게 이끄는 디자인 원리입니다.
시각적 계층의 도구들
크기(Size): 큰 요소가 먼저 눈에 들어옵니다. 제목, 부제, 본문의 크기 차이를 통해 정보의 중요도를 전달합니다.
색상(Color): 대비가 높은 색상은 주목도를 높입니다. CTA 버튼에 강조색을 사용하는 것이 대표적입니다.
여백(Whitespace): 빈 공간은 낭비가 아닙니다. 요소 주변의 여백이 많을수록 그 요소가 돋보입니다. Apple 웹사이트가 여백을 극적으로 활용하는 것으로 유명합니다.
위치(Position): F-패턴(텍스트 중심)과 Z-패턴(이미지 중심)이 대표적인 시선 흐름 패턴입니다.
7. 타이포그래피
기본 원칙
서체 조합: 일반적으로 2-3개의 서체 조합이 적절합니다. 제목과 본문에 서로 다른 서체를 사용하여 대비를 만듭니다.
가독성 지표
- 본문 폰트 크기: 최소 16px (모바일에서도 편안한 읽기)
- 줄 간격(Line Height): 폰트 크기의 1.4-1.8배
- 줄 길이(Line Length): 한 줄당 45-75자가 최적
- 문단 간격: 줄 간격의 1.5-2배
웹 타이포그래피 팁
- 시스템 폰트를 먼저 고려합니다 (성능 이점)
- 한글과 영문의 혼합 사용 시 baseline 정렬에 주의합니다
font-display: swap을 사용하여 폰트 로딩 중 텍스트가 보이지 않는 현상(FOIT)을 방지합니다
8. 색상 이론
색상의 심리적 효과
| 색상 | 연상 감정 | 일반적 용도 |
|---|---|---|
| 파랑 | 신뢰, 안정 | 금융, 기업, 소셜미디어 |
| 빨강 | 긴급, 열정 | 경고, 세일, 음식 |
| 초록 | 성장, 안전 | 완료, 성공, 자연/친환경 |
| 노랑 | 주의, 활력 | 경고(warning), 하이라이트 |
| 보라 | 고급, 창의성 | 프리미엄 브랜드 |
색상 시스템 구축
60-30-10 법칙
- 60%: 주요 색상(Primary) - 배경, 넓은 영역
- 30%: 보조 색상(Secondary) - 카드, 섹션 구분
- 10%: 강조 색상(Accent) - CTA, 중요 링크
대비 비율(Contrast Ratio)
WCAG 2.1 기준:
- 일반 텍스트: 최소 4.5:1
- 큰 텍스트(18px 이상 또는 14px 볼드): 최소 3:1
- UI 구성 요소: 최소 3:1
9. 그리드 시스템
왜 그리드를 사용하는가
- 일관된 레이아웃과 정렬을 보장합니다
- 반응형 디자인의 기초가 됩니다
- 디자이너와 개발자 간 소통을 원활하게 합니다
12컬럼 그리드
가장 널리 사용되는 시스템입니다. 12는 2, 3, 4, 6으로 나누어지므로 유연한 레이아웃 조합이 가능합니다.
| 1열 | = 12컬럼 전체
| 2열 | = 6 + 6
| 3열 | = 4 + 4 + 4
| 4열 | = 3 + 3 + 3 + 3
| 비대칭 | = 8 + 4 (콘텐츠 + 사이드바)
반응형 브레이크포인트
일반적인 브레이크포인트 기준:
- 모바일: 320px-767px (1-2컬럼)
- 태블릿: 768px-1023px (2-3컬럼)
- 데스크톱: 1024px-1439px (3-4컬럼)
- 대형 디스플레이: 1440px 이상 (최대 너비 제한 권장)
Part 5: 정보 아키텍처
10. 정보 아키텍처(IA)란
콘텐츠를 구조화하고 조직화하여 사용자가 원하는 정보를 쉽게 찾을 수 있도록 설계하는 분야입니다.
카드 소팅(Card Sorting)
사용자가 직접 콘텐츠를 그룹화하고 라벨링하도록 하여, 사용자의 멘탈 모델에 맞는 정보 구조를 설계합니다.
유형
- 오픈 카드소팅: 사용자가 자유롭게 그룹을 만들고 이름을 붙입니다
- 클로즈드 카드소팅: 미리 정의된 카테고리에 카드를 분류합니다
- 하이브리드: 미리 카테고리를 제공하되 새 카테고리 생성을 허용합니다
사이트맵
정보 구조를 트리 형태로 시각화한 문서입니다.
사이트맵 작성 원칙
- 깊이보다 넓이를 우선합니다 (3단계 이하 권장)
- 사용자의 멘탈 모델에 맞는 카테고리 명칭을 사용합니다
- 중요한 페이지는 최소한의 클릭으로 도달할 수 있어야 합니다
네비게이션 패턴
글로벌 네비게이션: 모든 페이지에서 접근 가능한 주요 메뉴 (상단 바, 사이드바)
로컬 네비게이션: 현재 섹션 내에서의 하위 메뉴
브레드크럼(Breadcrumbs): 현재 위치를 보여주는 경로 표시 (홈 > 카테고리 > 서브카테고리 > 현재 페이지)
검색: 네비게이션의 보완 수단. 사용자의 약 50%는 검색을 먼저 시도합니다
패싯 네비게이션(Faceted): 여러 기준으로 동시에 필터링. 쇼핑몰의 가격/브랜드/색상 필터가 대표적
Part 3: 프로토타이핑
11. 프로토타입의 종류
Lo-fi(Low-Fidelity) 프로토타입
종이 프로토타입(Paper Prototype)
- 종이에 화면을 그리고 직접 "재생"합니다
- 비용이 거의 들지 않으며, 5분 만에 만들 수 있습니다
- 초기 아이디어 검증에 최적입니다
와이어프레임(Wireframe)
- 레이아웃과 정보 구조를 보여주는 청사진입니다
- 색상, 이미지, 브랜딩을 의도적으로 배제합니다
- 구조와 흐름에 대한 피드백을 받기 위한 도구입니다
Hi-fi(High-Fidelity) 프로토타입
인터랙티브 프로토타입
- 실제 제품과 거의 동일한 룩앤필을 가집니다
- 클릭, 전환, 애니메이션 등 인터랙션이 포함됩니다
- 사용성 테스트와 이해관계자 프레젠테이션에 적합합니다
어떤 피델리티를 선택할 것인가
| 상황 | 권장 피델리티 |
|---|---|
| 아이디어 초기 탐색 | Lo-fi (종이, 화이트보드) |
| 구조와 흐름 검증 | Lo-fi (와이어프레임) |
| 사용성 테스트 | Mid-fi ~ Hi-fi |
| 이해관계자 프레젠테이션 | Hi-fi |
| 개발 핸드오프 | Hi-fi (Figma 등) |
12. Figma 실무 활용
왜 Figma인가
- 브라우저 기반으로 설치 없이 사용 가능합니다
- 실시간 협업이 가능합니다 (디자이너, 개발자, PM이 동시에 작업)
- Auto Layout, Components, Variables로 체계적인 디자인 시스템을 구축할 수 있습니다
- Dev Mode로 개발자가 스펙을 직접 확인할 수 있습니다
개발자를 위한 Figma 활용법
- Dev Mode 활용: CSS 코드, 간격, 색상 값을 직접 확인합니다
- Inspect 패널: 선택한 요소의 속성을 코드로 변환합니다
- 프로토타입 링크 확인: 화면 간 전환과 인터랙션 명세를 확인합니다
- 코멘트 기능: 디자이너에게 구현 관련 질문을 남깁니다
Part 4: 접근성(A11y)
13. 웹 접근성이 중요한 이유
수치로 보는 접근성
- 전 세계 인구의 약 15%(약 10억 명)가 어떤 형태로든 장애를 가지고 있습니다
- 색각 이상은 남성의 약 8%, 여성의 약 0.5%에 해당합니다
- 고령화 사회에서 시력, 운동 능력 저하는 보편적 문제입니다
- 임시적 장애(팔 골절, 밝은 햇빛 아래)는 누구에게나 발생합니다
접근성은 법적 의무
- 한국: 장애인차별금지법, 웹 접근성 인증 마크
- 미국: ADA(미국 장애인법), Section 508
- 유럽: European Accessibility Act (2025년 시행)
14. WCAG 2.1 핵심 원칙
POUR 원칙
인식 가능(Perceivable)
- 모든 이미지에 대체 텍스트(alt text)를 제공합니다
- 비디오에 자막과 오디오 설명을 제공합니다
- 색상만으로 정보를 전달하지 않습니다 (색상 + 아이콘/텍스트)
운용 가능(Operable)
- 모든 기능을 키보드만으로 사용할 수 있어야 합니다
- 시간 제한이 있는 콘텐츠는 조정/연장이 가능해야 합니다
- 깜빡이는 콘텐츠는 초당 3회를 초과하지 않아야 합니다
이해 가능(Understandable)
- 텍스트는 읽기 쉬운 수준으로 작성합니다
- 페이지와 UI는 예측 가능한 방식으로 동작합니다
- 오류 발생 시 수정 방법을 안내합니다
견고함(Robust)
- 다양한 사용자 에이전트(브라우저, 보조기술)에서 안정적으로 동작합니다
- 표준 HTML을 사용하고, ARIA를 적절히 적용합니다
15. 키보드 네비게이션
핵심 키보드 인터랙션
| 키 | 동작 |
|---|---|
| Tab | 다음 포커스 가능한 요소로 이동 |
| Shift+Tab | 이전 요소로 이동 |
| Enter/Space | 버튼 활성화, 링크 이동 |
| Esc | 모달/드롭다운 닫기 |
| 화살표 키 | 라디오 버튼, 탭, 메뉴 내 이동 |
개발 시 체크리스트
- 포커스 순서가 시각적 순서와 일치하는가
- 포커스 인디케이터가 명확하게 보이는가 (outline을 제거하지 말 것!)
- 키보드 트랩이 없는가 (모달에 갇히지 않는가)
- 스킵 네비게이션 링크가 있는가
16. 스크린리더와 ARIA
시맨틱 HTML이 먼저다
ARIA(Accessible Rich Internet Applications)를 쓰기 전에, 올바른 HTML 요소를 사용하는 것이 우선입니다.
<!-- 나쁜 예 -->
<div onclick="handleClick()">버튼처럼 보이는 div</div>
<!-- 좋은 예 -->
<button onclick="handleClick()">진짜 버튼</button>
ARIA의 핵심 역할
role: 요소의 역할을 명시합니다 (navigation, alert, dialog 등)aria-label: 시각적 텍스트가 없는 요소에 접근 가능한 이름을 제공합니다aria-live: 동적으로 변경되는 콘텐츠를 스크린리더에게 알립니다aria-hidden: 장식적 요소를 스크린리더에서 숨깁니다
ARIA 사용 원칙
- 네이티브 HTML로 충분하면 ARIA를 쓰지 않습니다
- 시맨틱 의미를 변경하지 않습니다
- 모든 인터랙티브 요소는 접근 가능한 이름을 가져야 합니다
- ARIA를 추가하면 반드시 키보드 지원도 함께 구현합니다
17. 색 대비와 시각 접근성
대비 검사 도구
- Chrome DevTools의 색상 대비 검사기
- WebAIM Contrast Checker (온라인 도구)
- Figma 플러그인: Stark, Contrast
색각 이상을 위한 디자인
- 빨강-초록 조합을 피합니다 (가장 흔한 색맹 유형)
- 색상 외에 모양, 패턴, 텍스트 등 추가 단서를 제공합니다
- Chrome DevTools의 색각 시뮬레이션으로 테스트합니다
Part 5: 모바일 UX
18. 엄지 영역(Thumb Zone)
스마트폰 사용 패턴
Steven Hoober의 연구에 따르면, 사용자의 약 75%는 한 손으로 스마트폰을 사용합니다. 이에 따라 화면을 세 구역으로 나눕니다.
- 쉬운 영역(Easy): 화면 하단 중앙 ~ 하단 - 자주 쓰는 주요 동작 배치
- 괜찮은 영역(Ok): 화면 중앙 부분 - 일반 콘텐츠
- 어려운 영역(Hard): 화면 상단 모서리 - 자주 쓰지 않는 기능 배치
모바일 UX 가이드라인
- 터치 타깃 최소 크기: 44x44pt(Apple) / 48x48dp(Google)
- 터치 타깃 간 최소 간격: 8px 이상
- 주요 CTA를 화면 하단에 배치합니다 (예: 하단 고정 버튼)
- 내비게이션 바를 화면 하단에 배치하는 추세가 확산 중입니다
19. 제스처와 인터랙션
일반적인 모바일 제스처
| 제스처 | 일반적 용도 |
|---|---|
| 탭(Tap) | 선택, 활성화 |
| 더블 탭 | 확대/축소 |
| 길게 누르기 | 컨텍스트 메뉴, 미리보기 |
| 스와이프 | 페이지 전환, 삭제, 보관 |
| 핀치 | 확대/축소 |
| 드래그 | 이동, 재정렬 |
| 풀 투 리프레시 | 콘텐츠 새로고침 |
제스처 디자인 원칙
- 제스처는 발견하기 어렵습니다. 반드시 대안적 UI를 함께 제공합니다
- 습관적 제스처(스와이프 뒤로가기 등)를 덮어쓰지 않습니다
- 제스처의 결과를 미리 보여줍니다 (스와이프 시 아래에 삭제 버튼이 드러나는 패턴)
20. 반응형 디자인
모바일 퍼스트 접근
왜 모바일 퍼스트인가
- 제약이 많은 환경에서 시작하면 핵심에 집중하게 됩니다
- CSS 미디어 쿼리에서
min-width를 사용하면 점진적으로 확장하기 쉽습니다 - 전 세계 웹 트래픽의 약 60%가 모바일에서 발생합니다
반응형 디자인의 핵심 기법
- 유연한 그리드: 고정 px 대신 %, fr, vw 단위를 사용합니다
- 유연한 이미지:
max-width: 100%로 컨테이너에 맞게 조정합니다 - 미디어 쿼리: 화면 크기에 따라 레이아웃을 변경합니다
- 컨테이너 쿼리: 부모 요소 크기에 따라 스타일을 적용합니다 (최신 기법)
Part 6: UX 메트릭과 개발자를 위한 UX
21. UX 메트릭
SUS(System Usability Scale)
10개의 표준화된 질문으로 시스템의 사용성을 0-100점으로 평가합니다.
- 평균 점수: 68점
- 80점 이상: 우수
- 50점 이하: 개선 필요
SUS의 장점은 빠르고 간단하며, 산업 평균과 비교할 수 있다는 것입니다.
NPS(Net Promoter Score)
"이 제품을 친구/동료에게 추천하시겠습니까?" (0-10점)
- 추천자(Promoters): 9-10점
- 중립(Passives): 7-8점
- 비추천자(Detractors): 0-6점
- NPS = 추천자 비율 - 비추천자 비율
태스크 성공률(Task Success Rate)
사용성 테스트에서 참가자가 주어진 태스크를 성공적으로 완료한 비율입니다.
- 이진 성공(완료/실패)
- 부분 성공도 포함 가능 (예: 도움을 받아 완료한 경우)
- 산업 평균: 약 78%
기타 핵심 메트릭
- 태스크 완료 시간: 사용자가 태스크를 완료하는 데 걸리는 시간
- 오류율: 태스크 수행 중 발생하는 오류의 빈도
- 첫 클릭 정확도: 첫 번째 클릭이 올바른 경로인 비율 (첫 클릭이 정확하면 최종 성공률이 약 87%로 급증)
- 이탈률(Bounce Rate): 페이지 방문 후 더 이상 상호작용하지 않고 떠나는 비율
22. 개발자를 위한 UX 실전 가이드
코드 리뷰에서 UX 체크하기
기능 코드 리뷰 시 다음 UX 체크리스트를 추가합니다.
로딩 상태
- 로딩 중일 때 스켈레톤 UI나 스피너가 표시되는가
- 에러 발생 시 사용자에게 명확한 메시지가 표시되는가
- 빈 상태(Empty State)가 적절히 처리되는가
폼 처리
- 유효성 검사가 실시간으로 이루어지는가
- 에러 메시지가 해당 필드 근처에 표시되는가
- 제출 중 버튼이 비활성화되는가 (중복 제출 방지)
- 성공 후 적절한 피드백이 제공되는가
접근성
- 시맨틱 HTML이 사용되었는가
- 이미지에 alt 텍스트가 있는가
- 키보드로 모든 기능을 사용할 수 있는가
- 포커스 관리가 적절한가 (모달 열기/닫기 시)
성능
- 이미지가 적절히 최적화되었는가
- 불필요한 리렌더링이 없는가
- 레이아웃 시프트(CLS)가 발생하지 않는가
디자인 시스템 활용하기
디자인 시스템은 일관된 UI를 효율적으로 구축하기 위한 재사용 가능한 컴포넌트와 가이드라인의 집합입니다.
디자인 시스템의 핵심 구성 요소
- 디자인 토큰(Design Tokens): 색상, 간격, 타이포그래피, 그림자 등의 값을 변수로 관리합니다
/* 예시: CSS Custom Properties로 디자인 토큰 관리 */
:root {
--color-primary: #2563eb;
--color-error: #dc2626;
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
--font-size-body: 16px;
--font-size-heading: 24px;
--border-radius-md: 8px;
}
- 컴포넌트 라이브러리: 버튼, 입력 필드, 카드, 모달 등 재사용 가능한 UI 블록
- 패턴 라이브러리: 로그인 폼, 검색, 테이블 필터 등 반복되는 UI 패턴
- 가이드라인 문서: 각 컴포넌트의 사용법, Do/Don't, 접근성 주의사항
인기 있는 오픈소스 디자인 시스템
- Material Design (Google)
- Ant Design (Alibaba)
- Chakra UI
- Radix UI
- shadcn/ui
23. UX와 개발의 협업
디자인 핸드오프 체크리스트
디자이너로부터 디자인을 받을 때 확인해야 할 사항:
- 모든 상태가 정의되어 있는가: 기본, 호버, 활성, 비활성, 에러, 로딩, 빈 상태
- 반응형 명세가 있는가: 모바일, 태블릿, 데스크톱 각각의 레이아웃
- 인터랙션 명세가 있는가: 전환 애니메이션, 제스처, 마이크로 인터랙션
- 에지 케이스: 텍스트가 매우 긴 경우, 데이터가 없는 경우, 권한이 없는 경우
개발자가 UX에 기여하는 방법
- 기술적 제약을 초기에 공유합니다: "이 애니메이션은 성능 문제를 일으킬 수 있습니다"
- 대안을 제시합니다: "이 방식 대신 이렇게 하면 같은 효과를 더 효율적으로 낼 수 있습니다"
- 프론트엔드 성능을 최적화합니다: 사용자 경험의 핵심은 속도입니다
- 접근성을 자연스럽게 포함합니다: 나중에 추가하면 비용이 배로 듭니다
- 사용자 데이터를 활용합니다: 에러 로그, 퍼널 분석으로 UX 개선 포인트를 제안합니다
마무리
디자인 씽킹과 UX는 "디자이너의 영역"이 아닙니다. 사용자에게 가치를 전달하는 소프트웨어를 만드는 것이 모든 개발자의 궁극적 목표라면, UX에 대한 이해는 선택이 아니라 필수입니다.
이 글에서 다룬 내용을 한 줄로 요약하면 다음과 같습니다.
사용자를 관찰하고, 문제를 정의하고, 빠르게 시도하고, 배우고, 다시 시도하라.
오늘부터 할 수 있는 세 가지:
- 닐슨의 10가지 휴리스틱으로 현재 프로젝트를 평가해 보세요 - 가장 쉬운 첫걸음입니다
- 키보드만으로 자신의 앱을 사용해 보세요 - 접근성 문제가 바로 드러납니다
- 코드 리뷰에 UX 체크리스트를 추가해 보세요 - 팀 전체의 UX 의식 수준이 올라갑니다
좋은 UX는 거창한 혁신이 아니라, 사소한 배려의 축적입니다.
참고 자료
- Don Norman, "The Design of Everyday Things"
- Steve Krug, "Don't Make Me Think"
- Jakob Nielsen의 사용성 휴리스틱 (Nielsen Norman Group)
- WCAG 2.1 Guidelines (W3C)
- Google Material Design Guidelines
- Apple Human Interface Guidelines
- Laws of UX (lawsofux.com)
- Stanford d.school Resources
- IDEO Design Thinking Resources
퀴즈: 디자인 씽킹 & UX 이해도 점검
Q1. 디자인 씽킹 5단계를 순서대로 나열하세요.
A1. 공감(Empathize) -> 정의(Define) -> 아이디어 도출(Ideate) -> 프로토타입(Prototype) -> 테스트(Test)
Q2. 닐슨 노먼 그룹의 연구에 따르면, 사용성 문제의 약 85%를 발견하려면 최소 몇 명의 테스트 참가자가 필요합니까?
A2. 5명
Q3. 피츠의 법칙의 핵심 원리를 설명하세요.
A3. 대상까지의 거리가 짧을수록, 대상의 크기가 클수록 클릭(선택)하기 쉽다.
Q4. WCAG 2.1의 POUR 원칙 네 가지를 나열하세요.
A4. 인식 가능(Perceivable), 운용 가능(Operable), 이해 가능(Understandable), 견고함(Robust)
Q5. 밀러의 법칙에서 말하는 작업 기억의 한계는 몇 개입니까?
A5. 7(플러스마이너스 2)개. 즉 5-9개
Q6. SUS(System Usability Scale)의 평균 점수와 우수 기준 점수는?
A6. 평균 68점, 80점 이상이면 우수
Q7. 모바일 터치 타깃의 최소 권장 크기는?
A7. Apple 기준 44x44pt, Google Material Design 기준 48x48dp
Q8. 60-30-10 법칙에서 각 비율이 의미하는 색상 역할을 설명하세요.
A8. 60%는 주요 색상(배경 등 넓은 영역), 30%는 보조 색상(카드, 섹션 구분), 10%는 강조 색상(CTA, 중요 링크)
Q9. ARIA를 사용하기 전에 가장 먼저 해야 할 것은 무엇입니까?
A9. 올바른 시맨틱 HTML 요소를 사용해야 합니다. 네이티브 HTML로 충분하면 ARIA를 사용하지 않는 것이 원칙입니다.
Q10. 고객 여정 맵의 5가지 구성 요소를 나열하세요.
A10. 단계(Stages), 행동(Actions), 생각(Thoughts), 감정(Emotions), 접점(Touchpoints). 여기에 기회(Opportunities)를 추가하면 6가지가 됩니다.
Design Thinking & UX Fundamentals — How to Solve Problems with a User-Centered Approach
Introduction
"The feature works perfectly, but no one uses it." If you are a developer, you have probably heard this before. The most common reason technically excellent products fail in the market is a failure to understand the user.
Design Thinking is a systematic methodology for discovering real user problems and rapidly validating creative solutions. This article covers the 5 stages of design thinking, UX research, UI design principles, accessibility, prototyping, and practical UX tips that developers can apply immediately.
This is not designer-exclusive knowledge. It is a fundamental skill for everyone who builds good software.
Part 1: Design Thinking
1. What Is Design Thinking
Origin and Definition
Design thinking originated in the 1960s in architecture and industrial design, then spread to business and technology through IDEO and the Stanford d.school. It is a human-centered problem-solving methodology.
The core philosophy is simple:
- Start with the actual needs of users
- Redefine the problem from diverse perspectives
- Validate hypotheses through rapid experimentation
- Treat failure as a learning opportunity
Unlike traditional linear problem-solving (define -> analyze -> solve), design thinking makes iteration and feedback central.
Why It Matters for Developers
Developers typically focus on "How to build it." Design thinking asks "Why are we building it?" and "Who is it for?" first. This shift in perspective creates practical differences:
| Perspective | Technology-Centric | User-Centric |
|---|---|---|
| Starting point | Technical feasibility | User pain points |
| Success criteria | Feature completeness | Problem resolution |
| Feedback timing | Post-launch | Continuously before/during development |
| Cost of change | High (discovered late) | Low (discovered early) |
2. The 5 Stages of Design Thinking
The Stanford d.school 5-stage framework is the most widely recognized model of design thinking.
Stage 1: Empathize
Deeply understand what users actually experience, feel, and struggle with.
Key Activities
- Contextual Inquiry: Observe user behavior in their actual environment
- Empathy Interviews: Discover hidden needs through open-ended questions
- Immersion: Experience the user's situation firsthand
- Empathy Map: Visually organize what users say, think, feel, and do
Common Mistakes
- Asking users "What do you want?" directly is ineffective. Users struggle to articulate their own needs accurately
- Be careful not to mistake internal team assumptions for the user's voice
Stage 2: Define
Analyze data collected during the empathy stage to clearly define the core problem to solve.
Writing a Point of View (POV) Statement
- Format: "User (who) needs ... because ..."
- Example: "A remote team lead needs an intuitive way to understand team progress in asynchronous environments, because current text-based reporting easily loses context."
Criteria for a Good Problem Definition
- Specific but does not constrain the solution
- Written from the user's perspective
- Implies measurable success criteria
Stage 3: Ideate
Generate as many solution ideas as possible for the defined problem.
Key Techniques
- Brainstorming: Defer judgment and prioritize quantity. Apply the "Yes, and..." rule
- Mind Mapping: Expand ideas radially from a central topic
- SCAMPER: Substitute, Combine, Adapt, Modify, Put to other uses, Eliminate, Reverse
- Crazy 8s: Sketch 8 different ideas in 8 minutes
Effective Idea Selection Criteria
- Technical Feasibility
- Business Viability
- User Desirability
The sweet spot for innovation is where these three circles overlap.
Stage 4: Prototype
Quickly and cheaply materialize selected ideas into testable forms.
Prototyping Principles
- It does not need to be perfect. It just needs to be good enough to validate your core hypothesis
- Faster is better. You should be able to build it in hours, not days
- It should be easy to discard. Attachment leads to ignoring feedback
Prototyping tools and techniques are covered in detail in Part 3 of this article.
Stage 5: Test
Show the prototype to real users and validate whether your hypotheses are correct.
Core Testing Principles
- Observe, do not explain. Hand the prototype to the user and watch quietly
- Test the hypothesis, not the prototype. Not "Is this design pretty?" but "Can the user find the next action within 3 seconds?"
- 5 participants are enough. According to Nielsen Norman Group research, about 85% of usability problems can be discovered with just 5 test participants
Post-Test Actions
- If the problem definition was wrong, go back to Stage 2
- If ideas are insufficient, go back to Stage 3
- If it is a prototype detail issue, repeat Stage 4
This iterative loop is the essence of design thinking.
Part 2: User Research
3. UX Research Methods
Qualitative vs Quantitative Research
| Aspect | Qualitative | Quantitative |
|---|---|---|
| Purpose | Understand "why" | Measure "how much" |
| Methods | Interviews, observation, diaries | Surveys, A/B tests, analytics |
| Participants | 5-15 | 100+ |
| Outputs | Insights, themes, patterns | Statistics, graphs, numbers |
| When to use | Discovery/exploration phase | Validation/optimization phase |
In practice, combining both is most effective. Use qualitative research to discover "why" and quantitative research to validate "how much."
User Interviews
Interview Preparation
- Define research questions first (these differ from interview questions)
- Compose open-ended questions: "How do you...?", "Tell me about the last time you..."
- Avoid leading questions: "Didn't you find this feature inconvenient?" (X) vs "What was your experience using this feature?" (O)
Interview Tips
- 5-Second Rule: Maintain at least 5 seconds of silence after asking a question. Awkward silences draw out authentic answers
- Ask "Why?" 5 times (5 Whys). Discover the real motivation beneath surface-level answers
- Observe behavior, not words. A user may say "it's easy" while struggling for 3 minutes
Personas
Personas are fictional representative user profiles created from research data.
Components of a Good Persona
- Demographics (age, occupation, tech proficiency)
- Goals and motivations (what they want to achieve)
- Pain points (what is currently frustrating)
- Behavior patterns (how they seek information, how they make decisions)
- Context (where, on what device, under what circumstances they use the product)
Caution: Creating personas from "imagination" is meaningless. They must be grounded in actual research data. Unfounded personas become a tool for justifying the team's biases.
Customer Journey Map
A visual representation of the entire process a user goes through when interacting with a product or service.
Components of a Journey Map
- Stages: Awareness -> Consideration -> Decision -> Use -> Advocacy/Churn
- Actions: What the user does at each stage
- Thoughts: The user's internal monologue at that moment
- Emotions: Positive-neutral-negative emotion curve
- Touchpoints: Points where the user and product meet
- Opportunities: Points for improvement
Journey Mapping Tips
- Create the "As-Is" (current state) map first, then the "To-Be" (target state) map
- The lowest point on the emotion curve (pain point) is the biggest opportunity
- When the entire team creates it together, it breaks down cross-departmental silos
Usability Testing
Ask users to perform specific tasks and observe the process to discover usability issues.
Types of Usability Tests
- Moderated: A facilitator is present to observe and ask questions in real time
- Unmoderated: Users independently complete tasks through remote tools
- Guerrilla: Request 5-minute tests from passersby in cafes or public spaces
Writing Task Scenarios
- "Click the search button" (X) - Do not dictate actions
- "Try to reorder the product you ordered last month" (O) - Present a goal
Part 3: UX Principles and Laws
4. Nielsen's 10 Usability Heuristics
The 10 heuristics defined by Jakob Nielsen in 1994 remain the standard for UX evaluation three decades later.
1) Visibility of System Status
The system should always keep users informed about what is happening through appropriate feedback in a timely manner.
- Good: File upload progress bar, save confirmation message
- Bad: Pressing a button with no visible response
2) Match Between System and the Real World
The system should use language, concepts, and sequences familiar to the user.
- Use everyday language instead of technical jargon
- Follow real-world conventions (e.g., the "shopping cart" metaphor in e-commerce)
3) User Control and Freedom
Users should be able to easily undo mistakes.
- Provide undo functionality
- Offer confirmation dialogs like "Are you sure you want to delete?"
- Provide clear "emergency exits"
4) Consistency and Standards
The same words, situations, and actions should always mean the same thing.
- Follow platform conventions (e.g., back button in the top-left on iOS)
- Internal consistency: The same function behaves the same way throughout the app
5) Error Prevention
Designing to prevent errors is more important than writing good error messages.
- Add confirmation steps before dangerous actions
- Communicate input constraints upfront (e.g., real-time password requirement display)
6) Recognition Rather Than Recall
Minimize what users need to remember and make choices visible.
- Show recent searches
- Use step indicators (steppers)
- Provide examples in input field placeholders
7) Flexibility and Efficiency of Use
Provide design that satisfies both beginners and experts.
- Offer both keyboard shortcuts (for experts) and menus (for beginners)
- Allow customization of frequently used features
8) Aesthetic and Minimalist Design
Every screen should contain only essential information. Unnecessary information reduces the visibility of necessary information.
9) Help Users Recognize, Diagnose, and Recover from Errors
Error messages should be written in plain language, not error codes, and clearly explain the cause and solution.
- "Error 500" (X)
- "The server encountered a temporary problem. Please try again shortly." (O)
10) Help and Documentation
Ideally the system is intuitive enough that help is unnecessary, but when needed, help should be easy to find and specific.
5. Core UX Laws
Fitts's Law
"The shorter the distance to a target and the larger its size, the easier it is to click."
Practical application:
- Make CTA (Call to Action) buttons large and prominent
- Place frequently used features where the hand can easily reach
- Group related items close together
Hick's Law
"The more choices there are, the longer it takes to make a decision."
Practical application:
- Limit options to 5-7 or fewer
- Group into categories for stepwise selection
- Highlight a recommended option (e.g., "Popular" badge on a pricing plan)
Miller's Law
"The average person can hold approximately 7 (plus or minus 2) items in working memory."
Practical application:
- Keep navigation menu items to 7 or fewer
- Break long information into meaningful chunks
- Grouping phone numbers like "010-1234-5678" is a classic example
Jakob's Law
"Users spend most of their time on other sites. They expect your site to work like all the other sites they already know."
Practical application:
- Place the logo in the top-left, search in the top-center, cart in the top-right
- Follow established design patterns
- Innovation is only justified when it sufficiently offsets the user's learning cost
Part 4: UI Design Fundamentals
6. Visual Hierarchy
A design principle that naturally guides the user's gaze from the most important to the least important elements.
Tools of Visual Hierarchy
Size: Larger elements catch the eye first. Communicate information priority through size differences among headings, subheadings, and body text.
Color: High-contrast colors increase prominence. Using an accent color for CTA buttons is a classic example.
Whitespace: Empty space is not waste. The more whitespace around an element, the more that element stands out. Apple's website is famous for dramatic use of whitespace.
Position: The F-pattern (text-heavy) and Z-pattern (image-heavy) are well-known eye-tracking patterns.
7. Typography
Fundamental Principles
Font Pairing: Generally, 2-3 font combinations are appropriate. Use different typefaces for headings and body text to create contrast.
Readability Metrics
- Body font size: minimum 16px (comfortable reading even on mobile)
- Line Height: 1.4-1.8 times the font size
- Line Length: 45-75 characters per line is optimal
- Paragraph spacing: 1.5-2 times the line height
Web Typography Tips
- Consider system fonts first (performance advantage)
- Pay attention to baseline alignment when mixing CJK and Latin characters
- Use
font-display: swapto prevent invisible text during font loading (FOIT)
8. Color Theory
Psychological Effects of Color
| Color | Associated Emotions | Common Uses |
|---|---|---|
| Blue | Trust, stability | Finance, enterprise, social media |
| Red | Urgency, passion | Warnings, sales, food |
| Green | Growth, safety | Completion, success, eco-friendly |
| Yellow | Attention, energy | Warnings, highlights |
| Purple | Luxury, creativity | Premium brands |
Building a Color System
60-30-10 Rule
- 60%: Primary color - background, large areas
- 30%: Secondary color - cards, section dividers
- 10%: Accent color - CTAs, important links
Contrast Ratio
WCAG 2.1 standards:
- Normal text: minimum 4.5:1
- Large text (18px+ or 14px bold): minimum 3:1
- UI components: minimum 3:1
9. Grid Systems
Why Use Grids
- Ensures consistent layout and alignment
- Provides the foundation for responsive design
- Facilitates communication between designers and developers
12-Column Grid
The most widely used system. 12 divides evenly by 2, 3, 4, and 6, enabling flexible layout combinations.
| 1 column | = all 12 columns
| 2 columns | = 6 + 6
| 3 columns | = 4 + 4 + 4
| 4 columns | = 3 + 3 + 3 + 3
| Asymmetric | = 8 + 4 (content + sidebar)
Responsive Breakpoints
Typical breakpoint ranges:
- Mobile: 320px-767px (1-2 columns)
- Tablet: 768px-1023px (2-3 columns)
- Desktop: 1024px-1439px (3-4 columns)
- Large display: 1440px+ (max-width constraint recommended)
Part 5: Information Architecture
10. What Is Information Architecture (IA)
The discipline of structuring and organizing content so users can easily find the information they need.
Card Sorting
Let users group and label content themselves to design information structures aligned with users' mental models.
Types
- Open Card Sorting: Users freely create groups and name them
- Closed Card Sorting: Users sort cards into predefined categories
- Hybrid: Provide predefined categories but allow creation of new ones
Sitemaps
Documents that visualize information structure in tree form.
Sitemap Principles
- Prioritize breadth over depth (3 levels or fewer recommended)
- Use category names that match users' mental models
- Important pages should be reachable with minimal clicks
Navigation Patterns
Global Navigation: The main menu accessible from all pages (top bar, sidebar)
Local Navigation: Sub-menus within the current section
Breadcrumbs: A path indicator showing the current location (Home > Category > Subcategory > Current Page)
Search: A complement to navigation. About 50% of users try search first
Faceted Navigation: Filter by multiple criteria simultaneously. Price/brand/color filters in e-commerce are a classic example
Part 3: Prototyping
11. Types of Prototypes
Lo-fi (Low-Fidelity) Prototypes
Paper Prototypes
- Draw screens on paper and manually "play" through them
- Costs almost nothing and can be made in 5 minutes
- Ideal for early idea validation
Wireframes
- Blueprints showing layout and information structure
- Intentionally exclude color, images, and branding
- A tool for getting feedback on structure and flow
Hi-fi (High-Fidelity) Prototypes
Interactive Prototypes
- Have look and feel nearly identical to the actual product
- Include interactions such as clicks, transitions, and animations
- Suitable for usability testing and stakeholder presentations
Choosing the Right Fidelity
| Situation | Recommended Fidelity |
|---|---|
| Early idea exploration | Lo-fi (paper, whiteboard) |
| Validating structure and flow | Lo-fi (wireframe) |
| Usability testing | Mid-fi to Hi-fi |
| Stakeholder presentation | Hi-fi |
| Development handoff | Hi-fi (Figma, etc.) |
12. Figma in Practice
Why Figma
- Browser-based with no installation required
- Real-time collaboration (designers, developers, PMs working simultaneously)
- Systematic design systems with Auto Layout, Components, and Variables
- Dev Mode for developers to inspect specs directly
How Developers Can Use Figma
- Dev Mode: Directly check CSS code, spacing, and color values
- Inspect Panel: Convert selected element properties to code
- Prototype Links: Check screen transitions and interaction specs
- Comments: Leave implementation-related questions for designers
Part 4: Accessibility (A11y)
13. Why Web Accessibility Matters
Accessibility by the Numbers
- Approximately 15% of the global population (about 1 billion people) have some form of disability
- Color vision deficiency affects about 8% of men and about 0.5% of women
- In aging societies, declining vision and motor ability are universal issues
- Temporary disabilities (broken arm, bright sunlight) can happen to anyone
Accessibility Is a Legal Obligation
- South Korea: Anti-Disability Discrimination Act, Web Accessibility Certification
- United States: ADA (Americans with Disabilities Act), Section 508
- Europe: European Accessibility Act (effective 2025)
14. WCAG 2.1 Core Principles
The POUR Principles
Perceivable
- Provide alt text for all images
- Provide captions and audio descriptions for video
- Do not convey information through color alone (use color + icon/text)
Operable
- All functionality must be usable with keyboard alone
- Time-limited content must be adjustable or extendable
- Flashing content must not exceed 3 flashes per second
Understandable
- Write text at an easy-to-read level
- Pages and UI should behave in predictable ways
- Provide guidance on how to correct errors
Robust
- Works reliably across various user agents (browsers, assistive technologies)
- Use standard HTML and apply ARIA appropriately
15. Keyboard Navigation
Core Keyboard Interactions
| Key | Action |
|---|---|
| Tab | Move to next focusable element |
| Shift+Tab | Move to previous element |
| Enter/Space | Activate button, follow link |
| Esc | Close modal/dropdown |
| Arrow keys | Move within radio buttons, tabs, menus |
Development Checklist
- Does focus order match visual order
- Are focus indicators clearly visible (do not remove outline!)
- Are there no keyboard traps (not getting stuck in modals)
- Is there a skip navigation link
16. Screen Readers and ARIA
Semantic HTML Comes First
Before using ARIA (Accessible Rich Internet Applications), use the correct HTML elements.
<!-- Bad -->
<div onclick="handleClick()">A div that looks like a button</div>
<!-- Good -->
<button onclick="handleClick()">A real button</button>
Key ARIA Roles
role: Specifies the element's role (navigation, alert, dialog, etc.)aria-label: Provides an accessible name for elements without visible textaria-live: Notifies screen readers of dynamically changing contentaria-hidden: Hides decorative elements from screen readers
ARIA Usage Principles
- Do not use ARIA if native HTML is sufficient
- Do not change semantic meaning
- All interactive elements must have an accessible name
- If you add ARIA, always implement keyboard support as well
17. Color Contrast and Visual Accessibility
Contrast Checking Tools
- Chrome DevTools color contrast checker
- WebAIM Contrast Checker (online tool)
- Figma plugins: Stark, Contrast
Designing for Color Vision Deficiency
- Avoid red-green combinations (the most common type of color blindness)
- Provide additional cues beyond color: shapes, patterns, text
- Test with Chrome DevTools color vision simulation
Part 5: Mobile UX
18. Thumb Zone
Smartphone Usage Patterns
According to Steven Hoober's research, about 75% of users operate their smartphones with one hand. This divides the screen into three zones:
- Easy Zone: Bottom-center to bottom of screen - place frequent primary actions
- Ok Zone: Center portion of screen - general content
- Hard Zone: Top corners of screen - place infrequently used features
Mobile UX Guidelines
- Minimum touch target size: 44x44pt (Apple) / 48x48dp (Google)
- Minimum spacing between touch targets: 8px+
- Place primary CTAs at the bottom of the screen (e.g., fixed bottom buttons)
- Placing navigation bars at the bottom is an expanding trend
19. Gestures and Interactions
Common Mobile Gestures
| Gesture | Common Use |
|---|---|
| Tap | Select, activate |
| Double tap | Zoom in/out |
| Long press | Context menu, preview |
| Swipe | Page transition, delete, archive |
| Pinch | Zoom in/out |
| Drag | Move, reorder |
| Pull to refresh | Refresh content |
Gesture Design Principles
- Gestures are hard to discover. Always provide alternative UI alongside them
- Do not override habitual gestures (swipe-to-go-back, etc.)
- Show a preview of the gesture's result (e.g., revealing a delete button underneath during swipe)
20. Responsive Design
Mobile-First Approach
Why Mobile First
- Starting with a constrained environment forces focus on the essentials
- Using
min-widthin CSS media queries makes progressive enhancement easier - About 60% of global web traffic comes from mobile
Core Responsive Design Techniques
- Flexible grids: Use %, fr, vw units instead of fixed px
- Flexible images: Adjust to containers with
max-width: 100% - Media queries: Change layout according to screen size
- Container queries: Apply styles based on parent element size (latest technique)
Part 6: UX Metrics and UX for Developers
21. UX Metrics
SUS (System Usability Scale)
Evaluates system usability on a 0-100 scale using 10 standardized questions.
- Average score: 68
- 80+: Excellent
- Below 50: Needs improvement
The advantage of SUS is that it is quick, simple, and benchmarkable against industry averages.
NPS (Net Promoter Score)
"Would you recommend this product to a friend or colleague?" (0-10 scale)
- Promoters: 9-10
- Passives: 7-8
- Detractors: 0-6
- NPS = % Promoters - % Detractors
Task Success Rate
The percentage of participants who successfully complete a given task in usability testing.
- Binary success (complete/fail)
- Can include partial success (e.g., completed with assistance)
- Industry average: approximately 78%
Other Key Metrics
- Task Completion Time: Time taken for a user to complete a task
- Error Rate: Frequency of errors during task execution
- First Click Accuracy: Percentage of first clicks on the correct path (correct first click boosts final success rate to about 87%)
- Bounce Rate: Percentage of visitors who leave without further interaction
22. Practical UX Guide for Developers
UX Checks in Code Review
Add the following UX checklist to functional code reviews:
Loading States
- Is a skeleton UI or spinner displayed during loading
- Is a clear message shown to the user on error
- Is the empty state handled appropriately
Form Handling
- Is validation performed in real time
- Are error messages displayed near the relevant field
- Is the submit button disabled during submission (preventing duplicate submissions)
- Is appropriate feedback provided after success
Accessibility
- Is semantic HTML used
- Do images have alt text
- Can all features be used with keyboard
- Is focus management appropriate (when opening/closing modals)
Performance
- Are images properly optimized
- Are there unnecessary re-renders
- Does layout shift (CLS) occur
Using Design Systems
A design system is a collection of reusable components and guidelines for building consistent UI efficiently.
Core Components of a Design System
- Design Tokens: Manage values like color, spacing, typography, and shadows as variables
/* Example: Managing design tokens with CSS Custom Properties */
:root {
--color-primary: #2563eb;
--color-error: #dc2626;
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
--font-size-body: 16px;
--font-size-heading: 24px;
--border-radius-md: 8px;
}
- Component Library: Reusable UI blocks like buttons, input fields, cards, modals
- Pattern Library: Recurring UI patterns like login forms, search, table filters
- Guidelines Documentation: Usage, Do/Don't, accessibility notes for each component
Popular Open-Source Design Systems
- Material Design (Google)
- Ant Design (Alibaba)
- Chakra UI
- Radix UI
- shadcn/ui
23. UX and Development Collaboration
Design Handoff Checklist
Items to verify when receiving designs from a designer:
- Are all states defined: Default, hover, active, disabled, error, loading, empty state
- Are responsive specs provided: Layouts for mobile, tablet, desktop
- Are interaction specs provided: Transition animations, gestures, micro-interactions
- Edge cases: Very long text, no data, insufficient permissions
How Developers Can Contribute to UX
- Share technical constraints early: "This animation could cause performance issues"
- Propose alternatives: "Instead of this approach, this method achieves the same effect more efficiently"
- Optimize frontend performance: Speed is at the heart of user experience
- Include accessibility naturally: Adding it later doubles the cost
- Leverage user data: Suggest UX improvements using error logs and funnel analysis
Conclusion
Design thinking and UX are not "designer territory." If the ultimate goal of every developer is to build software that delivers value to users, understanding UX is not optional but essential.
A one-line summary of everything covered in this article:
Observe users, define the problem, try quickly, learn, and try again.
Three things you can do starting today:
- Evaluate your current project with Nielsen's 10 Heuristics - the easiest first step
- Use your app with keyboard only - accessibility issues will immediately surface
- Add a UX checklist to your code reviews - it raises the entire team's UX awareness
Good UX is not grand innovation but an accumulation of small considerations.
References
- Don Norman, "The Design of Everyday Things"
- Steve Krug, "Don't Make Me Think"
- Jakob Nielsen's Usability Heuristics (Nielsen Norman Group)
- WCAG 2.1 Guidelines (W3C)
- Google Material Design Guidelines
- Apple Human Interface Guidelines
- Laws of UX (lawsofux.com)
- Stanford d.school Resources
- IDEO Design Thinking Resources
Quiz: Design Thinking and UX Comprehension Check
Q1. List the 5 stages of design thinking in order.
A1. Empathize -> Define -> Ideate -> Prototype -> Test
Q2. According to Nielsen Norman Group research, how many test participants are needed to discover approximately 85% of usability problems?
A2. 5
Q3. Explain the core principle of Fitts's Law.
A3. The shorter the distance to a target and the larger its size, the easier it is to click (select).
Q4. List the four POUR principles of WCAG 2.1.
A4. Perceivable, Operable, Understandable, Robust
Q5. What is the working memory limit described in Miller's Law?
A5. 7 (plus or minus 2) items, meaning 5-9 items.
Q6. What are the average and excellent threshold scores for SUS (System Usability Scale)?
A6. Average is 68, 80 or above is excellent.
Q7. What is the minimum recommended size for mobile touch targets?
A7. 44x44pt per Apple guidelines, 48x48dp per Google Material Design.
Q8. Explain the role of each ratio in the 60-30-10 rule.
A8. 60% is the primary color (backgrounds and large areas), 30% is the secondary color (cards, section dividers), and 10% is the accent color (CTAs, important links).
Q9. What must you do before using ARIA?
A9. Use the correct semantic HTML elements first. The principle is to avoid using ARIA if native HTML is sufficient.
Q10. List the 5 components of a customer journey map.
A10. Stages, Actions, Thoughts, Emotions, Touchpoints. Adding Opportunities makes 6.