본문 바로가기

HIG(Human Interface Guidelines)

[iOS-HIG] Audio Audio 아이폰과 아이패드는 내부 또는 외부 스피커, 헤드폰, 블루투스 또는 AirPlay 지원 장치를 통해 무선으로 오디오를 재생할 수 있다. 사용자는 볼륨 버튼, Rind/Silent switch, 헤드폰 컨트롤, 제어 센터 볼륨 슬라이더 등 여러가지 유형의 컨트롤을 사용하여 장치의 소리를 조작한다. 앱의 소리가 어떻게 동작해야 하는지 파악하여 사람들의 기대를 충족시켜줘야 한다. Silence 사용자는 벨소리와 같은 예상치 못한 소리에 의해 방해를 받고 싶지 않을 때 Silence mode로 전환한다. 무음 모드에서는 키보드 클릭, 효과음, 게임 사운드 등 필수적이지 않은 소리와 더불어 미디어 재생, 알람 및 오디오/비디오 메시징과 같이 소리는 나면 안된다. 오직 사용자가 명백히 실행한 소리만 나야.. 더보기
[iOS-HIG] 3D Touch 3D Touch Long press와 비슷한 기능 3D Touch가 지원되는 장치에서는 터치스크린에 다양한 수준의 압력을 가함으로써 추가 기능에 액세스할 수 있다. 앱은 상황에 맞는 메뉴(*[아래 사진]Context Menu)를 표시하여 항목과 항목에 영향을 미치는 데 사용할 수 있는 작업을 표시할 수 있다. iOS 13 이상을 실행하는 기기에서 사람들은 장치가 3D Touch를 지원하는지에 관계없이 터치 앤 홀드 제스처를 사용하여 상황에 맞는 메뉴를 열 수 있다. 3D Touch장치에서는 제스처를 통해 상황에 맞는 메뉴를 더 빠르게 표시할 수 있다. Home Screen Interaction iOS13이상을 실행하는 기기의 홈스크린에서 앱 아이콘을 길게 누르면 상황에 맞는 메뉴가 표시된다. (3D To.. 더보기
[iOS-HIG] Setting Setting 일부 앱은 설치 또는 설정을 선택할 수 있는 방법을 제공해야 한다. 성공한 앱은 대부분의 사람들에게 앱안에서 바로 설정을 할 수 있도록 제공한다. 또한 경험을 조정할 수 있는 몇가지 방법을 제공한다. 사용자의 needs를 파악해서 기본적으로 setting을 잡고 안되는 것들만 따로 설정창을 사용 한다. Infer what you can from the system. 시스템에서 무엇을 할 수 있는지 추론하라. 사용자, 디바이스 또는 환경에 대한 정보가 필요한 경우 사용자에게 요청하는 대신 시스템에 쿼리를 날려라. Thoughtfully prioritize configuration options within your app. 우선 순위를 신중하게 정해야 한다. 앱의 메인 화면은 필수적이거나 자.. 더보기
[iOS-HIG] Navigation Navigation 사람들은 앱의 내비게이션을 잘 알지 못하는 경향이 있다. 내비게이션은 주의를 환기시키지 않고 앱의 구조와 목적을 지원하는 방식으로 내비게이션을 구현해야 한다. 내비게이션은 공기처럼 자연스러워야 한다. 내비게이션이 focus를 가져가면 안된다. iOS에서는 크게 세 가지 스타일의 네비게이션이 있다. Hierarchical Navigation 목적지에 도착할 때까지 화면당 하나씩 선택한다. 다른 목적지로 가기 위해서는 선택한 길을 다시 되돌아가거나 처음부터 다시 시작해야 한다. (설정, 메일 등 계층적으로 선택지가 나오는 경우 이 스타일의 내비게이션을 활용한다.) Flat Navigation 여러 내용 범주 간에 전환을 한다. 서로 다른 카테고리를 묶기 위해 사용한다. 흔히 앱의 아랫쪽에.. 더보기
[iOS-HIG] Modality Modality Modality는 명시적인 작업이 필요한 콘텐츠를 임시 모드로 표시하는 설계 기법이다. 콘텐츠를 자동으로 표시하면 다음을 수행할 수 있다. - 사람들이 독립적인 작업 또는 밀접하게 관련이 있는 task에 집중할 수 있도록 도와준다. (ex,메일 보내기(Modal View)) - 사람들이 중요한 정보를 받도록 경고를하고 필요한 경우 조치를 취할 수 있게 도와준다. (ex, 경고 문구(Alert)) iOS는 다양한 modal경험을 위해 Alerts, Activity Views(or Share sheets, ex.공유버튼), and Action Sheets(ex.사진 찍기 or 앨범에서 선택 Sheets) 를 제공 한다. 앱에서 사용자 지정 modal content를 표시하려면 다음의 스타일 .. 더보기
[iOS-HIG] Loading Loading 콘텐츠가 로딩될 때 공백, 정적 화면은 앱이 정지된 것처럼 보이게 하여 혼란을 주어서 사용자가 앱을 떠나는 원인이 될 수 있다. * 언제든 중지할 수 있게 일시정지, 취소 등을 넣으면 좋다. Make it clear when loading is occurring. 최소한, 어떤 것을 소통하는 activity spinner를 보여줘야 한다. 더 좋은 것은, 사람들이 얼마나 오래 기다려야 하는지 알 수 있도록 명확한 진행 상황을 보여주는 것이다. (프로그래스 바활용하거나 몇 분 남았습니다. 등등) Show content as soon as possible. 사람들이 로딩을 기다리는 화면을 기다리게 하지 말아라. 즉, 사용자가 로딩을 기다리는 동안 애니메이션이 재생 중이거나 사용자가 메뉴를 탐색.. 더보기
[iOS-HIG] Onboarding Onboarding (승선, 오리엔테이션) Onboarding을 통해 새 사용자를 환영하고 다시 돌아오는 사용자와 다시 연결할 수 있다. 빠르고 재미있고 교육적인 경험을 통해 사용자들의 방해가 되지 않고 앱을 최대한 활용할 수 있다. 주로 처음 사용하는 유저에게 앱에 대한 설명을 하는데 쓰인다. Provide onboarding that helps people enjoy your app, not just set it up. Onboarding은 설정을 하는 것이 아닌 단순히 앱을 즐길 수 있또록 도와주는 것이다. 설정 또는 라이센스 세부 정보를 포함하지 않도록 하여야 한다. 자세한 내용은 Launcing을 참조 Launch in the appropriate orientation. 바로 사용자가 들어가서 .. 더보기
[iOS-HIG] Launching Launching 출시 경험은 앱에 대한 사람들의 인식에 큰 영향을 미친다. 사용자가 사용하는 장치나 앱을 마지막으로 연 지 얼마나 되었는지에 관계없이 실행 경험이 빠르고 원활해야 한다. (fast and seamless) seamless (애플이 강조하는 단어,매끄러운..? 부드러운 스무스한 느낌) 아래 링크는 개발자 가이드로 Ui Application Delegate관련 가이드 있다.(앱의 LifeCycle과 관련) https://developer.apple.com/documentation/uikit/app_and_environment/responding_to_the_launch_of_your_app launching은 앱의 lifeCycle과 많은 관련이 있다. Provide a launch scr.. 더보기