한글 입력 설계
한글 자판 설계는 자소 빈도 분석에 기반해야 한다. pxd 블로그에서 無異는 트위터 데이터 60만 자를 분석하여 한글 자소 빈도를 정량화하고, 이를 키보드 히트맵으로 시각화하는 도구를 만들었다. 이 연구는 터치스크린 한글 자판의 효율성을 객관적으로 평가하기 위한 것이다.
분석 결과, 초성에서는 ㅇ이 압도적으로 높은 빈도를 보이며 ㄱ, ㅅ, ㅈ, ㄷ, ㄴ이 뒤따른다. 받침 없는 글자가 전체의 56%를 차지하고, 종성에서는 ㄴ이 가장 많다. 트위터 특성상 초성체 사용(ㅋㅋ 등)이 13%에서 확인되어, 실제 사용 맥락을 반영한 데이터임을 알 수 있다.
터치스크린 환경에서는 하드웨어 제약 없이 더 나은 자판 설계가 가능하다. 구글단모음 키보드는 사용 빈도가 낮은 모음(ㅑㅕㅛㅠ, 전체 빈도 합 7.6%)을 제거하고 키 크기를 25% 키워 오타를 줄이는 방향을 택했다. 쌍자음·복모음 입력은 별도 Shift 키 대신 멀티탭(같은 키를 여러 번 누름) 방식으로 전환해 손가락 이동 거리를 줄였다. 無異의 무이단모음 키보드는 이를 더 발전시켜 멀티탭의 "의도 구분 문제"(예: '하꾜'와 '학교'의 ㄱㄱ 구분)를 AI 예측으로 해결하는 방향을 제안했다. 두벌식이나 천지인처럼 하드웨어 제약에서 출발한 자판들은 터치스크린에서 비효율적인 측면이 있으며, 근육 기억(muscle memory)의 재학습 비용을 감수하더라도 더 효율적인 자판을 선택하는 것이 합리적이라는 주장이다.
모바일 환경에서는 입력 필드 맥락에 맞는 가상 키패드를 제공하는 것이 중요한 UX 과제다. iOS와 안드로이드 모두 입력 유형에 따라 최적화된 키패드를 제공하는 방법이 있으며, 두 가지 접근이 있다. UI 기획 단계에서 각 입력 필드에 적합한 키패드 유형(기본, 이메일, URL, 숫자, 전화번호 등)을 명시하는 방법과, HTML의 `inputmode` 속성을 사용해 시맨틱하게 정의하는 방법이다. `inputmode`는 자바스크립트 없이도 브라우저에 적합한 가상 키보드를 호출할 수 있어 구현 비용이 낮고 UX 향상 효과가 크다. MFA 인증에서는 `autocomplete="one-time-code"` 속성을 함께 사용하면 iOS가 SMS에서 인증 코드를 자동으로 가져올 수 있다.
맥락 인식 키보드(Contextual Keyboard) 문제의식은 이미 2010년부터 제기되었다. 아이패드 Numbers 앱은 셀 안에서 숫자·함수 입력에 특화된 키패드를 보여주는 초기 사례였고, 아이폰 OS4에서는 사파리 검색창의 버튼 레이블이 'Google'·'Yahoo!'에서 일반적인 'Search'로 바뀌면서 브랜드를 지우려는 것 아니냐는 논란이 일기도 했다. 당시 아이폰은 일반 입력폼의 엔터키를 'Go'로, 검색폼은 'Search'로 구분해 표시했지만, 네이버와 다음은 오랫동안 검색 버튼 레이블을 '이동'으로 방치해 UX 디테일에 대한 내부 소통과 고객 피드백 채널의 부재를 드러냈다. 이 문제의 근본 해결책은 HTML `input` 태그에 `type="search"`를 지정하는 것으로, 별도의 자바스크립트 없이도 브라우저가 맥락에 맞는 액션 버튼 레이블과 키패드를 제공하게 만든다. 이는 이후 `inputmode` 속성으로 이어지는 '입력 필드 맥락에 따른 최적화'라는 원칙의 초기 형태다.
자판 설계의 근본 원리는 2010년 pxd UI.lab 글에서 이미 제시된 바 있다. 모바일 기기에서는 자판의 수와 키캡의 크기 사이의 트레이드오프가 핵심 제약이다. QWERTY(28~30키)처럼 키 수가 많으면 입력 횟수는 줄지만 키가 작아져 피츠의 법칙에 따라 오타가 늘고, 3x4(12키) 자판은 오조작은 적지만 입력 횟수가 늘어난다. 자소 빈도를 반영한 조합 규칙은 허프만 코딩(파일 압축 알고리즘)이나 모스 부호와 같은 원리로, 빈도가 높은 문자를 더 적은 입력으로 표현하는 것이 효율적이라는 논리다. 세벌식 자판은 이 원리를 실제로 구현해 가장 빈도가 높은 자모음을 검지에, 낮은 빈도를 약지에 배치하고, 손을 올려두는 resting position(가운데 열)에 고빈도 글자를 두는 반면, 두벌식과 QWERTY는 빈도를 고려하지 않고 설계됐다. 터치패드는 촉감 피드백이 없다는 단점이 있지만, 좌우 드래그로 스페이스·백스페이스를 입력하는 제스처 입력이나 자음 키를 누른 채 위아래로 드래그해 획추가·쌍자음을 입력하는 키맵핑 확장처럼 물리 키보드에 없던 입력 방식을 가능하게 한다. 천지인 자판의 개선안으로는 자음-모음-자음의 일반적 입력 순서를 왼손-오른손 교대 입력과 매치시키고, 모음을 화면 오른쪽 세로열에 배치해 자판 자체가 하나의 '글자' 구조처럼 보이도록 하며, 자소 사용 빈도에 따라 키를 배치하는 방향이 제시됐다.
핵심 내용
- 자소 빈도가 높은 키를 중앙 줄, 강한 손가락(검지·중지)에 배치하는 것이 원칙
- 자음과 모음을 양손으로 분리하면 교대 입력으로 속도와 편의성 향상
- 북한 김영민 자판은 한국 KSC5715 두벌식보다 자소 빈도를 세밀하게 반영하여 약 20% 빠른 입력 속도를 보임
- 키패드 유형: 기본, 이메일, URL, PIN/숫자, 전화번호, 웹검색 등 맥락별로 구분
- HTML `inputmode` 속성으로 none/text/decimal/numeric/tel/search/email/url 등을 지정 가능
- iOS와 안드로이드는 액션 버튼(검색, 이동, 다음) 형태가 맥락에 따라 다르게 제공됨
- 액션 버튼 레이블 문제는 2010년부터 있었으며(다음의 '이동' 방치 사례), `input type="search"` 지정만으로 해결 가능
- 터치스크린 자판은 하드웨어 제약 없이 설계 가능하므로 빈도 기반 최적화가 더 유효
- 구글단모음 키보드: 저빈도 모음 4개 제거로 키 크기 25% 확대, 타수 증가는 3%뿐
- 멀티탭 방식이 Shift 키보다 운지 거리가 적어 피로도 낮음
- 자판 전환 시 근육 기억 재학습 비용이 있으나 장기적 효율을 위해 감수할 가치 있음
- 자판의 수와 키캡 크기는 트레이드오프 관계이며, 중간 개수의 키가 최적(피츠의 법칙과 관련)
- 허프만 코딩·모스 부호처럼 고빈도 문자를 적은 입력으로 표현하는 것이 효율적인 조합 설계 원리
- 세벌식은 고빈도 자모음을 검지·중앙 열(resting position)에, 저빈도를 약지에 배치해 빈도 기반 설계를 구현
- 터치패드 특유의 드래그 제스처·키맵핑 확장은 물리 키보드에 없던 입력 방식을 가능케 함
- 천지인 개선안: 자모 입력 순서를 좌우 손 교대와 매치, 모음을 세로열 배치해 '글자' 구조로 시각화
TV 환경 한글 자판 설계: 자소쌍 빈도 분석과 유전 알고리즘
TV 리모컨 방향키 기반 입력은 포커스를 이동하는 방식이므로, 두 손으로 자유롭게 타이핑하는 컴퓨터 키보드 레이아웃을 그대로 TV에 적용하면 비효율이 크다. pxd와 인턴 박기백은 약 200만 자의 한글 문장과 173만 개의 트위터 단어를 수집하여 자소쌍 빈도를 분석했다. 자소쌍이란 초성·중성·종성이 연이어 오는 두 자소 간의 전이 빈도이며, 이를 이용해 "어떤 키를 누른 뒤 다음 키까지 포커스가 이동하는 평균 거리"를 수치화하는 평가 함수를 만들었다.
기준점인 표준 두벌식(2beol)은 평가 점수 14.63으로 매우 비효율적이었다. 수작업 레이아웃 설계로 sandwich3가 8.98(61%)에 도달했고, 유전 알고리즘을 통해 상위 10% 부모만 교배하는 방식으로 8.89(61%)까지 개선했다. 실험에서 확인된 공통 패턴은 다음과 같다: 사용 빈도가 낮은 자소는 외곽에 배치, ㅇ·ㄴ·ㅏ·ㅣ 는 항상 인접 클러스터 형성, 고빈도 자소는 가운데 세로 열(2~4열)에 집중. 학습 편의를 위해 자음 열·모음 열을 엄격히 분리한 최종 자판은 알고리즘 최적값 대비 0.6%만 성능이 낮으면서 학습 용이성을 확보했다.
영어 키보드에 대해서도 동일한 유전 알고리즘을 적용하여 QWERTY 대비 69% 수준의 이동 거리를 달성했다. 핵심 시사점은 "새 술은 새 부대에": 기존 하드웨어 자판 레이아웃을 포커스 기반 TV에 그대로 이식하지 말고, 입력 환경의 물리적 특성에 맞게 재설계해야 한다는 것이다.
관련 개념
- UX와 UI의 차이 — 입력 인터페이스는 UI 설계의 핵심 영역
- 키오스크 UI 설계 — 대형 화면에서의 가상 키보드 배치 문제
- 피츠의 법칙 — 키캡 크기와 오타율의 관계를 설명하는 이론적 근거
iOS 한글 폰트와 CSS font-family 설계
모바일 OS 업데이트는 기본 폰트를 교체할 수 있으며, 이는 CSS에서 특정 폰트를 명시한 서비스에 의도치 않은 부작용을 준다. iOS 5.1 업데이트에서 애플산돌고딕Neo가 새로 도입되면서 기존의 애플고딕이 더 가늘고 자간이 달라진 폰트로 교체되었다. 이로 인해 CSS `font-family`에 `AppleGothic`을 명시한 사이트들은 오히려 가독성이 나빠지는 역효과가 발생했다. 결론적으로, iOS를 고려해 `AppleGothic`을 `font-family`에 포함하는 것은 5.1 이후 오히려 역효과이므로 제거하는 것이 권장된다.
이 사례는 한글 입력 설계뿐 아니라 한국어 웹/앱 폰트 스택 설계에서 OS 업데이트에 따른 폰트 변화를 지속적으로 검증해야 한다는 점을 보여준다. 플랫폼 기본 폰트에 의존하는 설계는 OS 업데이트마다 재검토가 필요하다.
출처
- [정보디자인] 한글 자소 빈도와 키보드 히트맵 — 2014-10-02, 無異
- [UI 디테일] 모바일 UI 키패드의 유형에 대해서 — 2019-05-07, 위승용 uxdragon
- 상황에 맞는 키패드를 보여주기 — 2022-07-11, doworld
- 무이단모음 키보드 (구글단모음 키보드 리디자인) — 2014-10-07, 無異
- 아이와 함께 만드는 한글 공부용 한글 키보드 — 2016-05-04, 無異
- iOS 5.1 애플산돌고딕neo 과 애플고딕 — 無異, UX 가벼운 이야기
- Design Efficient Keyboards for TV — 2019-10-07, 알 수 없는 사용자
- Mobile Device 상에서의 한글자판 배열 — 2010-04-02, pxd UI.lab (편집: 김금룡)
- Contextual Keyboard / 다음은 검색을 안하나요? — 2010-04-13, 無異