https://developer.apple.com/design/human-interface-guidelines/loading
콘텐츠가 로드되는 동안 사용자들이 앱이 느리거나 정지되었다고 생각할 수 있는 빈 뷰나 정적 콘텐츠를 표시하지 마세요!
Best practices
- 최대한 빨리 콘텐츠를 표시하자
- 로딩이 완료될 때 기다렸다가 콘텐츠를 표시하면 콘텐츠가 부족한 것을 느린 것으로 해석할 수 있다.
- 대신 콘텐츠를 아직 사용할 수 없을 경우 placeholder text, graphics, animation을 표시하고 로드가 완료되면 이것들을 제거하자
- 가능하면 애니메이션이 재생 중이거나 사람들이 메뉴 등을 탐색하는 동안 백그라운드에서 콘텐츠를 미리 로드하자!
- 콘텐츠가 로딩 중이며 완료까지 얼마나 시간이 걸릴지 명확하게 알리자
- 로딩에 1~2분 이상이 걸리는 상황에서는 시스템에서 제공하는 컴포넌트(progress indicators)를 사용해 로딩 중임을 표시하자
- 일반적으로 로딩에 걸리는 시간을 알고 있는 경우 determinate progress indicator를 사용하고 로딩 시간을 정량화 할 수 없는 경우 indeterminate progress indicator를 사용하자 (Progress Indicators 참고)
- 예를 들어, macOS에서는 Finder에 determinate progress indicator과 간단한 설명 텍스트로 파일 복사에 필요한 시간을 나타낸다.
- 로딩 시간이 불가피하게 오래 걸리는 경우 기다리는 동안 볼거리를 제공하는 것이 좋다.
- 게임 플레이에 힌트를 제공, 짧은 동영상이나 애니메이션 재생 등
- 남은 로딩 시간을 최대한 정확하게 측정하여 이러한 볼거리를 즐길 시간이 너무 짧거나 콘텐츠를 반복해야 할 정도로 시간이 많이 걸리지 않도록 설계하자
- 로딩 뷰 커스텀을 고려하자
- 표준 로딩 뷰는 일반적으로 괜찮지만 때때로 상황에 맞지 않을 수 있다.
- 앱이나 게임의 스타일에 맞는 커스텀 애니메이션과 컴포넌트를 사용하여 더욱 매력적인 경험을 디자인하면 좋다!
Platform considerations
watchOS
- watchOS에서는 가능하면 loading indicator를 표시하지 않도록 하자
- 사람들은 Apple Watch와 빠른 상호 작용을 기대하기 때문에 콘텐츠를 즉시 로드하는 것을 목표로 하자!!
- 그래도 콘텐츠를 로드하는데 1~2초가 필요한 상황에서는 빈 화면보다는 loading indicator를 표시하는 것이 좋다.
'iOS > HIG' 카테고리의 다른 글
[HIG] Patterns - Searching (0) | 2023.08.04 |
---|---|
[HIG] Patterns - Launching (0) | 2023.07.07 |
[HIG] Components - Notifications (0) | 2023.06.27 |
[HIG] Components - Edit menus (0) | 2023.06.16 |
[HIG] Components - Labels (0) | 2023.06.02 |
댓글