Machine Learning

Machine learning is a powerful and versatile tool that can help you improve existing experiences and create new ones that people love. In addition to providing familiar features like image recognition and content recommendations, your app can use machine learning to forge deep connections with people and help them accomplish more with less effort.

An image showing a MacBook Pro, an iPhone, and an Apple Watch. Each device's screen shows a different app and machine learning pattern. The Mac shows a map that demonstrates multiple options, the iPhone shows the FaceID setup screen to demonstrate calibration, and the watch shows a workout screen to demonstrate implicit feedback.

Machine learning apps use models to perform tasks like recognizing images or finding relationships among numerical data. A great machine learning app depends on well-designed models as much as it depends on a well-designed UI and user experience. For insight into the process of designing models, see Create ML.

As you design your models, consider the intended experience of your app so you can align your design decisions in both areas. It can take a long time to adjust the behavior of models and you should be prepared to change the way you use data and metrics if the app experience needs to change.

Designing the UI and User Experience of a Machine Learning App

A machine learning app bases its behavior on the data it receives, and it reacts to changing information and conditions. This dynamic behavior makes designing the UI and user experience of a machine learning app uniquely challenging: instead of designing specific reactions to a static set of scenarios, you design it by teaching it how to interpret data and react accordingly.

To help you meet this challenge, consider the role that machine learning plays in your app. Defining the Role of Machine Learning in Your App describes several areas in which you can explore the ways machine learning can affect the experience your app provides.

As you design your app's UI and user experience, be guided by the role that machine learning plays in your app when considering ways to receive and display data. There are several patterns—grouped into inputs and outputs—that provide guidance in areas such as getting feedback, displaying data, handling mistakes, and enabling corrections. Use the guidance in these patterns to help you integrate machine learning into your app in ways that people appreciate.