Wayback Machine
46 captures
24 Jun 2020 - 11 Mar 2026
May JUN Jul
12
2020 2021 2022
success
fail
About this capture
COLLECTED BY
Collection: GDELT Project
TIMESTAMPS
loading
The Wayback Machine - https://web.archive.org/web/20210612032950/https://developer.apple.com/videos/play/wwdc2020/10087/

View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search Developer
Cancel
  • Apple Developer
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Limit search to

Quick Links

5 Quick Links

Videos

Open Menu Close Menu
  • Collections
  • Topics
  • All Videos

Back to WWDC 2020

Streaming is available in most browsers,
and in the WWDC app.

  • Overview
  • Transcript
  • Design for intelligence: Make friends with "The System"

    The building blocks of the intelligent system are simple: Define, learn, execute. Discover how you can use intents to define your app's key features, create donations to help the system learn and make predictions about the future, and implement extensibility to ensure your app is ready to execute at just the right moment. Learn from teams at Apple about how their technologies use intents and donations in different ways, all for the same goal: to make the everyday easier.

    Resources

    • Have a question? Ask with tag wwdc20-10087
    • Search the forums for tag wwdc20-10087
      • HD Video
      • SD Video

    Related Videos

    WWDC 2020

    • Add configuration and intelligence to your widgets
    • Broaden your reach with Siri Event Suggestions
    • Create quick interactions with Shortcuts on watchOS
    • Design for intelligence: Apps, evolved
    • Design for intelligence: Discover new opportunities
    • Design for intelligence: Meet people where they are
    • Design high quality Siri media interactions
    • Evaluate and optimize voice interaction for your app
    • Expand your SiriKit Media Intents to more platforms
    • What's new in SiriKit and Shortcuts
  • Download

    Hello and welcome to WWDC.

    Hey. My name is Sofiane, and I work on Proactive Intelligence here at Apple. Today, I want to talk to you about how your app can make friends with the system. As Radhika showed in the previous video, system intelligence can help people at every step of their journey in using their apps and the devices that those apps are installed on.

    The better job you, as a developer, do to integrate with the system, and the more people use your apps, the more we can help them over time. But how do you do a good job of integrating with the system? I'll explain by talking about a few key concepts shared across all of our intelligence technologies.

    Then I'll have my colleagues, Mert and Chad, talk about how their teams use these foundational concepts in slightly different ways, all to achieve the same goal: making everyday things easier.

    And then Mark will come back to recap exactly what we hope you do next.

    So, let's talk about what makes the intelligent system work.

    We all live busy lives, and for many of us, our iOS devices have become an important part of how we get things done. People rely on apps dozens of times every day, for tasks ranging from communication, ordering food, or even tracking water intake. And again, our goal is to make these everyday interactions as smooth and frictionless as possible so you can get time back to focus on your life.

    And for this to happen, the system and your app need to work together. And by working together, what I really mean is that we need to speak the same language. For that common language, we built the Intents framework. There are three key concepts you should know about, and these are define, learn and execute.

    Understanding them will help you accelerate your users along your apps' critical paths, and adapt to their preferences over time. Let's first talk about what we mean by "Define." Ultimately, you, as developers and designers, just need to ask yourself, what are the important actions that people want to perform with your app? The goal is simply to determine what are the key and repeatable things that people want to accomplish. You can define these actions using what we call "intents." Intents represent the "what." What do people do in your app? Ask yourself, "What are those tasks? And what are all of the relevant attributes necessary to carry them out?" What, for example, does it mean to track your water intake? Or what's involved in checking the news? Or what does it mean to order coffee? Let's actually take a closer look at that example.

    So, to order coffee, you know you'll need an intent that represents that action. And, of course, people like their coffee made differently. There are obviously different types of coffee. Maybe the size of the drink matters too.

    Details like this are the attributes of the action, also known as the parameters of the intent.

    The Intents framework gives you the flexibility to define your intent and its parameters, making it easy for you to package all of the information about the action someone is performing inside your app.

    Here we're creating an "order coffee" intent and defining two of its parameters, representing the type of coffee item and its size.

    With those parameters defined, we can set these values to represent what the user is actually ordering, and here, it's a large iced latte. So, to summarize, the intents you define are a key building block that enable your app and the system to speak the same language.

    Now, a key piece of that intelligent system experience is learning how people do things in order to predict how they might do so again in the future. But how do we learn? All it takes is someone using your app, and as long as you, as a developer, do something called a "donation" as people use your app and perform the tasks that are important to them, these donations provide signals that the system can use to learn from. This happens using on-device intelligence, and eventually, we'll detect patterns that help us make predictions, like the Siri Suggestions we surface on the lock screen.

    And when someone uses a lock screen suggestion, not only do they save time, but we can tell that we did a good job, and that positive signal helps us make even better predictions in the future. So, let's dive deeper into this concept of donations. Donations help us answer questions like when do I order coffee? Or where does that typically happen? But time and location are only a few of the signals that we use to understand something more important, which is context. As JP said earlier, we want you to feel like you have superpowers. We pull that off when we match the task you want to accomplish with just the right moment. Now, a donation is simply a record, a snapshot in time, of an intent that's actually been executed.

    Maybe today, your app donates your large latte order because that's just what you crave as you start the day. And a bit later in the day, you order something more refreshing, like a lemonade.

    But the next day, you start your morning off again with another large latte.

    And as people continue to use your app, these signals accumulate over time. And while there might be changeups, patterns emerge and the system can learn them. Once we learn these patterns, we make predictions. We try to match the right task to your context, and we get better the more we learn. And again here, privacy is at the very core of what we do. The information you donate never leaves the device. The system uses your donations locally to offer an amazing, personalized intelligent experience. What happens on your device stays on your device. So, we keep returning to this point that an intelligent system should save you time, but it can only do that if we drastically reduce the amount of friction required to get something done.

    A key way we do that is by accelerating people to the things they want to accomplish.

    So, as a developer, it's important for you to be prepared to perform an action even when your app is not running.

    When we make a prediction, we may reconstruct an intent from the information gleaned from your app donations.

    When our prediction is right and someone engages with it, we pass the underlying intent back over to you so you can execute it in your app.

    Now, your goal is to execute that action, and there are two ways you might go about this.

    Whenever possible, you should execute the action in the background. If you support background execution, the action is performed right then and there and the user doesn't have to switch between apps.

    You even have the ability to display your beautiful app UI right in this flow. Here, we're showing a dialogue to let the user confirm their order before placing it.

    Alternatively, we can launch your app.