Designing for macOS

People rely on the power, spaciousness, and flexibility of a Mac as they perform in-depth productivity tasks, view media or content, and play games, often using several apps at once.

As you begin designing your app or game for macOS, start by understanding the fundamental device characteristics and patterns that distinguish the macOS experience. Using these characteristics and patterns to inform your design decisions can help you provide an app or game that Mac users appreciate.

Display. A Mac typically has a large, high-resolution display, and people can extend their workspace by connecting additional displays, including their iPad.

Ergonomics. People generally use a Mac while they’re stationary, often placing the device on a desk or table. In the typical use case, the viewing distance can range from about 1 to 3 feet.

Inputs. People expect to enter data and control the interface using any combination of input modes, such as physical keyboards, pointing devices, game controllers, and voice.

App interactions. Interactions can last anywhere from a few minutes of performing some quick tasks to several hours of deep concentration. People frequently have multiple apps open at the same time, and they expect smooth transitions between active and inactive states as they switch from one app to another.

System features. macOS provides several features that help people interact with the system and their apps in familiar, consistent ways.

Best practices

Great Mac experiences integrate the platform and device capabilities that people value most. To help your design feel at home in macOS, prioritize the following ways to incorporate these features and capabilities.

  • Leverage large displays to present more content in fewer nested levels and with less need for modality, while maintaining a comfortable information density that doesn’t make people strain to view the content they want.
  • Let people resize, hide, show, and move your windows to fit their work style and device configuration, and support full-screen mode to help people focus in a distraction-free context.
  • Use the menu bar to give people easy access to all the commands they need to do things in your app.
  • Help people take advantage of high-precision input modes to perform pixel-perfect selections and edits.
  • Support keyboard shortcuts to help people accelerate actions and support keyboard-only work styles.
  • Enable personalization, letting people customize toolbars, configure windows to display the views they use most, and choose the colors and fonts they want to see in the interface.