SlideShare una empresa de Scribd logo
1 de 8
iOS Human Interface Guidelines
번역자 : 시스포유아이앤씨 마영희 주임
작성일 : 2013년 6월 14일
VI. iOS 기술 사용 가이드라인
9. 사운드
IOS 장치는 사용자가 선호하는 훌륭한 사운드를 생성한다. 당신의 어플리케이션에서 소리는 사용
자 경험의 중요한 부분이거나 중요하지 않은 것을 강조할 수도 있다. 당신의 어플리케이션에서
소리의 역할과 관계없이 사용자들은 행동에 대한 소리를 기대한다.
사용자의 기대를 이해하라.
사람들은 소리에 영향을 미치는 장치 컨트롤을 사용할 수 있다. 그들은 유선 또는 무선 헤드 셋
과 헤드폰을 사용할 수 있다. 비록 몇 가지 기대했던 일부분을 찾을 수 있을지도 모르지만 적절
한 소리를 듣고 장치가 아닌 사용자가 결정을 내린다는 점을 보면 모든 사람들은 사용자 컨트롤
원칙을 따른다는 것을 알 수 있다.
그들이 원할 때 자동으로 사용자의 장치를 전환한다.
 예상치 않은 소리에 중단되는 것을 피하라.
 사용자의 부수적인 행동에 의한 소리가 들리는 것을 피하라
 게임에 불필요한 소리가 나는 것을 피하라.
노트: 사람들은 벨 소리 / 무음 스위치 (iPhone의 경우) 또는 자동 스위치 중 하나를 사용하여
자동으로 자신의 장치를 전환한다.
예를 들면 극장에서 다른 사람 에게 방해를 주지 않기 위해 무음 모드로 장치를 전환한다. 이 상
황에서 사용자들은 장치의 어플리케이션을 사용하길 원하지만 그들은 문자 메시지 소리 같은 기
대하지 않았던 소리가 나는 것을 기대하지 않는다.
 무음 스위치는 사용자의 행동에 의해 명백하게 나는 소리는 무음처리 하지 않는다.
 미디어 재생은 사용자가 명시 적으로 요청한 것이기 때문에 미디어 전용 어플리케이션에
서 미디어 재생은 무음 처리 되지 않는다.
 알람은 사용자가 명백하게 설정한 것이기 때문에 무음처리 되지 않는다.
 사용자가 음성 채팅을 하기 위한 유일한 목적으로 어플리케이션을 시작했기 때문에 음성
채팅 어플리케이션에서 대화는 무음처리 되지 않는다.
사용자는 그 장치가 재생할 수 있는 모든 소리의 볼륨을 조정하는 장치의 볼륨 버튼을 사용한다.
사용자는 어떤 소리든 무음처리하기 위해 볼륨버튼을 사용할 수 있다. 어플리케이션의 현재 재생
되는 오디오 조정하기 위해 음량 버튼을 사용하면 벨 소리 볼륨을 제외하고 전체 시스템의 볼륨
을 조절한다.
iPhone: 오디오가 아닌 현재 재생되는 벨 소리 볼륨을 조절 할 때 볼륨버튼을 사용한다.
사용자는 손을 자유롭게 하고 개인적으로 소리를 듣기 위해 헤드 셋이나 헤드폰을 사용한다. 이
액세서리의 선의 유무와 상관없이 사용자들은 이 것에 특별한 사용자 경험을 기대한다.
사용자가 헤드 셋이나 헤드폰을 연결할 때, 무선 오디오 장치를 연결할 때 그들은 현재 오디오를
계속 개인적으로 계속 듣고 싶어하는 의도가 있다. 이 같은 이유 때문에 사람들은 어플리케이션
이 현재 재생되는 오디오를 멈춤 없이 재생하는 것을 기대한다.
사용자가 헤드 셋이나 헤드폰을 분리 또는 무선 장치 (또는 장치가 범위 외에 되거나 취소)에서
제거 할 때, 그들은 자동으로 그들은 다른 사람과 자신이 듣고 있는 것을 공유하고 싶어하지 않
는다. 이 같은 이유로 때문에 사람들이 준비가 되었을 때 다시 재생이 가능한 어플리케이션을 기
대하고 있다.
당신의 어플리케이션의 오디오 동작을 정의하라.
필요한 경우, 귀하의 응용 프로그램의 오디오 출력에서 최고의 믹스를 창출하기 위해 상대적으로
독립적인 음량을 조절할 수 있다. 그러나 최종 볼륨은 볼륨버튼이나 볼륨 슬라이더로 조정하는
것에 상관없이 시스템 볼륨으로 관리가 되어야 한다. 이것은 어디에 속하는 응용 프로그램의 오
디오 출력 제어는 사용자의 손에 의해 결정된다는 것을 의미한다.
적절하다면 당신의 어플리케이션이 음성 경로 선택을 표시 할 수 있는지 확인한다. 사람들은 비
록 물리적으로 플러그를 연결하거나 무선 장치를 분리하지 않더라고 다른 오디오 경로를 선택할
수 있기를 기대한다. 이 문제를 처리하기 위해 IOS는 자동으로 사용자가 출력 오디오 경로를 선
택할 수 있도록 컨트롤을 표시했다. 다른 오디오 경로를 선택하는 것이 사용자에 의해 선택된 것
이기 때문에 사용자들은 멈춤 없이 계속적으로 오디오가 재생되기를 기대한다.
볼륨 슬라이더를 표시 할 필요가 있는 경우 MPVolumeView 클래스를 사용할 때 사용 가능한 시
스템 제공의 음량 슬라이더를 사용하면 된다. 현재 활성화 된 오디오 출력 장치는 볼륨 컨트롤을
지원하지 않는 경우 볼륨 슬라이더가 해당 장치 이름으로 대체되는 것에 유의하기 바란다.
당신의 어플리케이션이 그 기능에 중요하지 않은 UI 사운드 효과를 생성하는 경우 시스템 사운드
서비스를 사용한다. 시스템 사운드 서비스는 경고 및 UI 소리를 생성하고 진동을 호출하는 iOS의
기술이며, 다른 목적으로는 적합하지 않다. 사운드를 생성하는 서비스를 사용할 때 장치의 구성이
변화하거나 어떤 방해로 인해 당신의 오디오와 장신의 오디오가 상호작용하지 않을 수 있다.
소리가 당신의 어플리케이션에서 중요한 역할을 하는 경우 오디오 세션 서비스 또는
AVAudioSession 클래스를 사용한다. 이러한 프로그래밍 인터페이스는 사운드를 생성하는 것이 아
니라, 당신이 당신의 오디오 장치와 오디오와 대화 중단 및 장치 구성의 변화에 대응 하는 것에
도움을 준다.
iPhone: 당신이 오디오를 생성하고, 그 동작을 정의하는 방법으로 사용하는 기술에 관계없이 전
화는 항상 현재 실행중인 어플리케이션을 중단 할 수 있다.
오디오 세션 서비스는 애플리케이션과 시스템 간의 오디오의 중개자로서 기능을 한다. 오디오 세
션의 가장 중요한 측면 중 하나는 어플리케이션 오디오 동작을 정의하는 카테고리이다.
오디오 세션 서비스의 장점을 실현하고 사용자가 기대하는 오디오 경험을 제공하려면 어플리케이
션의 음성 행동을 가장 잘 설명한 카테고리를 선택해야 한다.
이것은 당신의 어플리케이션이 전경에서만 오디오를 재생하거나 또는 배경에서 오디오를 재생할
수 있는지 여부를 나타내는 케이스이다. 이 항목을 선택하려면 다음지침을 따르면 된다.
 행동에 명확한 기반이 아닌 의미론적인 것에 배경을 둔 오디오 세션 카테고리를 선택한
다. 목적이 분명한 카테고리를 선택하면 어플리케이션이 사용자의 기대에 따라 작동하는
것을 보장한다. 정확한 동작설정은 미래에도 당신의 어플리케이션이 정확하게 작동할 수
있게 한다.
 몇몇의 경우는 카테고리의 표준 동작을 변경하기 위해 오디오 세션에 속성을 추가한다.
당신은 그 동작을 변경하기 전에 카테고리의 표준 동작은 대부분의 사용자가 기대하는
것을 나타내고 있기 때문에 신중하게 검토해야 한다. 예를 들어 당신의 오디오를 다른
오디오보다 크게 하기 위해 ducking 속성을 추가 할 수 있다.
 장치의 현재 오디오 환경은 당신의 카테고리 선택 기초를 고려 해야 한다. 당신의 사운
드트랙 대신에 다른 오디오를 듣고 있는 동안에 사용자들은 당신의 어플리케이션을 사용
할 수 있다. 이 작업을 수행할 경우 사용자에게 음악을 듣는 것을 중지하게 하거나 사운
드트랙을 선택하는 것을 강요하지 않아야 한다.
 일반적으로, 귀하의 응용 프로그램이 실행되는 동안 카테고리를 변경하지 말아야 한다.
당신의 응용 프로그램은 다른 시간에 재생을 지원 해야 하는 경우가 카테고리를 변경하
는 주된 이유이다. 이 경우에는 재생 및 녹음 범주를 선택하는 것보다 필요한 레코드 카
테고리 및 재생 범주로 전환하는 것이 좋다. 레코드 카테고리를 선택하면 녹음이 진행중
인 동안에는 경고나 수신 문자 메시지로 경보 소리를 내지 않는 것이 보장되기 때문이다.
 표 6-4는 사용 가능한 오디오 세션 카테고리를 보여준다. 다른 카테고리는 소리가 벨 소
리 / 무음 또는 자동 스위치 (또는 장치 잠금) 다른 오디오와 믹스하거나 어플리케이션이
백그라운드에서 작동하는 동안 재생할 무음처리 할 수 있다.
당신은 오디오 프로세싱 범주를 선택하고 백그라운드에서 오디오 작업을 수행하려는 경우, 당신
은 오디오 작업이 완료되기 전에 당신의 어플리케이션의 중지를 방지하는 것이 필요하다.
여기에 어떻게 사용자가 선호하는 오디오 경험을 제공하는 오디오 세션 카테고리를 선택 설명을
나타내는 몇 가지 시나리오가 있다.
시나리오 1: 사람들이 새로운 언어를 배우는 데 도움이 되는 교육 어플리케이션.
 사용자가 특정 컨트롤을 누를 때 재생 피드백 소리
 사용자가 정확한 발음의 예를 듣고 싶을 때 재생 단어와 구문의 기록
어플리케이션에서 기본적인 기능을 위해 사운드는 필수적이다. 사람들이 언어의 단어나 구문은
듣고 학습하기 위해서 어플리케이션을 사용하기 때문에 장치가 잠금 상태일 때나 무음 상태일 때
도 소리가 재생되어야 한다. 사용자는 명확하게 소리를 듣는 것이 필요하기 때문에 무음 상태에
서도 오디오가 재생되길 바랄지도 모른다.
오디오 경험 사용자의 기대를 충족하기 위해서 재생 카테고리를 사용한다. 이 카테고리는 다른
오디오와 자연스럽게 혼합이 가능할 지라도, 다른 오디오는 사용자가 명확하게 선택한 교육 내용
과 충돌하지 않도록 하기 위해 기본 동작을 사용해야 한다.
시나리오 2: 인터넷 프로토콜 (VoIP) 어플리케이션 음성
 오디오의 입력을 수용하는 능력
 오디오를 재생하는 능력
이 어플리케이션에서 소리는 주요한 기능이다. 사람들이 다른 어플리케이션을 사용하는 동안 어
플리케이션으로 다른 사람과 통신하기 위해 사용한다. 사람들은 무음상태 또는 잠금 상태 에서도
전화를 받을 수 있기를 기대하고 있다. 그리고 전화 통화 중에는 다른 소리는 무음처리 되기를
바란다. 그들은 또한 어플리케이션이 백그라운드에 있을 때 통화를 계속할 수 있을 것으로 기대
하고 있다.
이 어플리케이션에서 사용자가 기대하는 경험을 만들기 위해서 재생 및 녹음 카테고리를 사용한
다. 그리고 당신이 다른 사람과 전화통화중에 다른 오디오를 사용하기 위해서만 오디오 세션을
활성화 해야 한다.
시나리오 3: 다양한 작업을 통해 사용자에게 캐릭터를 설명해주는 게임.
 다양한 게임 사운드 효과
 음악 사운드 트랙
어플리케이션에서 사운드는 사용자 경험을 강화하지만, 주요한 작업은 아니다. 사용자들은 조용히
게임을 하는 것을 좋아하거나 게임 사운드 트랙 대신에 자신의 라이브러리에 있는 음악을 들으며
게임 하는 것을 선호한다.
최선의 전략은 당신의 어플리케이션이 시작되었을 때 사용자가 다른 오디오를 듣고 있을 때 찾을
수 있다. 사용자가 다른 오디오를 듣거나 사운드 트랙을 듣고 싶은 여부를 선택하도록 요청하면
안 된다. 대신 오디오 세션 서비스 kAudioSessionProperty_OtherAudioIsPlaying 속성 상태를 조회
할 AudioSessionGetProperty 기능을 사용한다. 이 질문에 대한 답변에 따라 다음 중 Ambient 또
는 Solo Ambient 카테고리 (두 범주는 사용자가 자동으로 게임을 플레이 할 수 있도록)를 선택
할 수 있다.
 만약 사용자가 다른 오디오를 듣고 있다면, 당신은 그들이 계속 듣는 것을 선호하는 것
인지 그리고 게임 사운드트랙 듣기를 강요 받기 싫어하는지에 대해 생각 해봐야만 한다.
이러한 상황에서는 주위의 카테고리를 선택한다.
 어플리케이션 시작 시 사용자가 다른 오디오를 듣고 있지 않으면, Solo Ambient 카테고
리를 선택한다.
시나리오 4: 사용자에게 정확한 실시간 탐색 방법을 설명하는 어플리케이션을 제공한다.
 과정의 모든 단계의 방향을 이야기 한다.
 소수의 피드백 사운드
 그들 자신의 오디오를 계속적으로 듣기 위한 사용자의 능력
이 어플리케이션은 백그라운드에 관계없이 음성 검색 명령어를 주요작업으로 나타낸다. 이러한
이유로 어플리케이션에 백그라운드에 있는 동안이나 장치가 잠금 또는 무음으로 전환 상태 일 때
재생 카테고리를 사용할 수 있다.
당신의 응용 프로그램을 사용하는 동안 사람들이 다른 오디오를 청취 할 수 있도록 하려면, 당신
은 kAudioSessionProperty_OverrideCategoryMixWithOthers 속성을 추가 할 수 있다. 그러나, 당신
은 또한 사용자가 현재 재생하고 있는 오디오 위의 음성 지시를 들을 수 있는지 확인하길 원한다.
당신이 오디오 세션에 kAudioSessionProperty_OtherMixableAudioShouldDuck 속성을 적용 할 수
하면 iPhone에서 전화 오디오 제외한 모든 현재 재생중인 오디오보다 소리가 크다는 것을 보장한
다.
이 설정은 어플리케이션 배경에 있는 동안 오디오 세션을 재활성화 시키고 사용자가 실시간 네비
게이션을 업데이트 받을 수 있도록 보장 한다.
시나리오 5: 블로깅 어플리케이션은 사용자가 웹 사이트에 자신의 텍스트와 그래픽을 업로드 할
수 있게 한다.
 짧은 시동 사운드 파일
 사용자의 행동이 수반된 다양한 사운드 효과
 포스팅이 실패할 때 나오는 경고음
이 어플리케이션에서 소리는 사용자 경험을 강화하지만 필수는 아니다. 오디오와 상관없는 사용
자가 어플리케이션에서 나오는 모든 소리를 들을 필요는 없다. 이 시나리오에서 당신은 소리를
생성하기 위해 시스템 사운드 서비스를 사용하면 된다. 기술의 목적이 어플리케이션의 모든 사운
드에 내재 되어야 하기 때문에 UI사운드 효과나 경고음 등은 사용자가 기대하는 방식에 따라 장
치의 잠금이나 무음모드에 따라서 반응해야 한다.
오디오 중단 관리
때때로, 현재 재생중인 오디오는 다른 어플리케이션에서 중단된다. iPhone에서 통화하는 동안 어
플리케이션의 오디오는 통화를 방해한다. 멀티태스킹 환경에서는 오디오 중단의 빈도가 늘어날
수 있다.
사용자가 만족스러운 오디오 경험을 제공하기 위해 iOS에 의존하라.
 당신에 어플리케이션에 음성 중단의 유형을 식별할 수 있다.
 오디오 방해를 해결한 후에도 계속적으로 그럴 때 적절히 대응한다.
모든 어플리케이션은 오디오 방식의 유형을 식별 할 수 있지만 어떻게 방해를 해결할 수 있는지
에 대한 방법을 결정해야 한다. 어플리케이션의 대부분 유형은 오디오를 재개하여 오디오 방해에
대응해야 하기 때문이다. 주로 또는 부분적으로 응용 프로그램은 미디어 재생 응용 프로그램과
적절한 대응을 결정하기 위해 추가 조치를 취하기 위해 통제하고 있는 미디어 재생을 제공한다.
개념적으로 오디오 방해는 오디오 종류에 따른 것과 방해가 중단되었을 때 사용자가 특별한 어플
리케이션의 반응을 기대하는 방법이 있다.

Más contenido relacionado

Destacado

iOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4UiOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4Usys4u
 
Observer Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4UObserver Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4Usys4u
 
Memory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4UMemory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4Usys4u
 
iOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4UiOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4Usys4u
 
iOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4UiOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4Usys4u
 
iOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4UiOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4Usys4u
 
30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4U30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4Usys4u
 
Java_Concurrency_Programming_SYS4U
Java_Concurrency_Programming_SYS4UJava_Concurrency_Programming_SYS4U
Java_Concurrency_Programming_SYS4Usys4u
 
Implementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4UImplementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4Usys4u
 
Aspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&CAspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&Csys4u
 
JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4usys4u
 
NAT and Hole Punching_SYS4U I&C
NAT and Hole Punching_SYS4U I&CNAT and Hole Punching_SYS4U I&C
NAT and Hole Punching_SYS4U I&Csys4u
 
iOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4UiOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4Usys4u
 
Java reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&CJava reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&Csys4u
 
2013 UX Design Trend Report Part 3_SYS4U I&C
2013 UX Design Trend Report Part 3_SYS4U I&C2013 UX Design Trend Report Part 3_SYS4U I&C
2013 UX Design Trend Report Part 3_SYS4U I&Csys4u
 
About Color_SYS4U
About Color_SYS4UAbout Color_SYS4U
About Color_SYS4Usys4u
 

Destacado (16)

iOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4UiOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4U
 
Observer Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4UObserver Design Pattern in Java_SYS4U
Observer Design Pattern in Java_SYS4U
 
Memory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4UMemory_leak_patterns_in_JavaScript_SYS4U
Memory_leak_patterns_in_JavaScript_SYS4U
 
iOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4UiOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4U
 
iOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4UiOS Human_Interface_Guidlines_#2_SYS4U
iOS Human_Interface_Guidlines_#2_SYS4U
 
iOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4UiOS Human Interface Guidlines #7_SYS4U
iOS Human Interface Guidlines #7_SYS4U
 
30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4U30_eCommerce_sites_using_html5_SYS4U
30_eCommerce_sites_using_html5_SYS4U
 
Java_Concurrency_Programming_SYS4U
Java_Concurrency_Programming_SYS4UJava_Concurrency_Programming_SYS4U
Java_Concurrency_Programming_SYS4U
 
Implementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4UImplementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4U
 
Aspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&CAspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&C
 
JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4u
 
NAT and Hole Punching_SYS4U I&C
NAT and Hole Punching_SYS4U I&CNAT and Hole Punching_SYS4U I&C
NAT and Hole Punching_SYS4U I&C
 
iOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4UiOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4U
 
Java reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&CJava reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&C
 
2013 UX Design Trend Report Part 3_SYS4U I&C
2013 UX Design Trend Report Part 3_SYS4U I&C2013 UX Design Trend Report Part 3_SYS4U I&C
2013 UX Design Trend Report Part 3_SYS4U I&C
 
About Color_SYS4U
About Color_SYS4UAbout Color_SYS4U
About Color_SYS4U
 

Similar a iOS Human Interface Guidlines #11_SYS4U

Ux discovery 5th rightbrain_part1
Ux discovery 5th rightbrain_part1Ux discovery 5th rightbrain_part1
Ux discovery 5th rightbrain_part1RightBrain inc.
 
Amazon Echo smart speaker
Amazon Echo smart speakerAmazon Echo smart speaker
Amazon Echo smart speakerInje Kim
 
모바일 앱 발표
모바일 앱 발표모바일 앱 발표
모바일 앱 발표승현 황
 
음성인식 기반 홈IoT 제품서비스 동향 및 시사점 스마트홈산업협회 (순천향대학교 김학용 교수)
음성인식 기반 홈IoT 제품서비스 동향 및 시사점   스마트홈산업협회 (순천향대학교 김학용 교수)음성인식 기반 홈IoT 제품서비스 동향 및 시사점   스마트홈산업협회 (순천향대학교 김학용 교수)
음성인식 기반 홈IoT 제품서비스 동향 및 시사점 스마트홈산업협회 (순천향대학교 김학용 교수)Hakyong Kim
 
ios와 안드로이드os 바교토론, 게임리뷰
ios와 안드로이드os 바교토론, 게임리뷰ios와 안드로이드os 바교토론, 게임리뷰
ios와 안드로이드os 바교토론, 게임리뷰Lee SangHo
 
Try talk sports_수정1110
Try talk sports_수정1110Try talk sports_수정1110
Try talk sports_수정1110진한 손
 
JUCE - WeSA Academy
JUCE - WeSA Academy JUCE - WeSA Academy
JUCE - WeSA Academy Sungmin Park
 
UX discovery 7th rightbrain_part1
UX discovery 7th rightbrain_part1UX discovery 7th rightbrain_part1
UX discovery 7th rightbrain_part1RightBrain inc.
 

Similar a iOS Human Interface Guidlines #11_SYS4U (8)

Ux discovery 5th rightbrain_part1
Ux discovery 5th rightbrain_part1Ux discovery 5th rightbrain_part1
Ux discovery 5th rightbrain_part1
 
Amazon Echo smart speaker
Amazon Echo smart speakerAmazon Echo smart speaker
Amazon Echo smart speaker
 
모바일 앱 발표
모바일 앱 발표모바일 앱 발표
모바일 앱 발표
 
음성인식 기반 홈IoT 제품서비스 동향 및 시사점 스마트홈산업협회 (순천향대학교 김학용 교수)
음성인식 기반 홈IoT 제품서비스 동향 및 시사점   스마트홈산업협회 (순천향대학교 김학용 교수)음성인식 기반 홈IoT 제품서비스 동향 및 시사점   스마트홈산업협회 (순천향대학교 김학용 교수)
음성인식 기반 홈IoT 제품서비스 동향 및 시사점 스마트홈산업협회 (순천향대학교 김학용 교수)
 
ios와 안드로이드os 바교토론, 게임리뷰
ios와 안드로이드os 바교토론, 게임리뷰ios와 안드로이드os 바교토론, 게임리뷰
ios와 안드로이드os 바교토론, 게임리뷰
 
Try talk sports_수정1110
Try talk sports_수정1110Try talk sports_수정1110
Try talk sports_수정1110
 
JUCE - WeSA Academy
JUCE - WeSA Academy JUCE - WeSA Academy
JUCE - WeSA Academy
 
UX discovery 7th rightbrain_part1
UX discovery 7th rightbrain_part1UX discovery 7th rightbrain_part1
UX discovery 7th rightbrain_part1
 

Más de sys4u

Html5_SYS4U
Html5_SYS4UHtml5_SYS4U
Html5_SYS4Usys4u
 
Web Accessibility_SYS4U
Web Accessibility_SYS4UWeb Accessibility_SYS4U
Web Accessibility_SYS4Usys4u
 
iOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4UiOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4Usys4u
 
iOS Human Interface Guidlines #13_SYS4U
iOS Human Interface Guidlines #13_SYS4UiOS Human Interface Guidlines #13_SYS4U
iOS Human Interface Guidlines #13_SYS4Usys4u
 
UX Layout Design_SYS4U
UX Layout Design_SYS4UUX Layout Design_SYS4U
UX Layout Design_SYS4Usys4u
 
Advanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4UAdvanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4Usys4u
 
Proxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4UProxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4Usys4u
 
iOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4UiOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4Usys4u
 
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&CUIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&Csys4u
 
Promotions_2nd_SYS4U I&C
Promotions_2nd_SYS4U I&CPromotions_2nd_SYS4U I&C
Promotions_2nd_SYS4U I&Csys4u
 

Más de sys4u (10)

Html5_SYS4U
Html5_SYS4UHtml5_SYS4U
Html5_SYS4U
 
Web Accessibility_SYS4U
Web Accessibility_SYS4UWeb Accessibility_SYS4U
Web Accessibility_SYS4U
 
iOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4UiOS Human Interface Guidlines #15_SYS4U
iOS Human Interface Guidlines #15_SYS4U
 
iOS Human Interface Guidlines #13_SYS4U
iOS Human Interface Guidlines #13_SYS4UiOS Human Interface Guidlines #13_SYS4U
iOS Human Interface Guidlines #13_SYS4U
 
UX Layout Design_SYS4U
UX Layout Design_SYS4UUX Layout Design_SYS4U
UX Layout Design_SYS4U
 
Advanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4UAdvanced SWOT Analysis of e-commerce_SYS4U
Advanced SWOT Analysis of e-commerce_SYS4U
 
Proxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4UProxy_design_pattern_in_Java_SYS4U
Proxy_design_pattern_in_Java_SYS4U
 
iOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4UiOS Human_Interface_Guidlines_#1_SYS4U
iOS Human_Interface_Guidlines_#1_SYS4U
 
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&CUIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
UIX UNIT_Several UI Teminologies Easy To Miss_SYS4U I&C
 
Promotions_2nd_SYS4U I&C
Promotions_2nd_SYS4U I&CPromotions_2nd_SYS4U I&C
Promotions_2nd_SYS4U I&C
 

iOS Human Interface Guidlines #11_SYS4U

  • 1. iOS Human Interface Guidelines 번역자 : 시스포유아이앤씨 마영희 주임 작성일 : 2013년 6월 14일 VI. iOS 기술 사용 가이드라인 9. 사운드 IOS 장치는 사용자가 선호하는 훌륭한 사운드를 생성한다. 당신의 어플리케이션에서 소리는 사용 자 경험의 중요한 부분이거나 중요하지 않은 것을 강조할 수도 있다. 당신의 어플리케이션에서 소리의 역할과 관계없이 사용자들은 행동에 대한 소리를 기대한다. 사용자의 기대를 이해하라. 사람들은 소리에 영향을 미치는 장치 컨트롤을 사용할 수 있다. 그들은 유선 또는 무선 헤드 셋 과 헤드폰을 사용할 수 있다. 비록 몇 가지 기대했던 일부분을 찾을 수 있을지도 모르지만 적절 한 소리를 듣고 장치가 아닌 사용자가 결정을 내린다는 점을 보면 모든 사람들은 사용자 컨트롤 원칙을 따른다는 것을 알 수 있다. 그들이 원할 때 자동으로 사용자의 장치를 전환한다.  예상치 않은 소리에 중단되는 것을 피하라.  사용자의 부수적인 행동에 의한 소리가 들리는 것을 피하라  게임에 불필요한 소리가 나는 것을 피하라.
  • 2. 노트: 사람들은 벨 소리 / 무음 스위치 (iPhone의 경우) 또는 자동 스위치 중 하나를 사용하여 자동으로 자신의 장치를 전환한다. 예를 들면 극장에서 다른 사람 에게 방해를 주지 않기 위해 무음 모드로 장치를 전환한다. 이 상 황에서 사용자들은 장치의 어플리케이션을 사용하길 원하지만 그들은 문자 메시지 소리 같은 기 대하지 않았던 소리가 나는 것을 기대하지 않는다.  무음 스위치는 사용자의 행동에 의해 명백하게 나는 소리는 무음처리 하지 않는다.  미디어 재생은 사용자가 명시 적으로 요청한 것이기 때문에 미디어 전용 어플리케이션에 서 미디어 재생은 무음 처리 되지 않는다.  알람은 사용자가 명백하게 설정한 것이기 때문에 무음처리 되지 않는다.  사용자가 음성 채팅을 하기 위한 유일한 목적으로 어플리케이션을 시작했기 때문에 음성 채팅 어플리케이션에서 대화는 무음처리 되지 않는다. 사용자는 그 장치가 재생할 수 있는 모든 소리의 볼륨을 조정하는 장치의 볼륨 버튼을 사용한다. 사용자는 어떤 소리든 무음처리하기 위해 볼륨버튼을 사용할 수 있다. 어플리케이션의 현재 재생 되는 오디오 조정하기 위해 음량 버튼을 사용하면 벨 소리 볼륨을 제외하고 전체 시스템의 볼륨 을 조절한다. iPhone: 오디오가 아닌 현재 재생되는 벨 소리 볼륨을 조절 할 때 볼륨버튼을 사용한다. 사용자는 손을 자유롭게 하고 개인적으로 소리를 듣기 위해 헤드 셋이나 헤드폰을 사용한다. 이 액세서리의 선의 유무와 상관없이 사용자들은 이 것에 특별한 사용자 경험을 기대한다. 사용자가 헤드 셋이나 헤드폰을 연결할 때, 무선 오디오 장치를 연결할 때 그들은 현재 오디오를 계속 개인적으로 계속 듣고 싶어하는 의도가 있다. 이 같은 이유 때문에 사람들은 어플리케이션 이 현재 재생되는 오디오를 멈춤 없이 재생하는 것을 기대한다. 사용자가 헤드 셋이나 헤드폰을 분리 또는 무선 장치 (또는 장치가 범위 외에 되거나 취소)에서 제거 할 때, 그들은 자동으로 그들은 다른 사람과 자신이 듣고 있는 것을 공유하고 싶어하지 않 는다. 이 같은 이유로 때문에 사람들이 준비가 되었을 때 다시 재생이 가능한 어플리케이션을 기 대하고 있다.
  • 3. 당신의 어플리케이션의 오디오 동작을 정의하라. 필요한 경우, 귀하의 응용 프로그램의 오디오 출력에서 최고의 믹스를 창출하기 위해 상대적으로 독립적인 음량을 조절할 수 있다. 그러나 최종 볼륨은 볼륨버튼이나 볼륨 슬라이더로 조정하는 것에 상관없이 시스템 볼륨으로 관리가 되어야 한다. 이것은 어디에 속하는 응용 프로그램의 오 디오 출력 제어는 사용자의 손에 의해 결정된다는 것을 의미한다. 적절하다면 당신의 어플리케이션이 음성 경로 선택을 표시 할 수 있는지 확인한다. 사람들은 비 록 물리적으로 플러그를 연결하거나 무선 장치를 분리하지 않더라고 다른 오디오 경로를 선택할 수 있기를 기대한다. 이 문제를 처리하기 위해 IOS는 자동으로 사용자가 출력 오디오 경로를 선 택할 수 있도록 컨트롤을 표시했다. 다른 오디오 경로를 선택하는 것이 사용자에 의해 선택된 것 이기 때문에 사용자들은 멈춤 없이 계속적으로 오디오가 재생되기를 기대한다. 볼륨 슬라이더를 표시 할 필요가 있는 경우 MPVolumeView 클래스를 사용할 때 사용 가능한 시 스템 제공의 음량 슬라이더를 사용하면 된다. 현재 활성화 된 오디오 출력 장치는 볼륨 컨트롤을 지원하지 않는 경우 볼륨 슬라이더가 해당 장치 이름으로 대체되는 것에 유의하기 바란다. 당신의 어플리케이션이 그 기능에 중요하지 않은 UI 사운드 효과를 생성하는 경우 시스템 사운드 서비스를 사용한다. 시스템 사운드 서비스는 경고 및 UI 소리를 생성하고 진동을 호출하는 iOS의 기술이며, 다른 목적으로는 적합하지 않다. 사운드를 생성하는 서비스를 사용할 때 장치의 구성이 변화하거나 어떤 방해로 인해 당신의 오디오와 장신의 오디오가 상호작용하지 않을 수 있다. 소리가 당신의 어플리케이션에서 중요한 역할을 하는 경우 오디오 세션 서비스 또는 AVAudioSession 클래스를 사용한다. 이러한 프로그래밍 인터페이스는 사운드를 생성하는 것이 아 니라, 당신이 당신의 오디오 장치와 오디오와 대화 중단 및 장치 구성의 변화에 대응 하는 것에 도움을 준다. iPhone: 당신이 오디오를 생성하고, 그 동작을 정의하는 방법으로 사용하는 기술에 관계없이 전 화는 항상 현재 실행중인 어플리케이션을 중단 할 수 있다. 오디오 세션 서비스는 애플리케이션과 시스템 간의 오디오의 중개자로서 기능을 한다. 오디오 세 션의 가장 중요한 측면 중 하나는 어플리케이션 오디오 동작을 정의하는 카테고리이다. 오디오 세션 서비스의 장점을 실현하고 사용자가 기대하는 오디오 경험을 제공하려면 어플리케이 션의 음성 행동을 가장 잘 설명한 카테고리를 선택해야 한다. 이것은 당신의 어플리케이션이 전경에서만 오디오를 재생하거나 또는 배경에서 오디오를 재생할
  • 4. 수 있는지 여부를 나타내는 케이스이다. 이 항목을 선택하려면 다음지침을 따르면 된다.  행동에 명확한 기반이 아닌 의미론적인 것에 배경을 둔 오디오 세션 카테고리를 선택한 다. 목적이 분명한 카테고리를 선택하면 어플리케이션이 사용자의 기대에 따라 작동하는 것을 보장한다. 정확한 동작설정은 미래에도 당신의 어플리케이션이 정확하게 작동할 수 있게 한다.  몇몇의 경우는 카테고리의 표준 동작을 변경하기 위해 오디오 세션에 속성을 추가한다. 당신은 그 동작을 변경하기 전에 카테고리의 표준 동작은 대부분의 사용자가 기대하는 것을 나타내고 있기 때문에 신중하게 검토해야 한다. 예를 들어 당신의 오디오를 다른 오디오보다 크게 하기 위해 ducking 속성을 추가 할 수 있다.  장치의 현재 오디오 환경은 당신의 카테고리 선택 기초를 고려 해야 한다. 당신의 사운 드트랙 대신에 다른 오디오를 듣고 있는 동안에 사용자들은 당신의 어플리케이션을 사용 할 수 있다. 이 작업을 수행할 경우 사용자에게 음악을 듣는 것을 중지하게 하거나 사운 드트랙을 선택하는 것을 강요하지 않아야 한다.  일반적으로, 귀하의 응용 프로그램이 실행되는 동안 카테고리를 변경하지 말아야 한다. 당신의 응용 프로그램은 다른 시간에 재생을 지원 해야 하는 경우가 카테고리를 변경하 는 주된 이유이다. 이 경우에는 재생 및 녹음 범주를 선택하는 것보다 필요한 레코드 카 테고리 및 재생 범주로 전환하는 것이 좋다. 레코드 카테고리를 선택하면 녹음이 진행중 인 동안에는 경고나 수신 문자 메시지로 경보 소리를 내지 않는 것이 보장되기 때문이다.  표 6-4는 사용 가능한 오디오 세션 카테고리를 보여준다. 다른 카테고리는 소리가 벨 소 리 / 무음 또는 자동 스위치 (또는 장치 잠금) 다른 오디오와 믹스하거나 어플리케이션이 백그라운드에서 작동하는 동안 재생할 무음처리 할 수 있다.
  • 5. 당신은 오디오 프로세싱 범주를 선택하고 백그라운드에서 오디오 작업을 수행하려는 경우, 당신 은 오디오 작업이 완료되기 전에 당신의 어플리케이션의 중지를 방지하는 것이 필요하다. 여기에 어떻게 사용자가 선호하는 오디오 경험을 제공하는 오디오 세션 카테고리를 선택 설명을 나타내는 몇 가지 시나리오가 있다. 시나리오 1: 사람들이 새로운 언어를 배우는 데 도움이 되는 교육 어플리케이션.  사용자가 특정 컨트롤을 누를 때 재생 피드백 소리  사용자가 정확한 발음의 예를 듣고 싶을 때 재생 단어와 구문의 기록 어플리케이션에서 기본적인 기능을 위해 사운드는 필수적이다. 사람들이 언어의 단어나 구문은 듣고 학습하기 위해서 어플리케이션을 사용하기 때문에 장치가 잠금 상태일 때나 무음 상태일 때 도 소리가 재생되어야 한다. 사용자는 명확하게 소리를 듣는 것이 필요하기 때문에 무음 상태에 서도 오디오가 재생되길 바랄지도 모른다. 오디오 경험 사용자의 기대를 충족하기 위해서 재생 카테고리를 사용한다. 이 카테고리는 다른 오디오와 자연스럽게 혼합이 가능할 지라도, 다른 오디오는 사용자가 명확하게 선택한 교육 내용 과 충돌하지 않도록 하기 위해 기본 동작을 사용해야 한다. 시나리오 2: 인터넷 프로토콜 (VoIP) 어플리케이션 음성  오디오의 입력을 수용하는 능력  오디오를 재생하는 능력
  • 6. 이 어플리케이션에서 소리는 주요한 기능이다. 사람들이 다른 어플리케이션을 사용하는 동안 어 플리케이션으로 다른 사람과 통신하기 위해 사용한다. 사람들은 무음상태 또는 잠금 상태 에서도 전화를 받을 수 있기를 기대하고 있다. 그리고 전화 통화 중에는 다른 소리는 무음처리 되기를 바란다. 그들은 또한 어플리케이션이 백그라운드에 있을 때 통화를 계속할 수 있을 것으로 기대 하고 있다. 이 어플리케이션에서 사용자가 기대하는 경험을 만들기 위해서 재생 및 녹음 카테고리를 사용한 다. 그리고 당신이 다른 사람과 전화통화중에 다른 오디오를 사용하기 위해서만 오디오 세션을 활성화 해야 한다. 시나리오 3: 다양한 작업을 통해 사용자에게 캐릭터를 설명해주는 게임.  다양한 게임 사운드 효과  음악 사운드 트랙 어플리케이션에서 사운드는 사용자 경험을 강화하지만, 주요한 작업은 아니다. 사용자들은 조용히 게임을 하는 것을 좋아하거나 게임 사운드 트랙 대신에 자신의 라이브러리에 있는 음악을 들으며 게임 하는 것을 선호한다. 최선의 전략은 당신의 어플리케이션이 시작되었을 때 사용자가 다른 오디오를 듣고 있을 때 찾을 수 있다. 사용자가 다른 오디오를 듣거나 사운드 트랙을 듣고 싶은 여부를 선택하도록 요청하면 안 된다. 대신 오디오 세션 서비스 kAudioSessionProperty_OtherAudioIsPlaying 속성 상태를 조회 할 AudioSessionGetProperty 기능을 사용한다. 이 질문에 대한 답변에 따라 다음 중 Ambient 또 는 Solo Ambient 카테고리 (두 범주는 사용자가 자동으로 게임을 플레이 할 수 있도록)를 선택 할 수 있다.  만약 사용자가 다른 오디오를 듣고 있다면, 당신은 그들이 계속 듣는 것을 선호하는 것 인지 그리고 게임 사운드트랙 듣기를 강요 받기 싫어하는지에 대해 생각 해봐야만 한다. 이러한 상황에서는 주위의 카테고리를 선택한다.  어플리케이션 시작 시 사용자가 다른 오디오를 듣고 있지 않으면, Solo Ambient 카테고 리를 선택한다. 시나리오 4: 사용자에게 정확한 실시간 탐색 방법을 설명하는 어플리케이션을 제공한다.  과정의 모든 단계의 방향을 이야기 한다.  소수의 피드백 사운드
  • 7.  그들 자신의 오디오를 계속적으로 듣기 위한 사용자의 능력 이 어플리케이션은 백그라운드에 관계없이 음성 검색 명령어를 주요작업으로 나타낸다. 이러한 이유로 어플리케이션에 백그라운드에 있는 동안이나 장치가 잠금 또는 무음으로 전환 상태 일 때 재생 카테고리를 사용할 수 있다. 당신의 응용 프로그램을 사용하는 동안 사람들이 다른 오디오를 청취 할 수 있도록 하려면, 당신 은 kAudioSessionProperty_OverrideCategoryMixWithOthers 속성을 추가 할 수 있다. 그러나, 당신 은 또한 사용자가 현재 재생하고 있는 오디오 위의 음성 지시를 들을 수 있는지 확인하길 원한다. 당신이 오디오 세션에 kAudioSessionProperty_OtherMixableAudioShouldDuck 속성을 적용 할 수 하면 iPhone에서 전화 오디오 제외한 모든 현재 재생중인 오디오보다 소리가 크다는 것을 보장한 다. 이 설정은 어플리케이션 배경에 있는 동안 오디오 세션을 재활성화 시키고 사용자가 실시간 네비 게이션을 업데이트 받을 수 있도록 보장 한다. 시나리오 5: 블로깅 어플리케이션은 사용자가 웹 사이트에 자신의 텍스트와 그래픽을 업로드 할 수 있게 한다.  짧은 시동 사운드 파일  사용자의 행동이 수반된 다양한 사운드 효과  포스팅이 실패할 때 나오는 경고음 이 어플리케이션에서 소리는 사용자 경험을 강화하지만 필수는 아니다. 오디오와 상관없는 사용 자가 어플리케이션에서 나오는 모든 소리를 들을 필요는 없다. 이 시나리오에서 당신은 소리를 생성하기 위해 시스템 사운드 서비스를 사용하면 된다. 기술의 목적이 어플리케이션의 모든 사운 드에 내재 되어야 하기 때문에 UI사운드 효과나 경고음 등은 사용자가 기대하는 방식에 따라 장 치의 잠금이나 무음모드에 따라서 반응해야 한다. 오디오 중단 관리 때때로, 현재 재생중인 오디오는 다른 어플리케이션에서 중단된다. iPhone에서 통화하는 동안 어 플리케이션의 오디오는 통화를 방해한다. 멀티태스킹 환경에서는 오디오 중단의 빈도가 늘어날 수 있다. 사용자가 만족스러운 오디오 경험을 제공하기 위해 iOS에 의존하라.
  • 8.  당신에 어플리케이션에 음성 중단의 유형을 식별할 수 있다.  오디오 방해를 해결한 후에도 계속적으로 그럴 때 적절히 대응한다. 모든 어플리케이션은 오디오 방식의 유형을 식별 할 수 있지만 어떻게 방해를 해결할 수 있는지 에 대한 방법을 결정해야 한다. 어플리케이션의 대부분 유형은 오디오를 재개하여 오디오 방해에 대응해야 하기 때문이다. 주로 또는 부분적으로 응용 프로그램은 미디어 재생 응용 프로그램과 적절한 대응을 결정하기 위해 추가 조치를 취하기 위해 통제하고 있는 미디어 재생을 제공한다. 개념적으로 오디오 방해는 오디오 종류에 따른 것과 방해가 중단되었을 때 사용자가 특별한 어플 리케이션의 반응을 기대하는 방법이 있다.