SlideShare uma empresa Scribd logo
1 de 12
iOS Human Interface Guidelines
번역자 : 시스포유아이앤씨 마영희 주임
작성일 : 2013년 4월 26일
V. 사용자 경험 가이드라인
16.물리적 특성과 현실성을 생각하라.
적당한 때에 현실적 물리적 수치를 당신의 어플리케이션에 추가한다. 때때로 어플리케이션에 외
관과 동작보다 그것을 통해 사람들이 얼마나 쉽게 작업을 하고 즐기는지가 더 중요하다. 예를 들
면 iPad에 연락처는 사람들이 즉시 실제 주소가 쓰여진 책으로 인지 할 수 있다.
iPhone에서 음성녹음기는 멋진 마이크이미지와 현실감 있는 컨트롤이 나타나 있어 사람들이 즉시
사용할 수 있다.
어플리케이션의 본질을 나타내고 사용자와의 커뮤니케이션 기회를 제공하도록 화면을 설계하고
개체들을 생각해야 한다. 정확성을 엄격히 생각할 필요는 없다. 때때로 충실한 묘사 보다 강조된
화면들이 의미를 좀더 현실감 있게 전달할 수 있다.
어플리케이션의 현실감을 좀더 강조 하기 위해 애니메이션을 사용하라. 일반적으로 외관보다 동
작의 정확성이 더 중요하다. 사람들은 외형적인 것들을 수용하지만 물리법칙을 무시하는 움직임
에서는 혼란이 야기 될 수 있다. 가능한 물리적인 개체와 컨트롤과 유사한 실제적인 화면과 컨트
롤을 사용해야 한다. 설득력 있는 애니메이션은 사람들이 만지고 싶어서 시간을 소비할 만큼 강
한 인상을 준다.
17. 멋진 그래픽으로 사람들을 기쁘게 하라.
멋진 그래픽은 사람들을 어플리케이션으로 끌어당기고 작업을 간단하게 한다. 멋진 화면은 사람
들의 눈을 통해 어플리케이션의 브랜드를 인식시키는 도움을 준다. iOS 장치는 당신의 어플리케
이션 예술품을 보여주는 전시장이기 때문에 사람들이 감탄할만한 초기 그래픽 작업을 위해 프로
미술가를 고용하는 것을 고려해 봐야 한다.
고품질의 재료의 모습을 복사하는 것을 고려해 보라. 당신의 어플리케이션에 나무, 가죽, 금속, 효
과를 줄 경우 현실감 있게 보여지는데 시간이 걸린다. 노트에서는 고급 가죽과 세심한 스티치 모
양을 재현했다.
고해상도의 artwork를 만든다. 대부분의 경우 당신의 artwork를 확장하는 것은 장기적인 해결책
이 아니다. 대신에 당신이 필요한 것 보다 더 크게 artwork를 만든다. 그래서 축소하기 전에 세부
사항을 추가 할 수 있다. 최초의 artwork 파일 크기는 필요로 하는 크기의 배수로 하는것이 적합
하다. 이미지 편집 어플리케이션에서 적절한 격자크기를 사용하는 경우 축소된 파일의 선명함을
유지하고 리터칭 과정을 줄일 수 있다.
멋지고 기억에 남을만한 어플리케이션 아이콘을 디자인 하라. 보통 아이콘의 품질을 보고 어플리
케이션을 다운로드 한다. 이와 관련된 내용은 “App Icons”을 참조하면 된다.
화면의 크기를 확인하고 하드 코드 된 값을 삭제한다. 당신이 다른 iOS창치나 다른 디스플레이를
동작할 때 특히 중요하다.
18. 방향 변경 다루기.
사람들은 iOS장치가 모든 방향에서 사용할 수 있기를 바란다. 당신의 어플리케이션 내용과 그것
이 가능한 작업 내에서 이 기대를 충족시킬 수 있는 결정이 필요 하다.
모든 방향에서 기본 컨텐츠의 초점을 유지한다. 이것이 최우선의 과제이다. 사람들은 당신의 어플
리케이션을 보거나 그것을 도와줄 컨텐츠와 상호작용 하기 위해서 사용한다. 다른 방향으로 컨텐
츠의 초점을 변경하면 사람들은 어플리케이션에서 컨트롤을 잃어 버릴 수 있다고 느낀다.
어플리케이션이 모든 방향으로 실행되는 것을 해제 할 때 두 번 생각하라. 사람들이 당신의 어플
리케이션이 기대하는 방향으로 실행 될 때 사람들이 가장 만족할 것이다. iPad 사용자들은 특히
현재 장치가 고정되어 있는 방향에서 사용할 수 있기를 바란다. 그러나 특정한 경우에 어플리케
이션은 오직 세로방향이나 가로방향으로만 실행 되야 하는 경우가 있다.
 어플리케이션은 현재 장치의 방향에 상관없이 지원되는 방향으로 시작되어야 한다. 예를
들면 게임이나 미디어를 보는 어플리케이션일 경우 오직 가로 방향으로만 실행된다, 그
래서 가로방향으로 시작되는 것이 적합하다. 심지어 장치의 현재 방향이 세로 방향 일
때도 마찬가지다. 사람들은 어플리케이션을 세로방향으로 시작했다고 할지라도 장치를
돌리면 가로방향으로 볼 수 있다는 것을 알고 있다.
 사람들에게 장치를 회전하라고 말하는 UI요소 표시를 피해야 한다. 지원되는 방향으로
시작하면 UI를 불필요 하게 추가하지 않고, 사람들의 필요에 따라 장치를 회전 시키도록
지시한다.
 다른 두 가지 방향을 지원해야 한다. 예를 들면 만약 당신의 어플리케이션이 가로방향으
로만 실행된다면 장치의 홈 버튼을 오른쪽이나 왼쪽에 고정하여 사용해야 한다. 당신의
어플리케이션을 사용하면서 사람들이 장치를 180도 회전시킬 경우 컨텐츠가 180도 회전
시키는 것으로 대응 할 수 있다면, 그것이 가장 적합한 방법이다.
어플리케이션이 사용자입력과 같은 장치 방향의 변화를 감지 할 수 있다면, 당신은 고유의 방법
으로 어플리케이션을 회전 시킬 수 있다. 예를 들면 게임에서 장치를 회전하여 게임의 일부를 움
직이게 할 수 있지만, 화면을 회전하여 장치를 회전할 수는 없다. 이러한 경우 당신이 원하는 방
향으로 시작하거나 어플리케이션으로 주요작업을 시작하기 전까지 방향을 바꿀 수 있게 만들어야
한다.
방향을 부드럽고 빠르게 회전하기 위해 한 단계의 변화를 이용하라. 그러나 만약 화면 구성이 매
우 복잡하다면 사용자가 장치의 방향을 바꿀 때 크로스 페이드 전환을 대신하여 이용해야 할지도
모른다.
가속도계의 값에 주의 한다. 이것에 관해 알아보기 위해 Core Motion Framework Reference. 를
참조하면 된다. 이것이 충족된다면, 어플리케이션은 장치 방향의 모든 변화에 반응 할 수 있다.
iPhone에서 장치방향의 변경에 응답할 때 사용자의 요구를 예측하라. 사용자들은 화면을 좀더 많
이 보고 싶어 하기 때문에 장치의 방향을 종종 가로방향으로 회전한다. 단지 컨텐츠를 확장하는
것 만으로는 사용자의 기대에 부응할 수 없다. 텍스트의 줄을 조정하고 필요하다면 스크린에 컨
텐츠가 좀 더 알맞게 하기 위하여 레이아웃을 재배치 해야 한다.
iPad에서는 모든 방향으로 장치를 실행할 수 있기를 원하는 사용자들의 기대에 충족하도록 많은
노력을 하고 있다. 대형 iPad는 좀 더 많이 보기 위해 장치를 세로방향으로 변화시키는 사람들의
욕망을 완화 시켰다. 사람들은 장치의 작은 구조나 홈 버튼의 위치에 주의를 기울이지 않기 때문
에 장치의 기본 방향을 보지 않는다. 이 경험 때문에 사람들은 현재 사용하고 있는 방향으로도
어플리케이션이 잘 동작할 것이라고 생각한다. 가능한 당신의 어플리케이션은 사람들에게 모든
방향에서 좋은 경험을 제공함으로써 모든 측면에서 iPad와 상호 작용하도록 해야 한다.
당신의 iPad 어플리케이션 회전을 처리하는 설계를 할 때 다음 지침을 따르면 된다.
 보조정보 및 기능을 표시하는 방법의 변화를 고려하라. 당신이 가장 중요한 컨텐츠에
포커스가 항상 있다는 것을 확인해야 한다. 하지만 당신은 보조 컨텐츠를 제공하는 방
법을 변경함으로써 회전에 응답 할 수 있다.
iPad의 메일을 예를 들면, 계정 및 사서함 목록은 보조 컨텐츠 이다. 가로방향에서 보조
적인 내용은 분할 된 화면의 왼쪽 창에 나타나고 세로방향에서는 그것이 팝 오버로 표
시되어있다.
또는, 가로방향으로 직사각형의 게임을 표시하는 iPad 게임을 생각하라. 세로방향의 게
임에서는 보드의 위 아래 추가적인 공간이 나올 수 있기 때문에 화면에 알맞게 수정할
필요가 있다.
 불필요한 레이아웃 변경을 피하라. 가능한 모든 방향에서 동일한 경험을 제공해야 한다.
장치를 회전했을 때 사용 패턴을 유지하기 위해 모든 방향에서 동일한 경험을 제공해야
한다. 예를 들면 만약 iPad 어플리케이션이 가로방향일 때 이미지가 격자 안에 표시되
었다면, 세로방향 일 때 같은 정보의 목록 표시할 필요는 없다.
 가능하다면 회전한 상태에서 정보의 재 설정이나 텍스트의 수정은 피하는 것이 좋다.
모든 방향에서 유사한 형식을 유지하기 위해 노력하는 것이 좋다. 특히 사람들이 텍스
트를 읽고 있을 경우 사람들이 장치를 회전했을 때 해당위치를 잃어버리지 않게 하는
것이 중요하다.
일부 수정이 불가피 할 경우 사람들이 수정사항을 사람들이 추적할 수 있도록 애니메이
션을 제공해야 한다. 당신은 다른 방향의 텍스트 열을 추가하거나 제거 할 필요가 있는
경우 당신은 열 움직임 숨기기나 간단하게 새로운 배열이 사라지는 것을 선택 할 수 있
을 지도 모른다. 적절한 회전 행동을 디자인 하기 위해 사람들은 실제 생황에서 나타나
는 행동들을 당신에 컨텐츠에 바라고 있다는 것을 생각해 봐야 한다.
 각각의 방향을 위한 고유의 시작이미지를 제공한다. 각각의 방향마다 고유의 시작 이미
지를 제공한다면, 사람들은 현재 장치의 방향에 관계없이 쉽게 어플리케이션을 실행할
수 있을 것이다. 이와 대조적으로 iPhone의 홈 화면과 iPad 홈 화면에서는 모든 방향을
지원한다. 그래서 사람들은 이전 어플리케이션을 종료한 것과 같은 방향에서 어플리케
이션을 실행할 수 있다.
19. 손가락으로 조작하기 쉬운 크기의 타겟을 만들어라.
iOS 장치의 화면 크기는 변화 할지도 모르지만, 손가락 끝의 평균 크기는 변화하지 않는다. 당신
의 어플리케이션이 실행되는 장치와 무관하게 이 가이드라인을 따르면 사람들은 당신의 어플리케
이션을 편안하게 사용할 수 있다.
어플리케이션에 44x44 크기의 누를 수 있는 요소를 제공한다. 이 iPhone 계산기는 조작하기 쉬
운 컨트롤 사이즈를 나타내는 좋은 예이다.
만약 컨트롤을 너무 작게 만들거나 요소들끼리 너무 빽빽하게 배치되어 있으면 그것을 집중해서
눌러야 하고 잘못된 요소를 누를 수도 있다. 그 결과로 어플리케이션을 사용하는 재미가 반감되
고 사용하기 힘들 수도 있다. 예를 들면 게임에서 너무 빽빽하게 작은 컨트롤들이 배치되어 있으
면 게임을 즐기기 보다 인터페이스를 보는 것에 정신을 빼앗길 수 있다.
20. 내용전달을 위해 섬세한 애니메이션을 사용하라.
애니메이션은 사용자의 작업에 도움을 주는 효과적인 방법이다. 세밀하고 적절한 애니메이션을
할 수 있다.
 상태를 전달
 유용한 피드백 제공
 직접조작 감각을 강화
 행동의 결과를 사람들에게 보여주는데 도움을 준다.
특히 몰입경험을 제공하지 않는 어플리케이션에서는 주의해서 애니메이션을 사용해야 한다. 중대
하고 생산적인 작업에 초점을 맞춘 어플리케이션에서는 과도한 애니메이션은 어플리케이션의 흐
름을 방해하거나 작업 효율을 감소로 이어질 수 있다
내장된 어플리케이션에 애니메이션을 적절하게 만들어야 한다. 사람들은 내장 iOS 어플리케이션
에서 사용하는 세밀한 애니메이션에 익숙하다. 사실 사람들은 iOS의 경험에서 부드러운 화면전환,
장치의 방향에 따른 유동적인 변화, 현실감 있는 스크롤링 등을 중요하게 생각한다. 당신이 게임
같은 몰입 경험을 가능 하게하는 어플리케이션을 작성하는 경우를 제외하고 사용자 지정 애니메
이션은 내장 애니메이션과 동일해야 한다.
당신의 어플리케이션 전체에서 일관된 애니메이션을 사용하라. 사용자 최적화된 다른 유형과 마
찬가지로 당신의 어플리케이션에서 얻은 경험이 신뢰를 얻기 위해서 일관된 애니메이션을 사용하
는 것은 중요하다.
21. 제스처를 적절하게 지원하라.
사람들은 iOS 장치와 상호 작용하기 위해 제스처를 사용하고 그들은 빠르게 특정제스처와 관련
된 행동을 배운다. 사람들은 게임을 실행할 때 예상 가능한 범위 내 에서 제스처가 반응하기를
기대한다.
사용자가 알고 있는 표준 제스처를 다른 동작과 연관 짓는 것은 피하라. 예를 들면 알림 센터에
나타나는 “위에서 아래로 swipe하라”라는 제스처의 의미를 다시 정의 하는 것은 피하는 것이 좋
다. 중요한 것은 사용자가 이미 표준제스처라고 생각하고 있는 것을 사용자 지정 제스처로 정하
는 것은 피하는 것이 좋다.
바로 가기가 아닌 작업을 수행할 때는 복잡한 제스처를 사용하라. 비록 대부분의 사람들이 swipe
나 pinch 같은 복잡한 제스처를 알고 있다고 할지라도 이 제스처가 일반적이지는 않다.
예를 들면 메일의 메시지 목록을 볼 때 메시지 미리 보기 행의 삭제 버튼을 두드리는 것으로 메
시지를 삭제할 수 있다. 사용자는 두 가지 방식으로 삭제버튼을 나타나게 할 수 있다.
 검색 바에 수정 버튼을 누르면 각 미리 보기 행에 삭제 컨트롤이 나타난다. 그리고 나서
미리 보기 행에 나타난 삭제 버튼을 누르면 된다.
이 것은 임시적인 것이기는 하지만 한번 두드리면 되고 명확히 라벨링 된 수정버튼이 있
기 때문에 쉽게 할 수 있다.
 Swipe 제스처는 메시지 삭제 버튼을 미리 보기 행에 나타나게 만든다.
이 방법은 빠르지만 사용자가 swipe제스처를 배우고 습득해야 한다.
그것이 또 다른 탭 또는 2가지 의미를 내포하는 경우에도 작업을 수행하기 위해 간단하고 정확한
방법인지 확인해 봐야 한다. 간단한 제스처는 사용자들에게 경험과 그 컨텐츠에 집중할 수 있게
한다.
일반적으로 새로운 제스처를 정의하는 것은 피한다. 새 제스처를 소개 할 경우, 사용자는 이것을
발견하고 기억하는 노력을 해야 한다. 여기서 가장 중요한 것은 사용자 지정 제스처가 어플리케
이션에서 적절하고 몰입형 경험을 할 수 있게 해야 한다는 것이다. 예를 들면 문서를 만드는 어
플리케이션일 경우 테이블 행에 삭제 버튼을 나타나게 할 때 원을 그리는 제스처를 사용하면 사
용하기 상당히 어렵게 된다.
제스처는 당신의 어플리케이션의 기능적 내용과 사용자의 기대가 의미가 일치해야 한다. 만약 당
신의 어플리케이션에서 중요한 것이 작업을 빠르게 수행하는 것이라면 표준 제스처를 사용하는
것이 좋다. 그러나 만약 특별한 사용법을 쓰거나 사용자가 직접 탐구하길 바라는 환경이라면 사
용자 지정 제스처가 적합하다.
iPad에서는 multifinger 제스처를 사용하게 하는 것을 고려해야 한다. 대 화면의 iPad는
multifinger 제스처를 위한 넓은 화면을 제공한다. 비록 복잡한 제스처가 모든 어플리케이션에
적합한 것은 아니더라도 게임 같은 창조적인 환경에서 시간을 많이 보내는 사람들에게는 풍부한
경험을 제공한다. 비 표준의 제스처가 필요 없다는 생각이 많이지만 작업을 수행하는 행동이 오
직 한가지 방법만 있어서는 안 된다.
22. 필요 시에만 사람들이 저장하도록 요청하라.
작업하고 있는 것을 명확히 취소하거나 삭제하지만 않는 다면 항상 보존 된다는 것을 사람들이
믿어야 한다. 만일 당신이 어플리케이션이 문서를 만들고 수정하는 것이라면 그것이 명확한 저장
이 없는지 확인해 봐야 한다. 그들이 다른 문서를 열거나 어플리케이션을 종료할 때, iOS 어플리
케이션은 사람들의 작업을 저장해야 하는 책임을 가져야 한다.
만약 당신의 어플리케이션의 주요기능이 컨텐츠 생성이 아니라면 그것들의 변경사항을 저장하는
것을 이용할 수 있다. 정보 표시 화면의 수정 버튼은 빈번한 작업을 원활하게 할 수 있게 해야한
다. 사람들이 편집 버튼을 누르면 그것을 저장 버튼으로 교체할 수 있고 취소 버튼을 추가 할 수
있다. 편집 버튼의 전환은 편집과 변경사항 저장을 도와주며 취소버튼은 사람들에게 저장하지 않
고 종료할 수 있도록 만들어준다.
iPad 에서는 사람들이 의미 없는 팝 오버는 무시할 수 있기 때문에, 작업을 취소 했을 경우를 제
외하고 팝 오버로 들어와서 정보를 저장한다.
23. 모달 작업은 필요할 때 하고 간단하게 하라.
가능하면, 사람들이 모달 환경에서 작업을 하거나 응답을 제공하는 횟수를 최소화 하는 것이 좋
다. iOS 어플리케이션에서는 사람들이 비선형 방식으로 상호작용 할 수 있도록 해야 한다.
Modality는 사람들의 작업흐름을 방해하고 특정 경로로의 이동을 강요 한다. Modality는 다음 사
항일 때 적합하다.
 사용자의 관심을 얻기 위해
 모호한 상황에서 사용자 데이터가 남겨지는 것을 피할 때
사람들은 내용 전환이 명확하고 일시적이기 때문에 모달 화면 자체에 포함 된 하위 작업을 수행
할 수 있는 것에 만족한다. 그러나 하위작업이 너무 복잡하다면, 사람들은 모달 화면 안으로 들어
갈 때 길을 잃을 수 있다. 이 위험은 모달 화면이 전체 화면이고 다중 하위 화면이나 상태를 포
함할 때 줄일 수 있다.
모달 작업은 간결하고 면밀하게 유지되어야 한다. 당신의 사용자가 당신의 어플리케이션을 소형
의 어플리케이션으로 모달 화면을 경험하는 것을 바라지 않을 것이다. 사람들이 길을 잃거나 단
계를 되돌아가는 것을 잃어버릴 수 있기 때문에 계층화면을 포함한 모달 작업을 만드는 것은 특
히 신중을 기해야 한다. 모달 작업이 별도의 화면에서 하위작업을 포함 해야 하는 경우, 계층 구
조를 통해 사용자에게 하나의 명확한 경로를 제공 해야 하고, 순환을 피해야 한다.
항상 모달 작업을 종료하는 명백하고 안전한 방법을 제공해야 한다. 사람들이 모달 화면을 종료
할 때 작업이 어떻게 될지 항상 예상할 수 있어야 한다.
작업이 모달 화면의 계층구조가 필요할 경우 최상위 레벨의 화면에 완료 버튼을 눌렀을 때 어떤
상황이 일어나는지 당신의 사용자가 알 수 있어야 한다. 하위 레벨 화면의 완료 버튼이 작업의
일부분의 완료인지 전체 작업의 완료인지를 결정 하기 위해 작업을 검사 해야 한다. 혼란을 줄
수 있는 불필요한 완료 버튼을 추가하는 것은 가능하면 피하는 것이 좋다.
23. 즉시 시작 할 수 있게 하라.
새로운 어플리케이션을 검토할 때 1~2분 이상 시간을 소비하지는 않는 다고 한다. 짧은 기간에
유용한 컨텐츠를 즉시 보여줄 때 새로운 사용자의 관심을 극대화하고 모든 사용자에게 최상의 사
용자 경험을 제공한다.
어플리케이션의 첫 번째 화면과 유사한 실행 이미지를 표시하라. 이 방법은 어플리케이션의 인식
시간을 감소시킨다.
창 또는 시작화면에 표시하는 것을 피하라. 일반적으로 당신의 어플리케이션을 빠르게 사용하는
것을 방해하는 경험을 사람들에게 주지 않는 것이 좋다.
iPhone에서 적절한 상태 바 유형을 지정한다. 일반적으로 당신의 어플리케이션 UI의 나머지 부분
을 조정하기 위해 상태 바가 있길 바란다.
적절한 기본 방향에서 시작한다. iPhone에서 세로방향이 기본방향이며, iPad에서는 현재 장치의
방향이 기본 방향이다. 당신의 어플리케이션을 가로방향으로만 실행하고 싶다면 현재장치 방향과
관계없이 시작하고 필요에 따라 사용자가 장치를 가로방향으로 돌리면 된다.
가로 전용 어플리케이션은 오른쪽 왼쪽 둘 다에 가로 방향 홈 버튼을 지원 해야 한다. 장치가 이
미 가로 방향이고 특별한 이유가 없다면 그 방향에서 시작해야 한다. 아니면 가로 전용 어플리케
이션은 홈 버튼이 오른쪽에 있는 방향으로 시작해야 한다.
설치 정보를 공급하기 위해 사람들에게 요청하는 것을 피하라. 대신에 다음 가이드를 따르면 된
다.
 당신의 사용자 80%의 요구사항은 당신의 해결책에 초점이 맞춰져 있다. 당신의 어플리
케이션이 이미 그들이 기대하는 방식으로 동작하도록 설정되어 있기 때문에 이 작업을
수행 할 때, 사용자 설정을 제공 할 필요가 없다. 소수의 사람들이 원하 거나 대부분의
사람들은 한 번은 사용하는 기능이 있으면 그대로 둔다.
 다른 소스에서 가능한 많은 정보를 얻을 수 있게 하라. 만약 당신이 내장된 어플리케이
션 또는 장치 설정의 어떤 정보든 이용할 수 있다면 이 수치에 대한 쿼리 시스템은 사람
들이 요청하기 위해 다시 들어 오지 않아도 된다.
 만약 설치정보를 요청해야 한다면 당신의 어플리케이션 내에 들어가도록 유도한다. 그리
고 나서 가능한 정보를 저장한다. 사람들이 당신의 어플리케이션을 종료하거나 당신의
어플리케이션을 즐기는 것을 강요해서는 안 된다. 만약 사람들이 이 정보를 나중에 변경
할 필요가 있을 경우 사람들은 언제든지 당신의 어플리케이션 설정을 바꿀 수있다.
로그인은 가능한 미뤄라. 일반적으로 사용자가 당신의 어플리케이션의 대부분을 살펴볼 수 있어
야 한다. 그리고 일부 기능은 로그인 없이도 사용할 수 있어야 한다. 사람들이 당신의 어플리케이
션을 사용 하기 전에 로그인을 요구할 경우 자칫 부팅 프로세스가 길어 보일 수 있다.
당신의 어플리케이션을 사용자가 재 시작하면 원래 하던 작업을 계속 할 수 있도록 복원되어야
한다. 사람들이 어플리케이션에서 이전 위치에 도달하기 위한 절차를 기억해야 할 필요가 없다.
이것의 보다 자세한 내용은 “State Preservation and Restoration”을 참조하면 된다.
중요: 당신의 어플리케이션을 설치한 후에 사용자에게 재 시작 또는 재 부팅 하라고 하지 않는
것이 좋다. 그 이유는 재 시작 하는데 시간이 소모 되고, 어플리케이션을 사용하는 것이 어려워
보이는 수가 있다. 만약, 당신의 어플리케이션이 메모리 사용이나 시스템이 부팅되지 않아 어려
운 상황이라면 이 사항을 알려야 한다. 적절하게 튜닝 된 응용 프로그램을 개발하는 몇 가지
지침은iOS App Programming Guide 을 참조하면 된다.
24. 언제나 정지 할 수 있어야 한다.
폰 에서 다른 어플리케이션을 열거나 장치의 기능을 사용하기 위해 홈 버튼을 누르면 iOS 어플
리케이션은 정지한다. 특히 사람들은 어플리케이션의 닫기 버튼이나 메뉴의 나가기를 누르지 않
는다.
바람직한 정지 경험을 제공하기 위해 iOS 어플리케이션은 다음 사항을 따라야 한다.
 나가기 또는 종료 알림이 언제든 나타날 수 있기 때문에 가능한 빨리 사용자 데이터를
저장해야 한다.
 사용자가 어플리케이션을 다시 시작할 때 그들이 내용을 잃어버리지 않도록 가능한 최상
위 레벨에서 현재 상태를 저장해야 한다. 예를 들면 어플리케이션에서 데이터를 스크롤
할 때 현재 위치에서 저장 되어야 한다는 것이다. 더 자세한 내용은 “State Preservation
and Restoration” 을 참조하면 된다.
25. 계획에 따라서 종료하지 말라.
사람들이 충돌하는 것으로 생각하기 때문에 iOS 어플리케이션은 계획에 따라서 종료해서는 안
된다. 외부 상황으로 인해 당신의 어플리케이션의 기능이 방해 받는 다면, 그 상황에 관해 사용자
에게 말해주고 어떻게 해야 하는지 설명해 줘야 한다. 프로그램 오작동의 심각성에 따라 당신은
두 가지 선택을 할 수 있다.
문제의 상황을 설명하고 수정하는 적절한 화면을 표시하라. 어플리케이션에 아무 문제가 없다는
것을 사용자가 안심하게 화면에 피드백을 제공한다. 동작을 수정하고 어플리케이션을 계속 사용
하던지 홈 버튼을 누르고 다른 어플리케이션을 열던지 사용자가 결정할 수 있게 해야 한다.
어플리케이션의 기능 중 일부를 사용할 수 없을 때만 화면 또는 사용자가 기능을 사용하고 있을
때 화면에 표시해 줘야 한다. 사람들이 작동하지 않는 기능에 접속하려고 하면 경고 창을 표시해
줘야 한다.

Mais conteúdo relacionado

Destaque

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 #5_SYS4U
iOS Human Interface Guidlines #5_SYS4UiOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4Usys4u
 
iOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4UiOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4Usys4u
 
iOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4UiOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4Usys4u
 
iOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4UiOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4Usys4u
 
iOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4UiOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4Usys4u
 
iOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_SYS4UiOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_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
 
JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4usys4u
 
iOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4UiOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4Usys4u
 
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
 
Aspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&CAspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&Csys4u
 
Implementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4UImplementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_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
 
Java reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&CJava reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&Csys4u
 
About Color_SYS4U
About Color_SYS4UAbout Color_SYS4U
About Color_SYS4Usys4u
 

Destaque (17)

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 #5_SYS4U
iOS Human Interface Guidlines #5_SYS4UiOS Human Interface Guidlines #5_SYS4U
iOS Human Interface Guidlines #5_SYS4U
 
iOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4UiOS Human Interface Guidlines #12_SYS4U
iOS Human Interface Guidlines #12_SYS4U
 
iOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4UiOS Human Interface Guidlines #11_SYS4U
iOS Human Interface Guidlines #11_SYS4U
 
iOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4UiOS Human Interface Guidlines #10_SYS4U
iOS Human Interface Guidlines #10_SYS4U
 
iOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4UiOS Human Interface Guidlines #8_SYS4U
iOS Human Interface Guidlines #8_SYS4U
 
iOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_SYS4UiOS_Human_Interface_Guidlines_#4_SYS4U
iOS_Human_Interface_Guidlines_#4_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
 
JavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4uJavaEE6 Tutorial - Java Message Service_sys4u
JavaEE6 Tutorial - Java Message Service_sys4u
 
iOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4UiOS Human Interface Guidlines #14_SYS4U
iOS Human Interface Guidlines #14_SYS4U
 
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
 
Aspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&CAspect Oriented Programming_SYS4U I&C
Aspect Oriented Programming_SYS4U I&C
 
Implementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_SYS4UImplementing_AOP_in_Spring_SYS4U
Implementing_AOP_in_Spring_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
 
Java reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&CJava reflection & introspection_SYS4U I&C
Java reflection & introspection_SYS4U I&C
 
About Color_SYS4U
About Color_SYS4UAbout Color_SYS4U
About Color_SYS4U
 

Mais 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
 

Mais 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 #6_SYS4U

  • 1. iOS Human Interface Guidelines 번역자 : 시스포유아이앤씨 마영희 주임 작성일 : 2013년 4월 26일 V. 사용자 경험 가이드라인 16.물리적 특성과 현실성을 생각하라. 적당한 때에 현실적 물리적 수치를 당신의 어플리케이션에 추가한다. 때때로 어플리케이션에 외 관과 동작보다 그것을 통해 사람들이 얼마나 쉽게 작업을 하고 즐기는지가 더 중요하다. 예를 들 면 iPad에 연락처는 사람들이 즉시 실제 주소가 쓰여진 책으로 인지 할 수 있다.
  • 2. iPhone에서 음성녹음기는 멋진 마이크이미지와 현실감 있는 컨트롤이 나타나 있어 사람들이 즉시 사용할 수 있다. 어플리케이션의 본질을 나타내고 사용자와의 커뮤니케이션 기회를 제공하도록 화면을 설계하고 개체들을 생각해야 한다. 정확성을 엄격히 생각할 필요는 없다. 때때로 충실한 묘사 보다 강조된 화면들이 의미를 좀더 현실감 있게 전달할 수 있다. 어플리케이션의 현실감을 좀더 강조 하기 위해 애니메이션을 사용하라. 일반적으로 외관보다 동 작의 정확성이 더 중요하다. 사람들은 외형적인 것들을 수용하지만 물리법칙을 무시하는 움직임 에서는 혼란이 야기 될 수 있다. 가능한 물리적인 개체와 컨트롤과 유사한 실제적인 화면과 컨트 롤을 사용해야 한다. 설득력 있는 애니메이션은 사람들이 만지고 싶어서 시간을 소비할 만큼 강 한 인상을 준다. 17. 멋진 그래픽으로 사람들을 기쁘게 하라. 멋진 그래픽은 사람들을 어플리케이션으로 끌어당기고 작업을 간단하게 한다. 멋진 화면은 사람 들의 눈을 통해 어플리케이션의 브랜드를 인식시키는 도움을 준다. iOS 장치는 당신의 어플리케 이션 예술품을 보여주는 전시장이기 때문에 사람들이 감탄할만한 초기 그래픽 작업을 위해 프로 미술가를 고용하는 것을 고려해 봐야 한다.
  • 3. 고품질의 재료의 모습을 복사하는 것을 고려해 보라. 당신의 어플리케이션에 나무, 가죽, 금속, 효 과를 줄 경우 현실감 있게 보여지는데 시간이 걸린다. 노트에서는 고급 가죽과 세심한 스티치 모 양을 재현했다. 고해상도의 artwork를 만든다. 대부분의 경우 당신의 artwork를 확장하는 것은 장기적인 해결책 이 아니다. 대신에 당신이 필요한 것 보다 더 크게 artwork를 만든다. 그래서 축소하기 전에 세부 사항을 추가 할 수 있다. 최초의 artwork 파일 크기는 필요로 하는 크기의 배수로 하는것이 적합 하다. 이미지 편집 어플리케이션에서 적절한 격자크기를 사용하는 경우 축소된 파일의 선명함을 유지하고 리터칭 과정을 줄일 수 있다. 멋지고 기억에 남을만한 어플리케이션 아이콘을 디자인 하라. 보통 아이콘의 품질을 보고 어플리 케이션을 다운로드 한다. 이와 관련된 내용은 “App Icons”을 참조하면 된다. 화면의 크기를 확인하고 하드 코드 된 값을 삭제한다. 당신이 다른 iOS창치나 다른 디스플레이를 동작할 때 특히 중요하다.
  • 4. 18. 방향 변경 다루기. 사람들은 iOS장치가 모든 방향에서 사용할 수 있기를 바란다. 당신의 어플리케이션 내용과 그것 이 가능한 작업 내에서 이 기대를 충족시킬 수 있는 결정이 필요 하다. 모든 방향에서 기본 컨텐츠의 초점을 유지한다. 이것이 최우선의 과제이다. 사람들은 당신의 어플 리케이션을 보거나 그것을 도와줄 컨텐츠와 상호작용 하기 위해서 사용한다. 다른 방향으로 컨텐 츠의 초점을 변경하면 사람들은 어플리케이션에서 컨트롤을 잃어 버릴 수 있다고 느낀다. 어플리케이션이 모든 방향으로 실행되는 것을 해제 할 때 두 번 생각하라. 사람들이 당신의 어플 리케이션이 기대하는 방향으로 실행 될 때 사람들이 가장 만족할 것이다. iPad 사용자들은 특히 현재 장치가 고정되어 있는 방향에서 사용할 수 있기를 바란다. 그러나 특정한 경우에 어플리케 이션은 오직 세로방향이나 가로방향으로만 실행 되야 하는 경우가 있다.  어플리케이션은 현재 장치의 방향에 상관없이 지원되는 방향으로 시작되어야 한다. 예를 들면 게임이나 미디어를 보는 어플리케이션일 경우 오직 가로 방향으로만 실행된다, 그 래서 가로방향으로 시작되는 것이 적합하다. 심지어 장치의 현재 방향이 세로 방향 일 때도 마찬가지다. 사람들은 어플리케이션을 세로방향으로 시작했다고 할지라도 장치를 돌리면 가로방향으로 볼 수 있다는 것을 알고 있다.  사람들에게 장치를 회전하라고 말하는 UI요소 표시를 피해야 한다. 지원되는 방향으로 시작하면 UI를 불필요 하게 추가하지 않고, 사람들의 필요에 따라 장치를 회전 시키도록 지시한다.  다른 두 가지 방향을 지원해야 한다. 예를 들면 만약 당신의 어플리케이션이 가로방향으 로만 실행된다면 장치의 홈 버튼을 오른쪽이나 왼쪽에 고정하여 사용해야 한다. 당신의 어플리케이션을 사용하면서 사람들이 장치를 180도 회전시킬 경우 컨텐츠가 180도 회전 시키는 것으로 대응 할 수 있다면, 그것이 가장 적합한 방법이다. 어플리케이션이 사용자입력과 같은 장치 방향의 변화를 감지 할 수 있다면, 당신은 고유의 방법 으로 어플리케이션을 회전 시킬 수 있다. 예를 들면 게임에서 장치를 회전하여 게임의 일부를 움 직이게 할 수 있지만, 화면을 회전하여 장치를 회전할 수는 없다. 이러한 경우 당신이 원하는 방 향으로 시작하거나 어플리케이션으로 주요작업을 시작하기 전까지 방향을 바꿀 수 있게 만들어야 한다. 방향을 부드럽고 빠르게 회전하기 위해 한 단계의 변화를 이용하라. 그러나 만약 화면 구성이 매 우 복잡하다면 사용자가 장치의 방향을 바꿀 때 크로스 페이드 전환을 대신하여 이용해야 할지도 모른다.
  • 5. 가속도계의 값에 주의 한다. 이것에 관해 알아보기 위해 Core Motion Framework Reference. 를 참조하면 된다. 이것이 충족된다면, 어플리케이션은 장치 방향의 모든 변화에 반응 할 수 있다. iPhone에서 장치방향의 변경에 응답할 때 사용자의 요구를 예측하라. 사용자들은 화면을 좀더 많 이 보고 싶어 하기 때문에 장치의 방향을 종종 가로방향으로 회전한다. 단지 컨텐츠를 확장하는 것 만으로는 사용자의 기대에 부응할 수 없다. 텍스트의 줄을 조정하고 필요하다면 스크린에 컨 텐츠가 좀 더 알맞게 하기 위하여 레이아웃을 재배치 해야 한다. iPad에서는 모든 방향으로 장치를 실행할 수 있기를 원하는 사용자들의 기대에 충족하도록 많은 노력을 하고 있다. 대형 iPad는 좀 더 많이 보기 위해 장치를 세로방향으로 변화시키는 사람들의 욕망을 완화 시켰다. 사람들은 장치의 작은 구조나 홈 버튼의 위치에 주의를 기울이지 않기 때문 에 장치의 기본 방향을 보지 않는다. 이 경험 때문에 사람들은 현재 사용하고 있는 방향으로도 어플리케이션이 잘 동작할 것이라고 생각한다. 가능한 당신의 어플리케이션은 사람들에게 모든 방향에서 좋은 경험을 제공함으로써 모든 측면에서 iPad와 상호 작용하도록 해야 한다. 당신의 iPad 어플리케이션 회전을 처리하는 설계를 할 때 다음 지침을 따르면 된다.  보조정보 및 기능을 표시하는 방법의 변화를 고려하라. 당신이 가장 중요한 컨텐츠에 포커스가 항상 있다는 것을 확인해야 한다. 하지만 당신은 보조 컨텐츠를 제공하는 방 법을 변경함으로써 회전에 응답 할 수 있다. iPad의 메일을 예를 들면, 계정 및 사서함 목록은 보조 컨텐츠 이다. 가로방향에서 보조 적인 내용은 분할 된 화면의 왼쪽 창에 나타나고 세로방향에서는 그것이 팝 오버로 표 시되어있다. 또는, 가로방향으로 직사각형의 게임을 표시하는 iPad 게임을 생각하라. 세로방향의 게 임에서는 보드의 위 아래 추가적인 공간이 나올 수 있기 때문에 화면에 알맞게 수정할 필요가 있다.  불필요한 레이아웃 변경을 피하라. 가능한 모든 방향에서 동일한 경험을 제공해야 한다. 장치를 회전했을 때 사용 패턴을 유지하기 위해 모든 방향에서 동일한 경험을 제공해야 한다. 예를 들면 만약 iPad 어플리케이션이 가로방향일 때 이미지가 격자 안에 표시되 었다면, 세로방향 일 때 같은 정보의 목록 표시할 필요는 없다.  가능하다면 회전한 상태에서 정보의 재 설정이나 텍스트의 수정은 피하는 것이 좋다. 모든 방향에서 유사한 형식을 유지하기 위해 노력하는 것이 좋다. 특히 사람들이 텍스 트를 읽고 있을 경우 사람들이 장치를 회전했을 때 해당위치를 잃어버리지 않게 하는 것이 중요하다.
  • 6. 일부 수정이 불가피 할 경우 사람들이 수정사항을 사람들이 추적할 수 있도록 애니메이 션을 제공해야 한다. 당신은 다른 방향의 텍스트 열을 추가하거나 제거 할 필요가 있는 경우 당신은 열 움직임 숨기기나 간단하게 새로운 배열이 사라지는 것을 선택 할 수 있 을 지도 모른다. 적절한 회전 행동을 디자인 하기 위해 사람들은 실제 생황에서 나타나 는 행동들을 당신에 컨텐츠에 바라고 있다는 것을 생각해 봐야 한다.  각각의 방향을 위한 고유의 시작이미지를 제공한다. 각각의 방향마다 고유의 시작 이미 지를 제공한다면, 사람들은 현재 장치의 방향에 관계없이 쉽게 어플리케이션을 실행할 수 있을 것이다. 이와 대조적으로 iPhone의 홈 화면과 iPad 홈 화면에서는 모든 방향을 지원한다. 그래서 사람들은 이전 어플리케이션을 종료한 것과 같은 방향에서 어플리케 이션을 실행할 수 있다. 19. 손가락으로 조작하기 쉬운 크기의 타겟을 만들어라. iOS 장치의 화면 크기는 변화 할지도 모르지만, 손가락 끝의 평균 크기는 변화하지 않는다. 당신 의 어플리케이션이 실행되는 장치와 무관하게 이 가이드라인을 따르면 사람들은 당신의 어플리케 이션을 편안하게 사용할 수 있다. 어플리케이션에 44x44 크기의 누를 수 있는 요소를 제공한다. 이 iPhone 계산기는 조작하기 쉬 운 컨트롤 사이즈를 나타내는 좋은 예이다.
  • 7. 만약 컨트롤을 너무 작게 만들거나 요소들끼리 너무 빽빽하게 배치되어 있으면 그것을 집중해서 눌러야 하고 잘못된 요소를 누를 수도 있다. 그 결과로 어플리케이션을 사용하는 재미가 반감되 고 사용하기 힘들 수도 있다. 예를 들면 게임에서 너무 빽빽하게 작은 컨트롤들이 배치되어 있으 면 게임을 즐기기 보다 인터페이스를 보는 것에 정신을 빼앗길 수 있다. 20. 내용전달을 위해 섬세한 애니메이션을 사용하라. 애니메이션은 사용자의 작업에 도움을 주는 효과적인 방법이다. 세밀하고 적절한 애니메이션을 할 수 있다.  상태를 전달  유용한 피드백 제공  직접조작 감각을 강화  행동의 결과를 사람들에게 보여주는데 도움을 준다. 특히 몰입경험을 제공하지 않는 어플리케이션에서는 주의해서 애니메이션을 사용해야 한다. 중대 하고 생산적인 작업에 초점을 맞춘 어플리케이션에서는 과도한 애니메이션은 어플리케이션의 흐 름을 방해하거나 작업 효율을 감소로 이어질 수 있다 내장된 어플리케이션에 애니메이션을 적절하게 만들어야 한다. 사람들은 내장 iOS 어플리케이션 에서 사용하는 세밀한 애니메이션에 익숙하다. 사실 사람들은 iOS의 경험에서 부드러운 화면전환, 장치의 방향에 따른 유동적인 변화, 현실감 있는 스크롤링 등을 중요하게 생각한다. 당신이 게임 같은 몰입 경험을 가능 하게하는 어플리케이션을 작성하는 경우를 제외하고 사용자 지정 애니메 이션은 내장 애니메이션과 동일해야 한다. 당신의 어플리케이션 전체에서 일관된 애니메이션을 사용하라. 사용자 최적화된 다른 유형과 마 찬가지로 당신의 어플리케이션에서 얻은 경험이 신뢰를 얻기 위해서 일관된 애니메이션을 사용하 는 것은 중요하다. 21. 제스처를 적절하게 지원하라. 사람들은 iOS 장치와 상호 작용하기 위해 제스처를 사용하고 그들은 빠르게 특정제스처와 관련 된 행동을 배운다. 사람들은 게임을 실행할 때 예상 가능한 범위 내 에서 제스처가 반응하기를 기대한다.
  • 8. 사용자가 알고 있는 표준 제스처를 다른 동작과 연관 짓는 것은 피하라. 예를 들면 알림 센터에 나타나는 “위에서 아래로 swipe하라”라는 제스처의 의미를 다시 정의 하는 것은 피하는 것이 좋 다. 중요한 것은 사용자가 이미 표준제스처라고 생각하고 있는 것을 사용자 지정 제스처로 정하 는 것은 피하는 것이 좋다. 바로 가기가 아닌 작업을 수행할 때는 복잡한 제스처를 사용하라. 비록 대부분의 사람들이 swipe 나 pinch 같은 복잡한 제스처를 알고 있다고 할지라도 이 제스처가 일반적이지는 않다. 예를 들면 메일의 메시지 목록을 볼 때 메시지 미리 보기 행의 삭제 버튼을 두드리는 것으로 메 시지를 삭제할 수 있다. 사용자는 두 가지 방식으로 삭제버튼을 나타나게 할 수 있다.  검색 바에 수정 버튼을 누르면 각 미리 보기 행에 삭제 컨트롤이 나타난다. 그리고 나서 미리 보기 행에 나타난 삭제 버튼을 누르면 된다. 이 것은 임시적인 것이기는 하지만 한번 두드리면 되고 명확히 라벨링 된 수정버튼이 있 기 때문에 쉽게 할 수 있다.  Swipe 제스처는 메시지 삭제 버튼을 미리 보기 행에 나타나게 만든다. 이 방법은 빠르지만 사용자가 swipe제스처를 배우고 습득해야 한다. 그것이 또 다른 탭 또는 2가지 의미를 내포하는 경우에도 작업을 수행하기 위해 간단하고 정확한 방법인지 확인해 봐야 한다. 간단한 제스처는 사용자들에게 경험과 그 컨텐츠에 집중할 수 있게 한다. 일반적으로 새로운 제스처를 정의하는 것은 피한다. 새 제스처를 소개 할 경우, 사용자는 이것을 발견하고 기억하는 노력을 해야 한다. 여기서 가장 중요한 것은 사용자 지정 제스처가 어플리케 이션에서 적절하고 몰입형 경험을 할 수 있게 해야 한다는 것이다. 예를 들면 문서를 만드는 어 플리케이션일 경우 테이블 행에 삭제 버튼을 나타나게 할 때 원을 그리는 제스처를 사용하면 사 용하기 상당히 어렵게 된다. 제스처는 당신의 어플리케이션의 기능적 내용과 사용자의 기대가 의미가 일치해야 한다. 만약 당 신의 어플리케이션에서 중요한 것이 작업을 빠르게 수행하는 것이라면 표준 제스처를 사용하는 것이 좋다. 그러나 만약 특별한 사용법을 쓰거나 사용자가 직접 탐구하길 바라는 환경이라면 사 용자 지정 제스처가 적합하다. iPad에서는 multifinger 제스처를 사용하게 하는 것을 고려해야 한다. 대 화면의 iPad는 multifinger 제스처를 위한 넓은 화면을 제공한다. 비록 복잡한 제스처가 모든 어플리케이션에 적합한 것은 아니더라도 게임 같은 창조적인 환경에서 시간을 많이 보내는 사람들에게는 풍부한
  • 9. 경험을 제공한다. 비 표준의 제스처가 필요 없다는 생각이 많이지만 작업을 수행하는 행동이 오 직 한가지 방법만 있어서는 안 된다. 22. 필요 시에만 사람들이 저장하도록 요청하라. 작업하고 있는 것을 명확히 취소하거나 삭제하지만 않는 다면 항상 보존 된다는 것을 사람들이 믿어야 한다. 만일 당신이 어플리케이션이 문서를 만들고 수정하는 것이라면 그것이 명확한 저장 이 없는지 확인해 봐야 한다. 그들이 다른 문서를 열거나 어플리케이션을 종료할 때, iOS 어플리 케이션은 사람들의 작업을 저장해야 하는 책임을 가져야 한다. 만약 당신의 어플리케이션의 주요기능이 컨텐츠 생성이 아니라면 그것들의 변경사항을 저장하는 것을 이용할 수 있다. 정보 표시 화면의 수정 버튼은 빈번한 작업을 원활하게 할 수 있게 해야한 다. 사람들이 편집 버튼을 누르면 그것을 저장 버튼으로 교체할 수 있고 취소 버튼을 추가 할 수 있다. 편집 버튼의 전환은 편집과 변경사항 저장을 도와주며 취소버튼은 사람들에게 저장하지 않 고 종료할 수 있도록 만들어준다. iPad 에서는 사람들이 의미 없는 팝 오버는 무시할 수 있기 때문에, 작업을 취소 했을 경우를 제 외하고 팝 오버로 들어와서 정보를 저장한다. 23. 모달 작업은 필요할 때 하고 간단하게 하라. 가능하면, 사람들이 모달 환경에서 작업을 하거나 응답을 제공하는 횟수를 최소화 하는 것이 좋 다. iOS 어플리케이션에서는 사람들이 비선형 방식으로 상호작용 할 수 있도록 해야 한다. Modality는 사람들의 작업흐름을 방해하고 특정 경로로의 이동을 강요 한다. Modality는 다음 사 항일 때 적합하다.  사용자의 관심을 얻기 위해  모호한 상황에서 사용자 데이터가 남겨지는 것을 피할 때 사람들은 내용 전환이 명확하고 일시적이기 때문에 모달 화면 자체에 포함 된 하위 작업을 수행 할 수 있는 것에 만족한다. 그러나 하위작업이 너무 복잡하다면, 사람들은 모달 화면 안으로 들어 갈 때 길을 잃을 수 있다. 이 위험은 모달 화면이 전체 화면이고 다중 하위 화면이나 상태를 포 함할 때 줄일 수 있다. 모달 작업은 간결하고 면밀하게 유지되어야 한다. 당신의 사용자가 당신의 어플리케이션을 소형 의 어플리케이션으로 모달 화면을 경험하는 것을 바라지 않을 것이다. 사람들이 길을 잃거나 단
  • 10. 계를 되돌아가는 것을 잃어버릴 수 있기 때문에 계층화면을 포함한 모달 작업을 만드는 것은 특 히 신중을 기해야 한다. 모달 작업이 별도의 화면에서 하위작업을 포함 해야 하는 경우, 계층 구 조를 통해 사용자에게 하나의 명확한 경로를 제공 해야 하고, 순환을 피해야 한다. 항상 모달 작업을 종료하는 명백하고 안전한 방법을 제공해야 한다. 사람들이 모달 화면을 종료 할 때 작업이 어떻게 될지 항상 예상할 수 있어야 한다. 작업이 모달 화면의 계층구조가 필요할 경우 최상위 레벨의 화면에 완료 버튼을 눌렀을 때 어떤 상황이 일어나는지 당신의 사용자가 알 수 있어야 한다. 하위 레벨 화면의 완료 버튼이 작업의 일부분의 완료인지 전체 작업의 완료인지를 결정 하기 위해 작업을 검사 해야 한다. 혼란을 줄 수 있는 불필요한 완료 버튼을 추가하는 것은 가능하면 피하는 것이 좋다. 23. 즉시 시작 할 수 있게 하라. 새로운 어플리케이션을 검토할 때 1~2분 이상 시간을 소비하지는 않는 다고 한다. 짧은 기간에 유용한 컨텐츠를 즉시 보여줄 때 새로운 사용자의 관심을 극대화하고 모든 사용자에게 최상의 사 용자 경험을 제공한다. 어플리케이션의 첫 번째 화면과 유사한 실행 이미지를 표시하라. 이 방법은 어플리케이션의 인식 시간을 감소시킨다. 창 또는 시작화면에 표시하는 것을 피하라. 일반적으로 당신의 어플리케이션을 빠르게 사용하는 것을 방해하는 경험을 사람들에게 주지 않는 것이 좋다. iPhone에서 적절한 상태 바 유형을 지정한다. 일반적으로 당신의 어플리케이션 UI의 나머지 부분 을 조정하기 위해 상태 바가 있길 바란다. 적절한 기본 방향에서 시작한다. iPhone에서 세로방향이 기본방향이며, iPad에서는 현재 장치의 방향이 기본 방향이다. 당신의 어플리케이션을 가로방향으로만 실행하고 싶다면 현재장치 방향과 관계없이 시작하고 필요에 따라 사용자가 장치를 가로방향으로 돌리면 된다. 가로 전용 어플리케이션은 오른쪽 왼쪽 둘 다에 가로 방향 홈 버튼을 지원 해야 한다. 장치가 이 미 가로 방향이고 특별한 이유가 없다면 그 방향에서 시작해야 한다. 아니면 가로 전용 어플리케 이션은 홈 버튼이 오른쪽에 있는 방향으로 시작해야 한다. 설치 정보를 공급하기 위해 사람들에게 요청하는 것을 피하라. 대신에 다음 가이드를 따르면 된 다.  당신의 사용자 80%의 요구사항은 당신의 해결책에 초점이 맞춰져 있다. 당신의 어플리
  • 11. 케이션이 이미 그들이 기대하는 방식으로 동작하도록 설정되어 있기 때문에 이 작업을 수행 할 때, 사용자 설정을 제공 할 필요가 없다. 소수의 사람들이 원하 거나 대부분의 사람들은 한 번은 사용하는 기능이 있으면 그대로 둔다.  다른 소스에서 가능한 많은 정보를 얻을 수 있게 하라. 만약 당신이 내장된 어플리케이 션 또는 장치 설정의 어떤 정보든 이용할 수 있다면 이 수치에 대한 쿼리 시스템은 사람 들이 요청하기 위해 다시 들어 오지 않아도 된다.  만약 설치정보를 요청해야 한다면 당신의 어플리케이션 내에 들어가도록 유도한다. 그리 고 나서 가능한 정보를 저장한다. 사람들이 당신의 어플리케이션을 종료하거나 당신의 어플리케이션을 즐기는 것을 강요해서는 안 된다. 만약 사람들이 이 정보를 나중에 변경 할 필요가 있을 경우 사람들은 언제든지 당신의 어플리케이션 설정을 바꿀 수있다. 로그인은 가능한 미뤄라. 일반적으로 사용자가 당신의 어플리케이션의 대부분을 살펴볼 수 있어 야 한다. 그리고 일부 기능은 로그인 없이도 사용할 수 있어야 한다. 사람들이 당신의 어플리케이 션을 사용 하기 전에 로그인을 요구할 경우 자칫 부팅 프로세스가 길어 보일 수 있다. 당신의 어플리케이션을 사용자가 재 시작하면 원래 하던 작업을 계속 할 수 있도록 복원되어야 한다. 사람들이 어플리케이션에서 이전 위치에 도달하기 위한 절차를 기억해야 할 필요가 없다. 이것의 보다 자세한 내용은 “State Preservation and Restoration”을 참조하면 된다. 중요: 당신의 어플리케이션을 설치한 후에 사용자에게 재 시작 또는 재 부팅 하라고 하지 않는 것이 좋다. 그 이유는 재 시작 하는데 시간이 소모 되고, 어플리케이션을 사용하는 것이 어려워 보이는 수가 있다. 만약, 당신의 어플리케이션이 메모리 사용이나 시스템이 부팅되지 않아 어려 운 상황이라면 이 사항을 알려야 한다. 적절하게 튜닝 된 응용 프로그램을 개발하는 몇 가지 지침은iOS App Programming Guide 을 참조하면 된다. 24. 언제나 정지 할 수 있어야 한다. 폰 에서 다른 어플리케이션을 열거나 장치의 기능을 사용하기 위해 홈 버튼을 누르면 iOS 어플 리케이션은 정지한다. 특히 사람들은 어플리케이션의 닫기 버튼이나 메뉴의 나가기를 누르지 않 는다. 바람직한 정지 경험을 제공하기 위해 iOS 어플리케이션은 다음 사항을 따라야 한다.  나가기 또는 종료 알림이 언제든 나타날 수 있기 때문에 가능한 빨리 사용자 데이터를
  • 12. 저장해야 한다.  사용자가 어플리케이션을 다시 시작할 때 그들이 내용을 잃어버리지 않도록 가능한 최상 위 레벨에서 현재 상태를 저장해야 한다. 예를 들면 어플리케이션에서 데이터를 스크롤 할 때 현재 위치에서 저장 되어야 한다는 것이다. 더 자세한 내용은 “State Preservation and Restoration” 을 참조하면 된다. 25. 계획에 따라서 종료하지 말라. 사람들이 충돌하는 것으로 생각하기 때문에 iOS 어플리케이션은 계획에 따라서 종료해서는 안 된다. 외부 상황으로 인해 당신의 어플리케이션의 기능이 방해 받는 다면, 그 상황에 관해 사용자 에게 말해주고 어떻게 해야 하는지 설명해 줘야 한다. 프로그램 오작동의 심각성에 따라 당신은 두 가지 선택을 할 수 있다. 문제의 상황을 설명하고 수정하는 적절한 화면을 표시하라. 어플리케이션에 아무 문제가 없다는 것을 사용자가 안심하게 화면에 피드백을 제공한다. 동작을 수정하고 어플리케이션을 계속 사용 하던지 홈 버튼을 누르고 다른 어플리케이션을 열던지 사용자가 결정할 수 있게 해야 한다. 어플리케이션의 기능 중 일부를 사용할 수 없을 때만 화면 또는 사용자가 기능을 사용하고 있을 때 화면에 표시해 줘야 한다. 사람들이 작동하지 않는 기능에 접속하려고 하면 경고 창을 표시해 줘야 한다.