사용자 인터페이스 디자인

[섬네일|350px|그래픽 사용자 인터페이스는 컴퓨터 화면에 표시된다. 이것은 처리된 사용자 입력의 결과이며 일반적으로 인간-기계 상호작용의 주요 인터페이스이다. 소형 모바일 장치에서 인기 있는 [터치 사용자 인터페이스는 시각적 출력과 시각적 입력의 중첩이다.]]
**[[사용자 인터페이스]] 디자인**(User interface design) 또는 **사용자 인터페이스 엔지니어링**은 컴퓨터, 가전제품, 모바일 장치 및 기타 전자 기기와 같은 기계 및 소프트웨어의 사용자 인터페이스를 디자인하는 것으로, 사용성 및 사용자 경험을 극대화하는 데 중점을 둔다. 컴퓨터 또는 소프트웨어 디자인에서 사용자 인터페이스 (UI) 디자인은 주로 정보 아키텍처에 중점을 둔다. 이는 사용자에게 중요한 내용을 명확하게 전달하는 인터페이스를 구축하는 과정이다. UI 디자인은 그래픽 사용자 인터페이스 및 기타 형태의 인터페이스 디자인을 지칭한다. 사용자 인터페이스 디자인의 목표는 사용자 목표를 달성하는 측면에서 사용자의 상호작용을 가능한 한 간단하고 효율적으로 만드는 것이다 (사용자 중심 설계). 사용자 중심 설계는 일반적으로 대상 사용자와 공감하고, 문제 진술을 정의하고, 잠재적인 솔루션을 구상하고, 와이어프레임을 프로토타이핑하고, 최종 인터페이스 목업을 개선하기 위해 프로토타입을 테스트하는 것을 포함하는 현대적인 디자인 싱킹의 실행을 통해 달성된다.

사용자 인터페이스는 사용자와 디자인 간의 상호작용 지점이다.

## 세 가지 유형의 사용자 인터페이스

;그래픽 사용자 인터페이스 (GUI)
:사용자는 컴퓨터 화면의 시각적 표현과 상호작용한다. 데스크톱은 GUI의 한 예이다.

;음성을 통한 제어 인터페이스
:사용자는 음성을 통해 이들과 상호작용한다. 스마트폰의 Siri나 아마존 장치의 Alexa와 같은 대부분의 스마트 비서는 음성 제어를 사용한다.

;제스처를 활용한 대화형 인터페이스
:사용자는 가상 현실 (VR) 게임에서와 같이 몸을 통해 3D 디자인 환경과 상호작용한다.

인터페이스 디자인은 컴퓨터 시스템부터 자동차, 상업용 비행기에 이르기까지 다양한 프로젝트에 관여한다. 이 모든 프로젝트는 대부분 동일한 기본 인간 상호작용을 포함하지만, 고유한 기술과 지식도 필요하다. 결과적으로 디자이너는 특정 유형의 프로젝트에 전문화하고, 소프트웨어 설계, 사용자 연구, 웹 디자인 또는 산업 디자인이든 관계없이 전문 지식에 집중된 기술을 갖는 경향이 있다.

훌륭한 사용자 인터페이스 디자인은 불필요한 주의를 끌지 않고 현재 작업을 완료하는 데 도움이 된다. 그래픽 디자인과 타이포그래피는 사용성을 지원하기 위해 활용되어 사용자가 특정 상호작용을 수행하는 방식에 영향을 미치고 디자인의 미적 매력을 향상시킨다. 디자인 미학은 인터페이스 기능 사용 능력에 긍정적 또는 부정적인 영향을 미칠 수 있다. 디자인 프로세스는 기술적 기능과 시각적 요소 (정신 모델 등)의 균형을 맞춰, 작동할 뿐만 아니라 사용 가능하며 변화하는 사용자 요구에 적응할 수 있는 시스템을 만들어야 한다.

## UI 디자인 대 UX 디자인
UX 디자인과 비교할 때, UI 디자인은 디자인의 표면과 전체적인 외관에 더 가깝다. 사용자 인터페이스 디자인은 디자이너가 사용자 경험을 창조하는 데 중요한 기능을 수행하는 기술이다. UI 디자인은 사용자에게 무슨 일이 일어나고 있는지 지속적으로 알려주고, 적절한 피드백을 적시에 제공해야 한다. UI 디자인의 시각적 모양과 느낌은 사용자 경험의 분위기를 설정한다. 반면에 UX 디자인이라는 용어는 사용자 경험을 만드는 전체 프로세스를 의미한다.

도널드 노먼과 제이콥 닐슨은 다음과 같이 말했다. 

## 디자인 싱킹
[섬네일|350x350px|모바일 및 데스크톱 앱 디자인을 위한 인쇄 가능한 템플릿 ([PDF)]]

사용자 인터페이스 디자인은 사용자 요구에 대한 깊은 이해를 필요로 한다. 주로 플랫폼의 요구 사항과 사용자 기대를 중점적으로 다룬다. 사용자 인터페이스 디자인에는 여러 단계와 프로세스가 있으며, 프로젝트에 따라 일부는 다른 것보다 더 많은 요구를 받는다. 현대의 디자인 싱킹 프레임워크는 2004년에 스탠포드 d.school의 설립자이자 정식 명칭은 하소 플래트너 디자인 연구소인 데이비드 M. 켈리가 만들었다. EDIPT는 켈리의 디자인 싱킹 프레임워크를 설명하는 데 사용되는 일반적인 약어이며, 공감(empathize), 정의(define), 구상(ideate), 프로토타입(prototype), 테스트(test)를 의미한다. 특히 EDIPT 프레임워크는 비선형적이므로, UI 디자이너는 사용자 중심 솔루션을 개발할 때 한 단계에서 다른 단계로 이동할 수 있다. 반복은 디자인 싱킹 프로세스에서 일반적인 관행이며, 성공적인 솔루션은 제품이 사용자 요구를 충족하는지 확인하기 위해 종종 테스트와 조정이 필요하다.

### EDIPT

;공감 (Empathize)
:타겟 사용자의 요구와 문제점을 더 잘 이해하기 위해 사용자 조사를 수행한다. UI 디자이너는 개인적인 신념에 기반한 솔루션 개발을 피하고, 다양한 사용자의 고유한 관점을 이해하려고 노력해야 한다. 반구조화 면담 형식의 정성적 데이터가 자주 수집된다.
일반적인 관심 영역은 다음과 같다.
* 사용자는 시스템이 무엇을 하기를 원하는가?
* 시스템은 사용자의 일반적인 작업 흐름이나 일상 활동에 어떻게 통합될 것인가?
* 사용자의 기술 숙련도는 어느 정도이며, 사용자는 어떤 유사한 시스템을 이미 사용하고 있는가?
* 어떤 인터페이스 미학과 기능 스타일이 사용자에게 매력적인가?
;정의 (Define)
:사용자의 필요와 욕구에 초점을 맞춘 문제 정의를 확고히 한다. 효과적인 문제 정의는 일반적으로 한 문장으로 구성되며, 사용자, 그들의 구체적인 필요, 그리고 원하는 결과 또는 목표를 포함한다.
;구상 (Ideate)
:정의된 문제 진술을 해결하기 위한 잠재적 솔루션을 브레인스토밍한다. 제안된 솔루션은 이상적으로 이해관계자의 실행 가능성 및 실현 가능성 기준과 일치하면서 사용자 선호도 표준을 유지해야 한다.
;프로토타입 (Prototype)
:사용자 경험 원칙과 방법론을 적용하여 다양한 충실도(낮음, 중간, 높음)의 잠재적 솔루션을 디자인한다. 프로토타이핑은 반복적인 과정으로, UI 디자이너는 초기 개념에 안주하기보다 여러 디자인 솔루션을 탐색해야 한다.
;테스트 (Test)
:피드백을 수집하고 개선을 위한 통찰력을 얻기 위해 대상 사용자에게 프로토타입을 제시한다. 결과에 따라 UI 디자이너는 프로토타입과 사용자 경험을 향상시키기 위해 디자인 프로세스의 초기 단계를 다시 방문해야 할 수도 있다.

## 사용성 테스트
제이콥 닐슨과 도널드 노먼이 1998년에 공동 설립한 닐슨 노먼 그룹은 사용자 경험 및 인터페이스 디자인 교육을 장려한다. 제이콥 닐슨은 인터페이스 사용성 운동을 개척하고 "사용자 인터페이스 디자인을 위한 10가지 사용성 휴리스틱"을 만들었다. 사용성은 사용 용이성을 고려하여 인터페이스의 품질을 정의하는 것을 목표로 한다. 사용성이 낮은 인터페이스는 사용자에게 부담을 주고 목표 달성을 방해하여 인터페이스가 외면받게 된다. 사용성을 향상시키기 위해 사용자 경험 연구자들은 사용성 테스트를 수행할 수 있는데, 이는 사용자가 인터페이스와 어떻게 상호작용하는지 평가하는 과정이다. 사용성 테스트는 사용자가 오류 없이 작업을 얼마나 효율적으로 완료할 수 있는지를 보여줌으로써 사용자 고통 지점에 대한 통찰력을 제공하고, 디자인 개선이 필요한 영역을 강조한다.

;사용성 검사
:평가자가 사용자 인터페이스를 검사하도록 한다. 이는 일반적으로 사용성 테스트(아래 단계 참조)보다 구현 비용이 저렴하다고 여겨지며, 시스템의 프로토타입 또는 사양을 평가하는 데 사용될 수 있으므로 개발 초기 단계에서 사용될 수 있다. 이는 일반적으로 사용자를 대상으로 테스트할 수 없는 부분이다. 일반적인 사용성 검사 방법에는 새로운 사용자가 시스템으로 작업을 완료하는 단순성에 초점을 맞춘 인지적 워크스루, UI 디자인에서 사용성 문제를 식별하기 위해 일련의 휴리스틱을 사용하는 경험적 평가방법, 그리고 선정된 그룹의 사람들이 작업 시나리오를 단계별로 진행하며 사용성 문제를 논의하는 다원적 워크스루가 포함된다.
;사용성 테스트
:실제 사용자를 대상으로 프로토타입을 테스트한다. 종종 사용자가 경험하는 동안 자신의 생각을 이야기하도록 요청하는 사고 발화 프로토콜이라는 기법을 사용한다. 사용자 인터페이스 디자인 테스트는 디자이너가 시청자의 관점에서 디자인의 수용도를 이해할 수 있도록 하여 성공적인 애플리케이션 생성을 용이하게 한다.

## 요구 사항
섬네일|350x350px|위키마니아 포스터를 위한 업데이트된 위키백과 데스크톱 인터페이스 스케치
시스템의 동적 특성은 인체공학 표준의 파트 10, ISO 9241의 7가지 대화 원칙에 포함된 대화 요구 사항으로 설명된다. 이 표준은 높은 수준의 정의와 원칙의 설명적인 적용 및 예시를 포함하는 대화 기법에 대한 인체공학적 "원칙"의 프레임워크를 설정한다. 대화의 원칙은 인터페이스의 동적 측면을 나타내며, 대부분 인터페이스의 "느낌"으로 간주될 수 있다.

### 7가지 대화 원칙

;작업 적합성
:대화는 사용자가 작업을 효과적이고 효율적으로 완료하도록 지원할 때 작업에 적합하다.
;자기 설명성
:대화는 각 대화 단계가 시스템의 피드백을 통해 즉시 이해 가능하거나, 요청 시 사용자에게 설명될 때 자기 설명적이다.
;제어 가능성
:대화는 사용자가 목표가 달성되는 지점까지 상호작용의 방향과 속도를 시작하고 제어할 수 있을 때 제어 가능하다.
;사용자 기대와의 일치성
:대화는 일관성이 있고 작업 지식, 교육, 경험과 같은 사용자 특성 및 일반적으로 통용되는 관례와 일치할 때 사용자 기대와 일치한다.
;오류 허용성
:대화는 입력에 명백한 오류가 있음에도 불구하고 사용자로부터 아무런 조치나 최소한의 조치로 의도된 결과를 얻을 수 있을 때 오류 허용적이다.
;개별화 적합성
:대화는 인터페이스 소프트웨어가 사용자의 작업 요구, 개별 선호도 및 기술에 맞게 수정될 수 있을 때 개별화 가능하다.
;학습 적합성
:대화는 사용자가 시스템 사용법을 배우는 데 지원하고 안내할 때 학습에 적합하다.

사용성 개념은 ISO 9241 표준에서 사용자의 효율성, 효과성, 만족도로 정의된다.

파트 11은 사용성에 대한 다음 정의를 제공한다.
* 사용성은 전체 시스템의 의도된 사용 목표가 달성되는 정도(효과성)로 측정된다.
* 의도된 목표를 달성하는 데 필요한 자원(효율성).
* 사용자가 전체 시스템을 수용할 수 있는 정도(만족도).
효과성, 효율성, 만족도는 사용성의 품질 요소로 볼 수 있다. 이러한 요소를 평가하려면 하위 요소로, 최종적으로는 사용성 측정으로 분해해야 한다.

제시된 정보는 ISO 9241 표준의 파트 12에 따라 정보 구성(배열, 정렬, 그룹화, 레이블, 위치), 그래픽 객체 표시, 정보 코딩(약어, 색상, 크기, 모양, 시각적 신호)을 7가지 속성으로 설명한다. "제시된 정보의 속성"은 인터페이스의 정적 측면을 나타내며, 일반적으로 인터페이스의 "외관"으로 간주될 수 있다. 속성은 표준에 제시된 권장 사항에 자세히 설명되어 있다. 각 권장 사항은 7가지 속성 중 하나 이상을 지원한다.

### 7가지 표현 속성

;명확성
:정보 내용이 빠르고 정확하게 전달된다.
;식별성
:표시된 정보가 정확하게 구별될 수 있다.
;간결성
:사용자가 불필요한 정보로 과부하되지 않는다.
;일관성
:독특한 디자인, 사용자 기대와의 일치성.
;탐지 가능성
:사용자의 주의가 필요한 정보로 향하게 된다.
;가독성
:정보를 쉽게 읽을 수 있다.
;이해 가능성
:의미가 명확하게 이해될 수 있고, 모호하지 않으며, 해석 가능하고, 인식 가능하다.

### 사용성
ISO 9241 표준의 파트 13에 있는 사용자 안내는 사용자 안내 정보가 다른 표시된 정보와 쉽게 구별되어야 하며, 현재 사용 컨텍스트에 특화되어야 한다고 설명한다.

사용자 안내는 다음 5가지 수단으로 제공될 수 있다.
* 시스템이 입력을 받을 준비가 되었음을 명시적으로(특정 프롬프트) 또는 암시적으로(일반 프롬프트) 나타내는 프롬프트.
* 사용자의 입력에 대해 시기 적절하고 인지 가능하며 방해되지 않는 피드백.
* 애플리케이션, 시스템의 하드웨어 및 소프트웨어 구성 요소, 사용자 활동의 지속적인 상태를 나타내는 상태 정보.
* 오류 예방, 오류 수정, 오류 관리를 위한 사용자 지원 및 오류 메시지를 포함한 오류 관리.
* 현재 사용 컨텍스트에 대한 특정 정보와 함께 시스템 시작 및 사용자 시작 요청을 위한 온라인 도움말.

## 연구

사용자 인터페이스 디자인은 미학을 포함하여 상당한 연구 주제가 되어왔다. 소프트웨어 제품의 사용성을 정의하기 위한 표준은 1980년대부터 개발되었다.
구조적 기반 중 하나는 IFIP 사용자 인터페이스 참조 모델이 되었다.

이 모델은 사용자 인터페이스를 구조화하기 위한 네 가지 차원을 제안한다.
* 입력/출력 차원 (외관)
* 대화 차원 (느낌)
* 기술 또는 기능 차원 (도구 및 서비스에 대한 접근)
* 조직 차원 (통신 및 협업 지원)
이 모델은 사용성을 위한 인터페이스 디자인 요구 사항을 설명하는 국제 표준 ISO 9241의 개발에 큰 영향을 미쳤다.
소프트웨어 개발 초기 단계, 심지어 애플리케이션이 개발되는 동안에도 애플리케이션별 UI 문제를 이해하려는 욕구는 실제 애플리케이션이 프로덕션 환경에서 어떻게 작동할지 설득력 있는 시뮬레이션을 제공할 수 있는 GUI 신속 프로토타이핑 도구에 대한 연구로 이어졌다. 이 연구 중 일부는 GUI 기반 소프트웨어의 광범위한 프로그래밍 작업이 실제로 프로그램 코드를 작성하는 것 외의 다른 수단을 통해 지정될 수 있음을 보여주었다.

최근 몇 년간의 연구는 무어의 법칙 덕분에 매우 복잡한 인터페이스를 호스팅할 수 있는 다양한 장치의 증가로 인해 강력하게 동기 부여되고 있다.

## 같이 보기
* 명령 줄 사용자 인터페이스
* 그래픽 사용자 인터페이스
* 디자인 리서치
* 사용자 경험 디자인
* 사용성
* HCI
* 산업 디자인
* 사용자 인터페이스

## 각주

분류:사용성
분류:사용자 인터페이스
분류:그래픽 디자인
분류:산업 디자인