Multitasking
Multitasking lets you quickly switch from one app to another at any time through a multitasking interface on an iOS device, or by using a multifinger gesture on an iPad. On iPad, multitasking also lets you use two apps at once in Slide Over, Split View, or Picture in Picture mode. Slide Over is accessed by swiping from the right side of the screen to temporarily use a second app without leaving the context of the current app, such as to quickly view your Mail inbox while you’re using Safari. Split View lets you use two side-by-side apps at the same time, and Picture in Picture lets you watch a video while working in another app.
Designing an app that thrives in a multitasking environment hinges on your app harmoniously coexisting with other apps on the device. This means your app shouldn’t use too much CPU, memory, screen space, or other system resources. It should respond well to sudden interruptions and audio from other apps, transition to and from the background quickly and smoothly, and behave responsibly when operating in the background.
멀티태스킹
멀티태스킹은 iOS 기기의 멀티태스킹 화면이나 멀티핑거 제스처를 활용해 iPad에서 언제든 앱과 다른 앱 사이를 빠르게 오가도록 해줍니다. 아이패드의 Slide Over, Split View, Picture in Picture 모드에선 두가지 앱을 한번에 쓸 수 있습니다. Slide Over은 화면의 오른쪽에서 스와이프하면 작동됩니다. 이 모드는 두번째 켠 앱은 일시적으로 사용하지만 현재 앱(첫번째 앱)의 상태를 떠나지 않아야 할 때 사용됩니다. 사파리를 사용하는 중 빠르게 메일 수신함을 확인하는 예를 들 수 있습니다. Split view는 두 앱을 함께 동시에 사용할 때 이용하며, Picture in Picture은 다른 앱을 작동시키면서 비디오를 볼 때 이용합니다.
멀티태스킹 환경에서도 잘 작동하는 앱을 디자인하는것은 전적으로 당신의 앱이 기기의 다른 앱과 조화롭게 공존할 수 있냐에 달려있습니다. 이는 앱이 CPU나 메모리, 화면 크기나 다른 시스템 리소스를 너무 많이 쓰지 말아야 한다는 말이 아닙니다. 다른 앱의 갑작스런 소리 방해나 배경화면에서 신속하고 부드럽게 전환되는 것, 백그라운드에서도 적절히 잘 작동해야한다는 것입니다.
Design an adaptable interface that looks great when running in split view. An adaptable interface automatically adjusts its UI elements and layout when users switch multitasking modes, rotate the screen, or change text size or locale. To learn more about designing an adaptable experience, see Adaptivity and Layout.
Split view에서도 보기 좋게 작동하는 적응형 인터페이스*를 디자인하세요. 적응형 인터페이스는 사용자가 멀티태스킹 모드를 전환하거나 기기를 돌렸을 때, 텍스트나 언어 등의 설정을 변경했을 때 UI 요소와 레이아웃이 자동으로 맞춤 변경됩니다. 적응형 화면 경험 디자인은 Adaptivity and Layout 에서 확인하세요.
* 적응형 인터페이스와 반응형 비교 (웹에 한정)
chaewonkong.github.io/posts/responsive-adaptive.html
Be prepared for interruptions, and be ready to resume. Your app can be interrupted at any time. When an interruption occurs, your app should save the current state quickly and precisely so people can seamlessly continue where they left off when they return.
방해받을 것에 대비하고, 재개할 준비를 하세요. 앱은 언제든지 방해받을 가능성이 있습니다. 만약 방해가 발생하면, 앱은 현재 상태를 빠르고 정확하게 저장해야합니다. 사용자가 떠났다 다시 돌아왔을 때 앱이 빈틈없이 계속될 수 있도록요.
Make sure your interface works with a double-high status bar. Certain features, such as in-progress phone calls, audio recording, and tethering display an additional status bar at the top of the screen. In unprepared apps, this added height can cause layout problems by covering or pushing down other interface elements. Test your app with these features enabled to ensure that your interface responds appropriately and still looks great.
인터페이스가 이중 status bar*에서도 잘 작동할 수 있도록 하세요. 전화 통화중이거나 녹음중일때, 혹은 테더링 중일 때 추가 status bar가 표시됩니다. 준비되지 않은 앱들의 경우 이 영역이 레이아웃을 덮거나 다른 요소들을 아래로 내려버리는 문제를 발생시킵니다. 이런 기능에 적절히 잘 대응하고, 여전히 멋져보이는지 알 수 있도록 테스트해보세요.
Pause activity that requires attention or active participation. If your app is a game or a media-viewing app, for example, make sure people don’t miss anything when they switch to another app. When they switch back, let them continue as if they’d never left.
집중이나 직접 참여를 요구하는 활동은 잠깐 멈추세요. 만약 당신의 앱이 게임이나 미디어를 보는 앱이라면, 사용자들이 다른 앱으로 전환했을 때 다른 어떤것도 놓치지 않도록 하세요. 그들이 다시 돌아왔을 때, 그들이 떠난 적 없던 것 처럼 그대로 이어갈 수 있도록 하세요.
Respond appropriately to external audio. Occasionally, your app’s audio may be interrupted by audio from another app or the system itself. For example, an incoming phone call or a music playlist initiated by Siri may interrupt your app’s audio. When situations like these occur, your app’s response should meet people’s expectations. For primary audio interruptions, such as playing music, podcasts, or audiobooks, your app should pause its audio indefinitely. For shorter interruptions, such as GPS directional notifications, your app should temporarily lower its audio volume or pause its audio and resume when the interruption ends. For additional guidance, see Audio.
외부 소리에 적절히 반응하세요. 때때로 다른 앱의 소리나 시스템의 소리가 여러분의 앱 소리를 방해할 수 있습니다. 수신 중 전화나 시리에 의해 시작된 음악 플레이리스트가 당신의 앱 소리를 방해할 수 있죠. 이런 경우, 당신의 앱은 사용자들의 기대에 부합해야 합니다. 노래 재생, 팟캐스트, 오디오북과 같은 중요한 오디오의 방해라면 당신의 앱의 소리를 무기한으로 정지해야합니다. 반면 GPS 경로안내와 같은 짧은 방해의 경우엔 소리를 잠시동안 줄이거나 멈추고, 끝나면 다시 재개해야합니다. 추가 가이드는 Audio(음향) 에서 확인하세요.
Finish user-initiated tasks in the background. When someone starts a task, they expect it to finish even if they switch away from your app. If your app is in the middle of performing a task that doesn’t need additional input, complete it in the background before suspending.
사용자가 시작한 임무는 백그라운드에서 완료하세요. 만약 누군가 임무를 시작했다면, 그들은 그들이 앱에서 벗어나더라도 그 임무가 수행되길 기대합니다. 만약 추가 값 입력이 필요없는 임무 수행 중이라면, 유예하지 말고 백그라운드에서 임무를 완료하세요.
Use notifications sparingly. Your app can arrange for notifications to be sent at specific times, whether your app is suspended, running in the background, or not running at all. Notifications are fine for communicating important information, but avoid pestering people with too many. For example, don’t show a notification every time your app finishes a task in the background. Instead, let people check on tasks by returning to your app. For additional guidance, see Notifications.
알람은 조금만 사용하세요. 당신의 앱이 유예중*이든, 백그라운드에서 작동중이든, 아예 실행이 되고있지 않든 상관없이 특정 시간에 알람을 보낼 수 있습니다. 알림은 중요한 정보를 전달하는 역할을 하지만, 너무 많이 보내 사용자들을 성가시게 하지 마세요. 예를 들어, 앱이 백그라운드에서 임무를 수행할 때마다 매번 알람을 보내지 마세요. 대신 사용자들이 당신의 앱에 돌아왔을 때 확인할 수 있도록 하세요. 추가 가이드는 Notifications 에서 확인하세요.
원문_
developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/multitasking/