사용자를 위한 즐거운 로딩 방법
본 문서는 Apple의 Human Interface Guideline(이하 HIG) 문서를 한글로 번역한 것입니다. iOS 생태계 내에서 HIG를 읽으시는 분들이 번역본이 없어 불편함을 겪는 것을 알게 되었고, 이에 한글로 번역을 하게 되었습니다. iOS 커뮤니티 Async Swift에서 자율적으로 모인 9명이 함께 번역했으며, 일체의 상업적인 목적을 띄지 않습니다. 이 문서를 학습에 적극적으로 이용해 주시돼, 상업적인 용도로 이용하시는 것은 지양해 주시기 바랍니다. 감사합니다.
가능한 한 콘텐츠를 빠르게 보여주세요. 아무런 내용을 표시하지 않고 로딩이 끝날 때까지 사용자를 기다리게 하는 것은 좋지 않습니다. 대신 콘텐츠가 나타나지 않은 위치에 플레이스홀더 텍스트, 그래픽 혹은 애니메이션을 표시하고, 콘텐츠가 로드되는 순간 이 요소 대신 콘텐츠를 빠르게 보여주세요. 가능하면 애니메이션이 재생 중이거나 사람들이 메뉴를 탐색하는 동안 앞으로 나올 콘텐츠를 미리 백그라운드에서 로드하는 것이 좋습니다.
콘텐츠가 로드 중이라는 것과 완료하는 데 걸리는 시간을 명확하게 전달하세요. 콘텐츠를 사용자에게 바로 보여주는 것이 좋지만 콘텐츠를 로드하는 데 1분 또는 2분 이상이 걸리는 상황의 경우 시스템이 제공하는 구성 요소인 진행률 표시기(progress indicator)를 사용하여 콘텐츠가 로드 중임을 사용자에게 보여줄 수 있습니다. 일반적으로 로딩 시간을 알면 확정(determinate) 진행률 표시기를 사용하고, 로딩 시간을 알지 못하는 경우 미확정(indeterminate) 진행률 표시기를 사용합니다. 예를 들어 macOS에서 Finder는 확정 진행률 표시기와 간단한 설명 텍스트를 결합하여 사람들이 파일 복사를 완료하는 데 걸리는 시간을 보여줍니다. 가이드라인은 Progress indicators를 참고하세요.
역자 설명 : 아래 이미지는 Finder에서 사용하는 확정(determinate) 진행률 표시기와 텍스트입니다.
로딩에 불가피하게 시간이 오래 걸린다면 사람들이 기다리는 동안 볼 수 있는 것을 제공하는 것을 고려해 보세요. 예를 들어 게임 플레이에 대한 팁을 제공하거나, 짧은 비디오를 보여주거나, 정보를 주는 플레이스홀더를 표시할 수 있습니다. 남은 로딩 시간을 가능한 한 정확하게 파악해 사람들이 흥미로운 콘텐츠를 즐길 시간을 너무 적게 주거나 지루한 콘텐츠를 반복해서 봐야 하는 시간이 너무 길어지지 않도록 하는 것이 좋습니다.
로딩 화면을 사용자 정의(cusotmizing)하는 것을 고려해 보세요. 표준 진행률 표시기는 일반적인 상황에서는 알맞지만 종종 맥락과 맞지 않는 느낌이 들 수 있습니다. 앱이나 게임의 스타일에 맞는 맞춤형 애니메이션과 요소를 통해 보다 몰입감 있는 경험을 디자인하는 것을 고려해 보세요.
No additional considerations for iOS, iPadOS, macOS, or tvOS.
가능한 한, watchOS 경험에서 로딩 인디케이터가 표시되지 않도록 하세요. 사람들은 Apple Watch와 빠른 상호작용을 기대하기 때문에, 즉시 콘텐츠가 표시되는 것을 목표로 하는 것이 좋습니다. 콘텐츠를 로드하는 데 1~2초가 필요한 상황이라면 빈 화면보다는 로딩 인디케이터를 표시하는 것이 더 낫습니다.