데스크톱 애플리케이션에 적합한 사용자 환경을 디자인하는 방법

참고

이 디자인 가이드는 Windows 7용으로 만들어졌으며 최신 버전의 Windows용으로 업데이트되지 않았습니다. 지침의 대부분은 여전히 원칙에 따라 적용되지만 프레젠테이션 및 예제는 현재 디자인 지침을 반영하지 않습니다.

훌륭한 데스크톱 애플리케이션은 강력하고 동시에 간단합니다. 신중하게 균형 잡힌 기능 선택과 프레젠테이션을 통해 힘과 단순성을 모두 달성할 수 있습니다.

강력한:

맞춤법 및 문법 검사 대화 상자 스크린샷

강력하고 간단한:

가능한 맞춤법 수정 버전 목록 스크린샷

이상적인 Windows 기반 애플리케이션은 강력하고 간단합니다. 물론 애플리케이션이 강력하기를 원하며, 물론 간단하게 사용할 수 있기를 원하지만 둘 다 달성할 수 있을까요? 이러한 목표 사이에는 자연스러운 긴장감이 있지만, 그 긴장은 화해할 수 없는 것과는 거리가 멀다. 신중하게 균형 잡힌 기능 선택과 프레젠테이션을 통해 힘과 단순성을 모두 달성할 수 있습니다.

애플리케이션을 강력하게 만드는 이유는 무엇인가요?

소프트웨어 측면에서 "전원"은 실제로 무엇을 의미합니까? 애플리케이션이 기능으로 가득 차 있는 경우 강력한 것으로 간주될 수 있으며, 모든 사용자에게 모든 기능을 제공하려는 시도에서 엄청난 기능을 사용할 수 있습니다. 대상 지정되지 않은 기능 집합이 다른 사람의 요구를 충족할 가능성이 낮기 때문에 이러한 디자인은 성공하지 못할 수 있습니다. 이것은 우리가 뒤를 쫓는 힘의 유형이 아닙니다.

애플리케이션은 다음과 같은 특성의 적절한 조합이 있는 경우 강력합니다.

  • 사용. 애플리케이션은 대상 사용자의 요구 사항을 충족하여 수행할 수 없는 작업을 수행하고 목표를 효과적으로 달성할 수 있도록 합니다.
  • 효율. 애플리케이션을 사용하면 이전에는 불가능해도 생산성 및 규모가 높은 작업을 수행할 수 있습니다.
  • 다재 다능 한. 애플리케이션을 사용하면 다양한 상황에서 다양한 작업을 효과적으로 수행할 수 있습니다.
  • 직접. 애플리케이션은 방해가 되거나 불필요한 단계를 요구하는 대신 사용자가 목표를 달성하는 데 직접 도움이 되는 것처럼 느껴집니다. 바로 가기, 키보드 액세스 및 매크로와 같은 기능은 직접성 감각을 향상시킵니다.
  • 유연성 애플리케이션을 사용하면 사용자가 작업을 완전하고 세분화하여 제어할 수 있습니다.
  • 통합성. 애플리케이션은 Microsoft Windows와 잘 통합되어 있어 다른 애플리케이션과 데이터를 공유할 수 있습니다.
  • 고급 이 애플리케이션에는 경쟁 솔루션에서 찾을 수 없는 특별하고 혁신적인 최첨단 기능이 있습니다.

이러한 특성 중 일부는 사용자의 인식에 따라 달라지고 사용자의 현재 기능에 상대적입니다. 강력한 것으로 간주되는 것은 시간이 지남에 따라 변경될 수 있으므로 오늘날의 고급 검색 기능은 내일 일반적일 수 있습니다.

이러한 모든 특징을 권력 정의에 결합할 수 있습니다.

애플리케이션은 대상 사용자가 자신의 잠재력을 효율적으로 실현할 수 있게 해 주는 경우에 강력합니다.

따라서 전력의 궁극적인 척도는 기능 수가 아니라 생산성입니다.

다른 사용자는 다양한 방법으로 자신의 잠재력을 최대한 발휘하는 데 도움이 필요합니다. 일부 사용자에게 활성화되는 것은 다른 사용자에게 다재다능함, 직접성 및 제어에 해를 끼칠 수 있습니다. 잘 설계된 소프트웨어는 이러한 특성의 균형을 적절하게 조정해야 합니다. 예를 들어 전문적이지 않은 사용자를 위해 설계된 데스크톱 게시 시스템은 마법사를 사용하여 복잡한 작업을 통해 사용자를 안내할 수 있습니다. 이러한 마법사를 사용하면 대상 사용자가 수행할 수 없는 작업을 수행할 수 있습니다. 반면, 전문가를 위한 데스크톱 게시 시스템은 직접성, 효율성 및 완전한 제어에 집중할 수 있습니다. 이러한 애플리케이션의 사용자의 경우 마법사가 제한되고 실망스러울 수 있습니다.

한 가지만 수행하면...

대상 사용자의 목표를 이해하고 이러한 목표를 생산적으로 달성할 수 있는 기능 집합을 만듭니다.

사용자 환경을 간단하게 만드는 이유는 무엇인가요?

다음과 같이 단순성을 정의합니다.

단순성은 대상 사용자가 인식하고 위도를 고려하는 디자인의 특성을 줄이거나 제거하는 것입니다.

실제로 올바른 기능 집합을 선택하고 올바른 방식으로 기능을 제시하여 단순성을 달성합니다. 이렇게 하면 실제와 인식 모두의 위증이 줄어듭니다.

단순성은 사용자의 인식에 따라 달라집니다. 자동 전송의 효과는 사용자의 관점에 따라 어떻게 달라지는지 고려합니다.

  • 일반적인 드라이버(대상 사용자)의 경우 자동 변속기가 수동 기어 시프트 및 클러치가 필요하지 않도록 하여 자동차를 훨씬 쉽게 운전할 수 있습니다. 수동 기어 시프트와 클러치는 운전 작업에 필수적이지 않으므로 단순성을 달성하기 위해 제거됩니다.
  • 전문 경주용 자동차 드라이버의 경우, 트랜스미션을 직접 제어하는 것은 경쟁력을 갖기 위해 필수적입니다. 자동 변속기는 자동차의 성능에 부정적인 영향을 미치므로 단순함의 결과로 간주되지 않습니다.
  • 정비사의 경우 자동 전송은 더 복잡한 메커니즘이므로 수동 전송보다 수리 또는 유지 관리가 더 쉽지 않습니다. 메커니즘과 달리 대상 사용자는 이러한 내부 복잡성을 인식하지 못합니다.

다른 사용자가 자동 전송을 다르게 간주하지만, 대상 사용자의 불필요한 지식, 기술 및 노력의 필요성을 없애기 때문에 성공합니다. 일반적인 드라이버의 경우 자동 전송은 작동하기 때문에 훌륭한 기능입니다.

단순성 및 사용 편의성

단순성을 올바르게 적용하면 쉽게 사용할 수 있습니다. 그러나 단순성과 사용 편의성은 동일한 개념이 아닙니다. 사용자가 적절한 시간 내에 어려움이나 혼동 없이 스스로 작업을 성공적으로 수행할 수 있는 경우 사용 편의성을 달성할 수 있습니다. 사용 편의성을 달성하는 방법에는 여러 가지가 있으며, 단순성은 그 중 하나일 뿐입니다.

모든 사용자는 아무리 정교하더라도 최소한의 불필요한 노력으로 작업을 수행하려고 합니다. 모든 사용자(고급 사용자)는 주로 컴퓨터나 애플리케이션에 대해 배우지 않고 작업을 완료하도록 동기를 부여합니다.

단순성은 사용 편의성을 달성하는 가장 효과적인 방법이며 사용 편의성은 사용과 같습니다. 복잡하고 사용하기 어려운 기능은 사용되지 않습니다. 반면, 함수를 잘 수행하는 간단하고 우아한 디자인은 사용하기에 좋습니다. 그들은 긍정적이고 감정적인 반응을 호출합니다.

예를 들어 Microsoft Windows XP의 무선 네트워킹 지원을 고려해 보세요. Microsoft는 구성 프로세스를 통해 사용자를 안내하는 마법사를 추가했을 수 있습니다. 이 접근 방식은 사용 편의성이 있지만 단순하지는 않았을 것입니다. 왜냐하면 위시성 기능(마법사)이 추가되었기 때문입니다. 대신 Microsoft는 자동으로 구성하도록 무선 네트워킹을 설계했습니다. 사용자는 안정적이고 안전하게 "작동"하는 한 궁극적으로 구성 세부 정보에 대해 신경 쓰지 않습니다. 무선 네트워킹 기술의 이러한 힘과 단순성의 조합은 인기와 신속한 채택으로 이어졌습니다.

한 가지만 수행하면...

작업을 잘 수행하는 가장 간단한 디자인으로 디자인 프로세스를 시작합니다.

현재 디자인에 만족하지 않는 경우 먼저 모든 unessential 요소를 제거합니다. 당신은 남아있는 것은 일반적으로 아주 좋은 것을 찾을 수 있습니다.

전원을 유지하면서 단순성 확보

디자인 원칙

단순성을 얻으려면 항상 가능하지 않은 가능성을 위해 디자인합니다.

가능한 경우

레지스트리 편집기와 같은 복잡한 사용자 인터페이스로 이어질 수 있는 사항에 따라 디자인 결정을 내릴 수 있습니다. 여기서 디자인은 모든 작업이 동일하게 가능하고 결과적으로 동일한 노력이 필요하다고 가정합니다. 모든 것이 가능하기 때문에 사용자 목표는 디자인 결정에서 고려되지 않습니다.

가능한 경우

가능한 시나리오가 포커스를 받고 최소한의 노력이 필요한 간소화된 목표 및 작업 기반 솔루션으로 이어질 수 있는 가능성에 따라 의사 결정을 설계합니다.

단순 디자인 원칙

단순성을 얻으려면 가능성이 있는 것에 집중합니다. 가능성이 낮은 것을 줄이거나 숨기거나 제거합니다. 그리고 불가능한 것을 제거합니다.

사용자가 수행할 작업은 사용자가 수행할 수 있는 것보다 디자인과 훨씬 더 관련이 있습니다.

디자인 기술

전원을 유지하면서 단순성을 얻으려면 올바른 기능 집합을 선택하고 , 적절한 위치에서 기능을 찾고, 사용 노력을 줄 입니다. 이 섹션에서는 이러한 목표를 달성하기 위한 몇 가지 일반적인 기술을 제공합니다.

올바른 기능 집합 선택

"더 이상 추가할 것이 없을 때가 아니라 완벽을 달성합니다.

하지만 빼앗을 것이 없을 때." —앙투아 드 Saint-Exupery

다음 디자인 기술은 사용자에게 필요한 기능을 제공하면서 실제 감소 또는 제거를 통해 단순성을 달성합니다.

  • 사용자에게 필요한 기능을 결정합니다. 목표, 시나리오 및 작업 분석을 통해 사용자의 요구 사항을 이해합니다. 이러한 목표를 실현하는 기능 집합을 결정합니다.
  • 불필요한 요소를 제거합니다. 사용할 가능성이 없거나 바람직한 대안이 있는 요소를 제거합니다.
  • 불필요한 중복성을 제거합니다. 작업을 수행하는 몇 가지 효과적인 방법이 있을 수 있습니다. 단순성을 달성하려면 모든 사용자를 제공하고 옵션을 선택하는 대신 어려운 결정을 내리고 대상 사용자에게 가장 적합한 것을 선택합니다.
  • 자동으로 "그냥 작동"합니다. 요소는 필요하지만 작동하도록 하기 위한 사용자 상호 작용은 허용되는 기본 동작 또는 구성이 있기 때문이 아닙니다. 단순성을 달성하려면 자동으로 작동하도록 하고 사용자로부터 완전히 숨기거나 노출을 크게 줄입니다.

프레젠테이션 간소화

"단순화하는 기능은 불필요한 것을 제거하는 것을 의미합니다.

필요한 사람들이 말할 수 있도록 합니다." —한스 호프만

감소 또는 제거에 대한 인식을 통해 단순성을 달성하면서 다음 디자인 기술을 사용하여 전력을 보존합니다.

  • 결합해야 하는 것을 결합합니다. 작업을 한 곳에서 수행할 수 있도록 작업을 지원하는 필수 기능을 함께 배치합니다. 작업의 단계에는 통합되고 간소화된 흐름이 있어야 합니다. 복잡한 작업을 쉽고 명확한 단계 집합으로 세분화하여 "하나의" 위치가 마법사와 같은 여러 UI 표면으로 구성될 수 있도록 합니다.
  • 구분해야 하는 내용을 구분합니다. 모든 것을 한 곳에서 제시 할 수있는 것은 아니므로 항상 명확하고 잘 선택된 경계가 있습니다. 핵심 시나리오를 중앙에서 명확하게 지원하는 기능을 만들고 선택적 기능을 숨기거나 주변 장치로 만듭니다. 개별 작업을 분리하고 관련 작업에 대한 링크를 제공합니다. 예를 들어 사진 조작과 관련된 작업은 사진 컬렉션 관리와 관련된 작업과 명확하게 구분해야 하지만 서로 쉽게 액세스할 수 있어야 합니다.
  • 제거할 수 있는 것을 제거합니다. 디자인의 인쇄물을 가져와서 가장 중요한 작업을 수행하는 데 사용되는 요소를 강조 표시합니다. 유용한 정보를 전달하는 UI 텍스트의 개별 단어를 강조 표시합니다. 이제 강조 표시되지 않은 항목을 검토하고 디자인에서 제거하는 것이 좋습니다. 항목을 제거하면 나쁜 일이 발생합니까? 그렇지 않은 경우 제거합니다.
  • 일관성, 구성 가능성 및 일반화는 종종 바람직한 품질이지만 불필요한 복잡성으로 이어질 수 있습니다. 일관성에서 잘못된 작업(예: 중복 텍스트 사용), 일반화(예: 두 개의 표준 시간대가 충분한 경우) 및 구성 가능성(예: 사용자가 변경할 가능성이 없는 옵션)에 대한 디자인을 검토하고 제거할 수 있는 항목을 제거합니다.
  • 요소를 올바른 위치에 배치합니다. 창 내에서 요소의 위치는 해당 유틸리티를 따라야 합니다. 필수 컨트롤, 지침 및 설명은 모두 논리적 순서로 컨텍스트에 있어야 합니다. 더 많은 옵션이 필요한 경우 펼침 단추 또는 유사한 메커니즘을 클릭하여 컨텍스트에서 노출합니다. 추가 정보가 필요한 경우 마우스 가리키기에서 정보 설명을 표시합니다. 덜 중요한 작업, 옵션 및 도움말 정보를 별도의 창이나 페이지에서 기본 흐름 외부에 배치합니다. 필요에 따라 추가 세부 정보를 표시하는 기술을 점진적 공개라고 합니다.
  • 의미 있는 상위 수준 조합을 사용합니다. 개별 요소보다 관련 요소 그룹을 선택하고 조작하는 것이 더 간단하고 확장성이 뛰어난 경우가 많습니다. 상위 수준 조합의 예로는 폴더, 테마, 스타일 및 사용자 그룹이 있습니다. 이러한 조합은 개별 요소에서 명확하지 않은 사용자 목표 또는 의도에 매핑되는 경우가 많습니다. 예를 들어 고대비 검은색 색 구성표의 의도는 검은색 창 배경보다 훨씬 더 분명합니다.
  • 올바른 컨트롤을 선택합니다. 디자인 요소는 나타내는 데 사용하는 컨트롤에 의해 구현되므로 올바른 컨트롤을 선택하는 것이 효율적인 프레젠테이션에 중요합니다. 예를 들어 Microsoft Word 사용하는 글꼴 선택 상자에는 글꼴 미리 보기와 가장 최근에 사용한 글꼴이 모두 표시됩니다. 마찬가지로, Word 잠재적인 맞춤법 및 문법 오류를 표시하는 방식은 이 문서의 시작 부분에 표시된 대화 상자 대안보다 훨씬 간단합니다.

작업 감소

"간단한 작업은 간단해야 합니다.

복잡한 작업을 수행할 수 있어야 합니다." — Alan Kay

다음 디자인 기술로 인해 사용자에 대한 노력이 줄어듭니다.

  • 작업을 검색 가능하고 표시할 수 있도록 합니다. 모든 작업(특히 빈번한 작업)은 사용자 인터페이스 내에서 쉽게 검색할 수 있어야 합니다. 작업을 수행하는 데 필요한 단계는 표시되어야 하며 기억에 의존해서는 안 됩니다.
  • 사용자의 도메인에 작업을 표시합니다. 복잡한 소프트웨어를 사용하려면 사용자가 자신의 문제를 기술에 매핑해야 합니다. 간단한 소프트웨어는 자연스러운 것을 제시하여 이러한 매핑을 수행합니다. 예를 들어 적목 현상 감소 기능은 문제 공간에 직접 매핑되며 사용자가 색조 및 그라데이션과 같은 세부 정보를 생각할 필요가 없습니다.
  • 도메인 지식을 프로그램에 넣습니다. 사용자가 애플리케이션을 성공적으로 사용하려면 외부 정보에 액세스할 필요가 없습니다. 도메인 지식은 복잡한 데이터 및 알고리즘에서 유효한 입력 유형을 명확히 하는 것까지 다양할 수 있습니다.
  • 사용자가 이해하는 텍스트를 사용합니다. 잘 만들어진 텍스트는 사용자와의 효과적인 의사 소통에 매우 중요합니다. 사용자에게 친숙한 개념과 용어를 사용합니다. 사용자가 지능적이고 정보에 입각한 결정을 내릴 수 있도록 일반 언어로 요구되는 사항을 완전히 설명합니다.
  • 안전하고 안전하며 가능한 기본값을 사용합니다. 설정에 대부분의 상황에서 대부분의 사용자에게 적용되는 값이 있고 해당 설정이 안전하고 안전한 경우 기본값으로 사용합니다. 사용자가 필요한 경우에만 값을 지정합니다.
  • 제약 조건을 사용합니다. 작업을 수행하는 방법에는 여러 가지가 있지만 일부만 올바른 경우 작업을 올바른 방법으로 제한합니다. 사용자는 쉽게 예방할 수 있는 실수를 할 수 없습니다.

단순함이 단순함을 의미하지는 않습니다.

"모든 것이 가능한 한 간단하게 만들어져야 합니다.

간단하지는 않습니다." —알버트 아인슈타인

단순성은 효과적이고 바람직한 사용자 환경에 매우 중요하다고 생각하지만 항상 좋은 것을 너무 멀리 가져가는 것이 가능합니다. 단순성의 본질은 위증의 감소 또는 제거입니다. 필수품을 제거하면 디자인이 좋지 않습니다. "간소화"로 인해 사용자가 좌절하거나, 혼란스럽거나, 일관되지 않거나, 작업을 성공적으로 완료할 수 없는 경우 너무 많이 제거되었습니다.

단순성은 사용자에게 더 많은 노력을 의미합니다.

"나는 이 편지를 더 길게 만들었기 때문이다.

시간을 단축할 때가 아닙니다." — 블레즈 파스칼

전력을 보존하면서 단순성을 얻으려면 내부 복잡성이 상당히 필요한 경우가 많습니다. 일반적으로 모든 기술 배관을 노출하는 소프트웨어를 설계하는 것이 숨기는 소프트웨어를 설계하는 것보다 더 쉽습니다. 후자는 대상 사용자와 목표를 잘 이해해야 합니다. 기능을 제거하려면 실제로 실용적이지 않은 멋진 기능을 추가하지 않기로 결정하는 것과 마찬가지로 분야가 필요합니다. 단순성을 위해서는 모든 것을 구성할 수 있도록 하는 대신 어려운 디자인을 선택해야 합니다. 복잡한 소프트웨어는 사용하지 않는 기능이나 이해할 수 없는 지나치게 복잡한 기능을 소중히 여는 사용자에 대한 오해로 인해 발생하는 경우가 많습니다.

강력하고 간단한

Power는 사용자를 활성화하고 생산성을 높이는 것입니다. 단순성은 모두 불필요한 기능을 제거하고 기능을 올바른 방법으로 제시하는 것입니다. 대상 사용자를 이해하고 기능과 프레젠테이션의 적절한 균형을 달성하면 두 가지 모두를 수행하는 Windows 기반 애플리케이션을 디자인할 수 있습니다.