이 글의 내용
GUI는 Graphical User Interface의 약자로, 아이콘·버튼·메뉴 같은 그래픽 요소로 컴퓨터와 기기를 조작하는 인터페이스입니다. GUI 디자인은 이러한 요소를 배치하고 상태와 동작을 정해, 사용자가 필요한 정보를 찾고 작업을 완료할 수 있도록 하는 일입니다.
실제 화면을 설계할 때는 요소의 모양보다 사용자가 어떤 순서로 읽고 조작하는지가 중요합니다. Pixso의 UI 디자인 기능에서 화면, 컴포넌트와 프로토타입을 함께 검토하면 정상 상태뿐 아니라 오류와 빈 상태까지 한 흐름으로 확인할 수 있습니다.
1부. GUI 디자인이란?
마우스나 터치로 누를 수 있는 버튼, 정보를 입력하는 폼, 현재 위치를 알려 주는 메뉴가 GUI의 예입니다. 보기 좋은 화면을 만드는 데 그치지 않고, 조작할 수 있는 요소와 그 결과를 이해하기 쉽게 보여 주어야 합니다.
2부. GUI를 설계할 때 확인할 원칙 7가지
GUI를 검토할 때는 일관성, 상태 안내, 오류 대응, 효율성, 인지 부담, 되돌리기, 정보의 명확성을 함께 봅니다. 다음 항목을 실제 화면에 적용해 사용자가 어디에서 망설일지 확인해 보세요.
1. 일관성
같은 기능에는 일관된 이름과 형태를 사용합니다. 화면이 바뀌어도 주요 버튼과 메뉴의 역할이 유지되면 사용자가 매번 다시 배울 필요가 줄어듭니다.
2. 현재 상태를 알려 주기
사용자가 조작한 뒤에는 결과나 진행 상태를 알려 주세요. 저장 중인지, 완료되었는지, 추가 입력이 필요한지 이해할 수 있어야 합니다.

예를 들어 기기가 시작되는 동안 진행 막대를 보여 주면 작업이 진행 중임을 알 수 있습니다. 오래 걸리는 작업에서는 가능한 범위에서 진행 상황도 안내합니다.
3. 오류를 예방하고 해결 방법 안내하기
중요한 작업은 실행 전에 조건을 확인하고, 오류가 생기면 문제가 있는 위치와 해결 방법을 쉬운 말로 알려 주세요. 사용자가 이미 입력한 정보를 불필요하게 다시 작성하게 하지 않는 것도 중요합니다.
4. 작업을 효율적으로 진행할 수 있게 하기
자주 하는 작업은 불필요한 단계를 줄입니다. 초보자는 기본 경로를 따라갈 수 있고, 익숙한 사용자는 검색이나 단축키 등으로 빠르게 처리할 수 있도록 설계합니다.
5. 기억에 의존하지 않는 화면 만들기
사용자가 이전 화면의 정보를 기억하지 않아도 작업할 수 있도록, 필요한 선택지와 현재 상태를 보여 주세요. 검색 아이콘처럼 익숙한 기호도 의미가 불분명한 상황에서는 텍스트 설명을 함께 제공합니다.

검색창의 돋보기는 익숙한 기호이지만, 모든 아이콘이 같은 정도로 이해되는 것은 아닙니다. 대상 사용자에게 실제 화면을 보여 주고 의미를 확인하는 편이 좋습니다.
6. 실수에서 돌아갈 수 있게 하기
되돌리기, 취소, 입력 내용 유지 등으로 실수를 복구할 수 있게 합니다. 복구할 수 없는 작업이라면 실행 전에 결과를 명확하게 안내해야 합니다.
7. 필요한 정보에 집중하기
사용자의 작업과 관계없는 정보가 주요 내용을 가리지 않게 합니다. 단순하게 보이게 하려고 필요한 설명까지 숨기지 말고, 우선순위에 따라 정보를 나눠 보여 주세요.
주소 수정 화면에 7가지 원칙 적용하기
쇼핑 앱에서 저장한 배송지를 고치는 상황을 예로 들어 보겠습니다. 사용자는 주소를 수정한 뒤 새 주소가 저장되었는지 확인하려고 합니다. 입력창과 ‘저장’ 버튼만 있는 화면으로는 저장 실패나 취소가 일어났을 때 무엇이 남는지 설명할 수 없습니다.
| 상태 | 화면에서 보여 줄 내용 | 사용자가 할 수 있어야 하는 일 |
|---|---|---|
| 주소 확인 | 현재 저장된 주소와 ‘주소 수정’ 버튼 | 변경할 주소를 확인하고 수정 시작 |
| 수정 중 | 기존 값이 채워진 입력창, 필수 항목, 저장·취소 | 일부 항목만 수정하거나 원래 주소로 돌아가기 |
| 입력 오류 | 문제가 있는 항목 옆의 구체적인 설명 | 다른 입력은 유지한 채 해당 항목 수정 |
| 저장 중 | 처리 중임을 알리는 문구와 버튼 상태 | 중복으로 저장했는지 걱정하지 않고 결과 대기 |
| 통신 실패 | 저장되지 않았다는 설명과 재시도 | 입력 내용을 잃지 않고 다시 저장 |
| 저장 완료 | 새 주소와 저장 완료 안내 | 수정 결과를 확인하고 주문으로 돌아가기 |
오류를 빨간 테두리로만 표시하면 무엇이 잘못됐는지 알기 어렵습니다. ‘오류가 발생했습니다’보다 ‘우편번호를 입력해 주세요’처럼 해당 항목을 설명합니다. WCAG의 오류 식별 해설(영문)도 자동으로 감지한 입력 오류를 항목과 텍스트 설명으로 알리는 원칙을 제시합니다.
‘취소’와 ‘저장’은 결과가 다르므로 같은 강조 수준으로 두지 않습니다. 값을 바꾸지 않았다면 바로 돌아갈 수 있지만, 수정한 뒤 나가려는 경우에는 변경 내용을 버릴지 결정할 수 있게 합니다. 확인 대화상자를 모든 이동마다 띄우기보다 실제로 잃을 입력이 있을 때 사용하세요. 이는 이 예시의 설계 선택이며, 모든 앱에 같은 대화상자가 필요한 것은 아닙니다.
키보드로 사용할 때는 화면의 읽는 순서와 입력·버튼의 이동 순서가 맞아야 합니다. 오류가 있으면 어느 입력을 고쳐야 하는지 찾을 수 있어야 하고, 저장 결과는 시각적으로도 분명히 남겨야 합니다. 프로토타입에서 표현한 포커스와 메시지가 실제 보조 기술에 전달되는지는 개발된 화면에서 별도로 확인합니다.
3부. GUI 디자이너에게 필요한 역량
1. 디자인 능력
정보의 우선순위를 정하고, 글자·색·간격·컴포넌트로 읽기 쉬운 화면을 구성하는 능력이 필요합니다. 편집 도구를 익히는 것과 함께 상태와 화면 크기에 따른 변화도 설계해야 합니다.

2. 사용자와 개발자의 요구를 이해하는 능력
사용자가 어떤 상황에서 무엇을 하려는지 조사하고, 개발자와 구현 조건을 논의해야 합니다. 화면의 모양뿐 아니라 입력 규칙, 오류 처리, 접근성까지 구체적으로 설명하는 것이 중요합니다.
3. 기기 및 다양한 환경을 이해하는 능력
화면 크기, 입력 방식, 운영체제의 관례를 이해해야 합니다. 같은 기능도 마우스, 터치, 키보드로 사용하는 방식이 다를 수 있으므로 실제 환경에서 확인합니다.
4. 검토 결과를 반영해 개선하는 능력
첫 시안에서 모든 문제를 찾기는 어렵습니다. 프로토타입을 사용해 보고 관찰한 문제를 정리한 뒤, 원인이 있는 화면과 동작을 수정하는 과정이 필요합니다.
화면을 전달하기 전 빠르게 검증하는 방법
- 대표 과업 하나를 정하기: 사용자가 로그인, 검색 또는 결제처럼 실제로 끝내야 하는 작업을 한 가지 선택합니다.
- 상태를 연결하기: 정상·로딩·빈 화면·오류·완료 화면을 연결하고 각 상태에서 다음 행동이 보이는지 확인합니다.
- 입력 방식 바꾸기: 마우스뿐 아니라 키보드와 터치에서도 포커스 순서, 클릭 영역과 되돌리기 방법이 이해되는지 확인합니다.
- 변경 이유 남기기: 팀 리뷰에서 발견한 문제와 결정 사항을 해당 화면에 기록해 개발 전달 시 맥락이 사라지지 않게 합니다.
주소 수정 예시에서는 “상세 주소를 바꾸고, 저장된 주소를 확인해 주세요”라고 요청합니다. 저장 버튼을 찾았는지뿐 아니라 오류 문구를 읽고 수정했는지, 실패를 완료로 오해했는지, 취소하면 무엇이 남는다고 이해했는지를 관찰하세요. 입력창의 위치 문제와 저장 결과에 대한 설명 문제는 수정 방법이 다릅니다.
이 검증은 시각 스타일을 확정한 뒤에도 반복할 수 있습니다. 사용자가 막히는 단계와 원인을 함께 기록하면 GUI를 단순히 보기 좋은 화면이 아니라 완료 가능한 작업 흐름으로 개선할 수 있습니다.
4부. Pixso에서 GUI와 사용 흐름 설계하기
GUI 편집 도구와 실제 프로그램을 개발하는 환경은 역할이 다릅니다. Pixso에서는 화면과 컴포넌트를 만들고 프로토타입으로 흐름을 검토할 수 있으며, 실제 서비스의 동작은 개발 과정에서 구현합니다.
팀과 같은 디자인 파일을 공유하고 화면 위 댓글로 수정 내용을 논의할 수 있습니다. 개발자는 크기, 간격, 스타일과 코드 정보를 확인해 구현에 참고할 수 있습니다.

반복되는 요소는 컴포넌트와 스타일로 관리하세요. 커뮤니티 리소스를 활용할 때는 프로젝트와 맞는지 살펴보고, 실제 문구와 상태를 넣어 화면을 검토하는 것이 좋습니다.

GUI의 품질은 화면의 장식보다 사용자가 정보를 이해하고 작업을 마칠 수 있는지에 달려 있습니다. 주요 화면에서 정상·로딩·오류 상태를 만들고, 다음 행동을 알 수 있는지 확인해 보세요.
Pixso에서 화면 하나를 만들고 팀과 검토하며, 사용자에게 필요한 정보와 동작을 구체화해 보세요.