데스크톱 애플리케이션에 적합한 사용자 환경을 디자인하는 방법
메모
이 디자인 가이드는 Windows 7용으로 만들어졌으며 최신 버전의 Windows용으로 업데이트되지 않았습니다. 지침의 대부분은 여전히 원칙으로 적용되지만 프레젠테이션과 예제는 현재 디자인 지침을 반영하지 않습니다.
훌륭한 데스크톱 애플리케이션은 강력하고 동시에 간단합니다. 신중하게 균형 잡힌 기능 선택과 프레젠테이션을 통해 힘과 단순성을 모두 달성할 수 있습니다.
강력:
맞춤법 및 문법 대화 상자
강력하고 간단한 :
이상적인 Windows 기반 애플리케이션은 강력하고 간단합니다. 물론 애플리케이션이 강력하기를 원하며 간단하게 만들 수 있기를 원하지만 둘 다 달성할 수 있습니까? 이러한 목표 사이에는 자연스러운 긴장감이 있지만, 그 긴장은 화해할 수 없는 것과는 거리가 멀다. 신중하게 균형 잡힌 기능 선택과 프레젠테이션을 통해 힘과 단순성을 모두 달성할 수 있습니다.
애플리케이션을 강력하게 만드는 이유는 무엇인가요?
"전원"은 소프트웨어 측면에서 실제로 무엇을 의미합니까? 애플리케이션이 기능으로 가득 차 있을 때, 모든 사용자에게 모든 것을 제공하기 위한 시도로 엄청난 폭의 기능을 가지고 있다면, 이는 강력한 것으로 간주될 수 있습니다. 이러한 디자인은 대상 지정되지 않은 기능 집합이 다른 사람의 요구를 충족할 가능성이 낮기 때문에 성공하지 못할 수 있습니다. 이것은 우리가 뒤를 쫓는 권력의 유형이 아닙니다.
애플리케이션은 다음과 같은 특성을 올바르게 조합한 경우에 강력합니다.
- 활성화. 애플리케이션은 대상 사용자의 요구 사항을 충족하여 다른 방식으로는 수행할 수 없는 작업을 수행하고 목표를 효과적으로 달성할 수 있도록 합니다.
- 능률적인. 이 애플리케이션을 통해 사용자는 이전에는 불가능할 수 없었던 수준의 생산성과 규모로 작업을 수행할 수 있습니다.
- 다재다능한 이 애플리케이션을 통해 사용자는 다양한 상황에서 다양한 작업을 효과적으로 수행할 수 있습니다.
- 직접적. 애플리케이션은 방해가 되거나 불필요한 단계를 요구하는 대신 사용자가 목표를 달성하는 데 직접 도움이 되는 것처럼 느껴집니다. 바로 가기, 키보드 액세스 및 매크로와 같은 기능은 직접성 감각을 향상시킵니다.
- 유연한. 애플리케이션을 사용하면 사용자가 작업을 세밀하게 제어할 수 있습니다.
- 통합. 애플리케이션은 Microsoft Windows와 잘 통합되어 있어 다른 애플리케이션과 데이터를 공유할 수 있습니다.
- 고급. 이 애플리케이션에는 경쟁 솔루션에서 찾을 수 없는 특별하고 혁신적인 최신 기능이 있습니다.
이러한 특성 중 일부는 사용자의 인식에 따라 달라지고 사용자의 현재 기능에 상대적입니다. 강력한 것으로 간주되는 항목은 시간이 지남에 따라 변경될 수 있으므로 오늘날의 고급 검색 기능은 내일 일반화될 수 있습니다.
이러한 모든 특성을 전력 정의에 결합할 수 있습니다.
대상 사용자가 자신의 잠재력을 최대한 효율적으로 실현할 수 있게 해주는 애플리케이션은 강력합니다.
따라서 전력의 궁극적인 척도는 기능 수가 아니라 생산성입니다.
다른 사용자는 다양한 방법으로 자신의 잠재력을 최대한 발휘하는 데 도움이 필요합니다. 일부 사용자에게 활성화되는 것은 다른 사용자의 다재다능함, 지향성 및 제어에 해를 끼칠 수 있습니다. 잘 디자인된 소프트웨어는 이러한 특성의 균형을 적절하게 조정해야 합니다. 예를 들어 비전문가용으로 설계된 데스크톱 게시 시스템은 마법사를 사용하여 복잡한 작업을 통해 사용자를 안내할 수 있습니다. 이러한 마법사를 사용하면 대상 사용자가 수행할 수 없는 작업을 수행할 수 있습니다. 반면, 전문가를 위한 데스크톱 게시 시스템은 직접성, 효율성 및 완전한 제어에 집중할 수 있습니다. 이러한 애플리케이션의 사용자에게 마법사는 제한적이고 실망스러울 수 있습니다.
만약 반드시 한 가지만 해야 한다면...
대상 사용자의 목표를 이해하고 이러한 목표를 생산적으로 달성할 수 있는 기능 집합을 만듭니다.
사용자 환경을 간단하게 만드는 이유는 무엇인가요?
다음과 같이 단순성을 정의합니다.
단순성은 대상 사용자가 인식하고 불필요하다고 여기는 디자인 속성의 축소 또는 제거입니다.
실제로 올바른 기능 집합을 선택하고 올바른 방식으로 기능을 제시하여 단순성을 달성합니다. 실제와 인식에서 모두 불필요한 것을 감소시킵니다.
단순성은 사용자의 인식에 따라 달라집니다. 자동 전송의 효과는 사용자의 관점에 따라 달라지는 방식을 고려합니다.
- 일반적인 드라이버(대상 사용자)의 경우 자동 변속기가 수동 기어 시프트 및 클러치를 필요로 하지 않도록 하여 자동차를 훨씬 쉽게 운전할 수 있습니다. 수동 기어 시프트와 클러치는 운전 작업에 필수적이지 않으므로 단순성을 달성하기 위해 제거됩니다.
- 프로 레이스 카 드라이버의 경우, 변속기를 직접 제어하는 것은 경쟁력을 갖기 위해 필수적입니다. 자동 변속기는 차량의 성능에 부정적인 영향을 주므로 단순성으로 간주되지 않습니다.
- 정비사의 경우 자동 전송은 더 복잡한 메커니즘이므로 수동 전송보다 수리 또는 유지 관리가 쉽지 않습니다. 메커니즘과 달리 대상 사용자는 이러한 내부 복잡성을 알지 못합니다.
다른 사용자가 자동 전송을 다르게 간주하지만 대상 사용자의 지식, 기술 및 노력의 필요성을 없애기 때문에 성공합니다. 일반적인 드라이버의 경우 자동 변속기는 작동하기 때문에 훌륭한 기능입니다.
단순성 및 사용 편의성
단순성을 올바르게 적용하면 사용이 용이합니다. 그러나 단순성과 사용 편의성은 동일한 개념이 아닙니다. 사용자가 적절한 시간 내에 어려움이나 혼동 없이 스스로 작업을 성공적으로 수행할 수 있는 경우 사용 편의성을 달성할 수 있습니다. 사용 편의성을 달성하는 방법에는 여러 가지가 있으며, 단순성(unessential 감소)은 그 중 하나일 뿐입니다.
모든 사용자는 아무리 정교하더라도 최소한의 불필요한 노력으로 작업을 완료하려고 합니다. 모든 사용자(고급 사용자)는 주로 컴퓨터나 애플리케이션에 대해 배우지 않고 작업을 완료하도록 동기를 부여합니다.
단순성은 사용 편의성을 달성하는 가장 효과적인 방법이며 사용 편의성은 사용과 같습니다. 복잡하고 사용하기 어려운 기능은 사용되지 않습니다. 이와 대조적으로, 기능을 잘 수행하는 간단하고 우아한 디자인은 사용하기에 기쁨입니다. 그(것)들은 긍정적이고 감정적인 반응을 호출합니다.
예를 들어 Microsoft Windows XP의 무선 네트워킹 지원을 고려합니다. Microsoft는 구성 프로세스를 통해 사용자를 안내하는 마법사를 추가했을 수 있습니다. 불필요한 기능(마법사)이 추가되었기 때문에 이 접근 방식은 사용이 편리하지만 단순하지는 않았을 것입니다. 대신 Microsoft는 자동으로 구성하도록 무선 네트워킹을 설계했습니다. 사용자는 안정적이고 안전하게 "작동"하는 한 궁극적으로 구성 세부 정보에 대해 신경 쓰지 않습니다. 무선 네트워킹 기술의 이러한 힘과 단순성의 조합은 인기와 빠른 채택으로 이어졌습니다.
한 가지만 수행하면
작업을 잘 수행하는 가장 간단한 디자인으로 디자인 프로세스를 시작합니다.
현재 디자인에 만족하지 않는 경우 먼저 모든 unessential 요소를 제거합니다. 남아있는 것이 일반적으로 꽤 좋다는 것을 알게 될 것입니다.
전원을 유지하면서 단순성 확보
디자인 원칙
단순성을 얻으려면 항상 가능성이 있는 것에 맞춰 디자인하고, 가능한 모든 것에 대비하지 마십시오.
가능한 것들
레지스트리 편집기와 같은 복잡한 사용자 인터페이스로 이어질 수 있는 사항에 따라 디자인을 결정합니다. 여기서 디자인은 모든 작업이 동일하게 가능하고 결과적으로 동일한 노력이 필요하다고 가정합니다. 모든 것이 가능하기 때문에 사용자 목표는 디자인 결정에서 고려되지 않습니다.
가능한 경우
가능한 시나리오가 포커스를 받고 최소한의 작업 수행이 필요한 간소화된 목표 및 작업 기반 솔루션으로 이어질 가능성이 있는 결과를 기반으로 의사 결정을 디자인합니다.
단순 디자인 원칙
단순성을 얻으려면 가능성이 있는 것에 집중합니다. 예상치 못한 것을 줄이거나 숨기거나 제거합니다. 그리고 불가능한 것을 제거합니다.
사용자가 수행할 작업은 사용자가 수행할 수 있는 것보다 디자인과 훨씬 더 관련이 있습니다.
디자인 기술
단순함을 유지하면서 효과성을 확보하려면 적절한 기능 집합을 선택하고, 올바른 위치에기능을 배치하며, 기능 활용의 노력을 줄이십시오. 이 섹션에서는 이러한 목표를 달성하기 위한 몇 가지 일반적인 기술을 제공합니다.
올바른 기능 집합 선택
"완벽은 더 이상 추가할 것이 없을 때가 아니라 달성됩니다.
하지만 빼앗을 것이 없을 때." — 앙투아 드 Saint-Exupery
다음 디자인 기법은 실제 감소 또는 제거를 통해 단순성을 달성하면서 사용자에게 필요한 기능을 제공합니다.
- 사용자에게 필요한 기능을 결정합니다. 목표, 시나리오 및 작업 분석을 통해 사용자의 요구 사항을 이해합니다. 이러한 목표를 실현하는 기능 집합을 결정합니다.
- 불필요한 요소를 제거합니다. 사용할 가능성이 없거나 바람직한 대안이 있는 요소를 제거합니다.
- 불필요한 중복성을 제거합니다. 작업을 수행하는 여러 가지 효과적인 방법이 있을 수 있습니다. 단순성을 달성하려면 모든 항목을 제공하고 옵션을 선택하는 대신 어려운 결정을 내리고 대상 사용자에게 가장 적합한 것을 선택합니다.
- 자동으로 문제없이 작동하게 만드세요. 요소는 필요하지만 작동하도록 하기 위한 사용자 상호 작용은 허용되는 기본 동작 또는 구성이 있기 때문이 아닙니다. 단순성을 달성하려면 자동으로 작동하고 사용자로부터 완전히 숨기거나 노출을 크게 줄입니다.
프레젠테이션 간소화
"단순화하는 기능은 불필요한 것을 제거하는 수단입니다.
필요한 사람들이 말할 수 있도록 합니다." — 한스 호프만
감소 또는 제거에 대한 인식을 통해 단순성을 달성하면서 다음 디자인 기술을 사용하여 전력을 유지합니다.
- 결합해야 하는 것을 결합합니다. 작업을 한 곳에서 수행할 수 있도록 작업을 지원하는 필수 기능을 함께 배치합니다. 태스크의 단계에는 통합되고 간소화된 흐름이 있어야 합니다. 복잡한 작업을 쉽고 명확한 단계 집합으로 분해하여 "하나의" 위치가 마법사와 같은 여러 UI 화면으로 구성될 수 있도록 합니다.
- 구분해야 하는 내용을 구분합니다. 모든 것을 한 곳에서 제시 할 수있는 것은 아니므로 항상 명확하고 잘 선택된 경계가 있습니다. 핵심 시나리오를 중앙에서 분명하게 지원하는 기능을 만들고 선택적 기능을 숨기거나 주변 장치로 만듭니다. 개별 작업을 구분하고 관련 작업에 대한 링크를 제공합니다. 예를 들어 사진 조작과 관련된 작업은 사진 컬렉션 관리와 관련된 작업과 명확하게 구분되어야 하지만 서로 쉽게 액세스할 수 있어야 합니다.
- 제거할 수 있는 것을 제거합니다. 디자인의 인쇄물을 가져와서 가장 중요한 작업을 수행하는 데 사용되는 요소를 강조 표시합니다. 유용한 정보를 전달하는 UI 텍스트의 개별 단어를 강조 표시합니다. 이제 강조 표시되지 않은 내용을 검토하고 디자인에서 제거하는 것이 좋습니다. 항목을 제거하면 나쁜 일이 발생합니까? 그렇지 않은 경우 제거합니다.
- 일관성, 구성 가능성 및 일반화는 종종 바람직한 품질이지만 불필요한 복잡성으로 이어질 수 있습니다. 일관성을 위한 잘못된 시도(예: 중복 텍스트 사용), 일반화(예: 두 개의 표준 시간대가 충분한 경우) 및 구성 가능성(예: 사용자가 변경할 가능성이 없는 옵션)에 대해 디자인을 검토하고, 제거할 수 있는 것을 제거하십시오.
- 요소를 올바른 위치에 배치합니다. 창 내에서 요소의 위치는 해당 유틸리티를 따라야 합니다. 필수 컨트롤, 지침 및 설명은 모두 논리적 순서로 컨텍스트에 있어야 합니다. 더 많은 옵션이 필요한 경우 펼침 단추 또는 유사한 메커니즘을 클릭하여 컨텍스트에서 노출합니다. 추가 정보가 필요한 경우 마우스로 가리키면 정보 설명을 표시합니다. 덜 중요한 작업, 옵션 및 도움말 정보를 별도의 창이나 페이지에서 주 흐름 외부에 배치합니다. 필요에 따라 추가 세부 정보를 표시하는 기술을 점진적 공개라고 합니다.
- 의미 있는 상위 수준 조합을 사용합니다. 개별 요소보다 관련 요소 그룹을 선택하고 조작하는 것이 더 간단하고 확장성이 뛰어난 경우가 많습니다. 상위 수준 조합의 예로는 폴더, 테마, 스타일 및 사용자 그룹이 있습니다. 이러한 조합은 개별 요소에서 명백하지 않은 사용자 목표 또는 의도에 매핑되는 경우가 많습니다. 예를 들어 고대비 검정 색 구성표의 의도는 검정색 창 배경의 의도보다 더 확실히 드러납니다.
- 올바른 컨트롤을 선택합니다. 디자인 요소는 나타내는 데 사용하는 컨트롤에 의해 구현되므로 효율적인 프레젠테이션에 적합한 컨트롤을 선택하는 것이 중요합니다. 예를 들어 Microsoft Word에서 사용하는 글꼴 선택 상자에는 글꼴 미리 보기와 가장 최근에 사용한 글꼴이 모두 표시됩니다. 마찬가지로 Word에서 잠재적인 맞춤법 및 문법 오류를 표시하는 방식은 이 문서의 시작 부분에 표시된 것처럼 대화 상자 대안보다 훨씬 간단합니다.
노력 줄이기
"간단한 작업은 간단해야 합니다.
복잡한 일이 가능해야 합니다." —Alan Kay
다음 디자인 기법을 사용하면 사용자에 대한 노력이 줄어듭니다.
- 작업을 검색 가능하고 표시합니다. 모든 작업(특히 자주 수행되는 작업)은 사용자 인터페이스 내에서 쉽게 검색할 수 있어야 합니다. 작업을 수행하는 데 필요한 단계는 표시되어야 하며 암기를 사용해서는 안 됩니다.
- 사용자의 도메인에 작업을 표시합니다. 복잡한 소프트웨어를 사용하려면 사용자가 자신의 문제를 기술에 매핑해야 합니다. 간단한 소프트웨어는 자연스러운 것을 제시하여 매핑을 수행합니다. 예를 들어 적목 현상 감소 기능은 문제 공간에 직접 매핑되며 사용자가 색조 및 그라데이션과 같은 세부 정보를 생각할 필요가 없습니다.
- 도메인 지식을 프로그램에 넣습니다. 사용자가 애플리케이션을 성공적으로 사용하려면 외부 정보에 액세스할 필요가 없습니다. 도메인 지식은 복잡한 데이터 및 알고리즘에서 유효한 입력 유형을 명확하게 하는 것까지 다양할 수 있습니다.
- 사용자가 이해하는 텍스트를 사용합니다. 잘 만들어진 텍스트는 사용자와의 효과적인 의사 소통에 매우 중요합니다. 사용자에게 친숙한 개념과 용어를 사용합니다. 사용자가 지능적이고 정보에 입각한 결정을 내릴 수 있도록 일반 언어로 요구되는 사항을 완전히 설명합니다.
- 보안이 강화된 안전하고 가능성 있는 기본값을 사용합니다. 대부분의 경우 대부분의 사용자에게 적용되는 값이 설정에 있고 해당 설정이 안전하고 안전한 경우 기본값으로 사용합니다. 사용자가 필요한 경우에만 값을 지정하게 합니다.
- 제약 조건을 사용합니다. 여러 가지 방법으로 작업을 수행할 수 있지만 일부만 올바른 경우 작업을 올바른 방법으로 제한합니다. 사용자는 쉽게 예방할 수 있는 실수를 할 수 없습니다.
단순함이 단순함을 의미하지는 않습니다.
"모든 것을 가능한 한 간단하게 만들어야 합니다.
하지만 간단하지 않습니다." — 알버트 아인슈타인
단순성은 효과적이고 바람직한 사용자 환경에 매우 중요하지만 항상 좋은 점을 너무 멀리 가져가는 것이 가능하다고 생각합니다. 불필요한 것의 감소 또는 제거가 단순성의 본질입니다. 필수품을 제거하면 디자인이 좋지 않습니다. "단순화"로 인해 사용자가 좌절하거나, 혼란스럽거나, 확신하지 못하거나, 작업을 성공적으로 완료할 수 없는 경우 너무 많이 제거되었습니다.
단순성은 더 많은 노력을 의미합니다.
나는 이 편지를 단지 더 길게 만들었기 때문에
짧게 만들 시간이 아닙니다." — 블레즈 파스칼
전력을 보존하면서 단순성을 얻으려면 내부 복잡성이 상당히 필요한 경우가 많습니다. 일반적으로 모든 기술 배관을 노출하는 소프트웨어를 설계하는 것이 숨기는 소프트웨어를 디자인하는 것보다 더 쉽습니다. 후자는 대상 사용자와 해당 목표를 잘 이해해야 합니다. 기능을 제거하려면 실제로 실용적이지 않은 멋진 기능을 추가하지 않기로 결정하는 것과 마찬가지로 규율이 필요합니다. 단순성을 위해서는 모든 것을 설정 가능하게 하기보다는 어렵지만 중요한 디자인 결정을 내려야 합니다. 복잡한 소프트웨어는 사용자에 대한 오해에서 비롯되는 경우가 많습니다. 이는 사용자가 사용하지 않는 기능이나 이해할 수 없는 지나치게 복잡한 기능을 중요하게 여긴다는 잘못된 생각입니다.
강력하고 간단한
Power는 사용자를 활성화하고 생산성을 높이는 것입니다. 단순성은 unessential을 제거하고 기능을 올바른 방법으로 제시하는 것입니다. 대상 사용자를 이해하고 기능과 프레젠테이션의 적절한 균형을 이루면 두 작업을 모두 수행하는 Windows 기반 애플리케이션을 디자인할 수 있습니다.