An app window in full-screen mode offers a distraction-free working environment. Toolbars, menus, and other standard controls are often hidden and revealed only when the user calls for them, such as by moving the pointer to the top of the screen. Some apps even hide essential controls to increase the focus on content. The controls are hidden, for example, when playing a movie in QuickTime Player or a slideshow in Photos.
TIP On equipped MacBook Pro models, the Touch Bar can be leveraged to provide direct access to common functions without requiring the user to move the pointer or see controls superimposed over content. See Touch Bar > Architecture > Full-Screen and Focused-Content Apps.
Enable full-screen windows only when it makes sense. Full-screen mode is useful when a user wants to be immersed in a task, but not all apps require immersion. For example, some utility apps like Calculator work better with smaller windows that reside onscreen alongside other apps. When porting an iOS app to macOS, don’t assume the app must support full-screen mode in macOS.
Keep the toolbar visible when it’s necessary for accomplishing tasks; hide it when the focus is on content. A full-screen window can be set to show the toolbar all the time, or only when the user moves the pointer to the top of the screen. Calendar, for example, always displays the toolbar, providing quick access to essential navigation and schedule management controls. On the other hand, Preview hides the toolbar so the user can focus on reading or viewing content.
Retain access to essential features. Make sure all essential tools remain available in the full-screen environment. The user should be able to complete tasks without exiting full-screen mode.
Configure auxiliary windows for use in full-screen mode. Full-screen auxiliary windows must be properly configured so they can be displayed above full-screen content. For developer guidance, see NSWindowCollectionBehaviorFullScreenAuxiliary.
Design efficient interactions with external files. The user shouldn’t need to exit full-screen mode to open files, import images, save files, or perform other file system interactions. Consider how you can make these functions available in the full-screen environment. For example, if you need to provide access to images, you might implement a built-in image browser.
Take advantage of the extra screen space, but keep your interface transitions smooth. Most windows grow in width and height when taken full screen. If appropriate, you can subtly adjust the proportions of your interface so windows fit better into the space and elevate areas that are essential for performing tasks or viewing content. Just be sure that transitions aren’t jarring and your interface remains recognizable. For example, when entering full-screen mode in Photo Booth, the user never loses sight of themselves in the viewing area.
Respect the gestures for entering Mission Control. The standard Mission Control gestures should always work. Even when your app is the only thing in focus, the user should be able to invoke Mission Control to quickly preview and navigate between their open windows, full-screen apps, desktop, spaces, and Dashboard. This rule applies to games, too.
Respond appropriately when the user switches away from your app. The user should be able to resume where they left off when they return to your app after switching away. For example, a game or photo slide show should automatically pause when the user leaves the app.
Let the user choose when to exit full-screen mode. Avoid exiting full-screen mode automatically when the user switches to another app or when an activity, like playing a movie or game, has finished.
In general, let the user reveal the Dock. It’s important to preserve access to the Dock when your app is in full-screen mode so the user can quickly open apps and other Dock items. An exception to this is in an immersive game where the edges of the screen are part of the experience.