[ Bell Ring ]
You guys know that sound, right?
You know, you've probably seen that badge before.
I know we're all familiar with notifications.
And often they're really, really great.
You know, there's lots of reasons to be excited when you hear that sound.
Maybe it's an iMessage you're eagerly awaiting, your favorite app has something to share, maybe you've got something on social media that is just totally blowing up.
Like, notifications, they're really fun and they're a big reason we love our iPhones so much.
But I think as we all know maybe too much of a good thing is not always such a good thing, right?
And I would imagine there's a few of you that have some apps that look like this, right?
So let's talk about what we can do to make sure all these notifications are something really great?
So first off, let's be mindful of people's time.
You know, we should send notifications only when they're relevant.
Don't send them to boost traffic or engagement, but only when your app has some important information to share.
When asking for permission to send them, you know, be clear why.
Explain what notifications are going to be about, and the value that they will provide.
You know, because there is a real consequence if you send too many and they're not informative or useful.
You know, people can shut them off, or maybe even delete your app.
And nobody wants that.
I'd like to stress this point here.
Don't think of notifications as just a hook into your app.
You know, they should be a self-contained package of information that allows you to complete a specific task.
Because if someone does interact with your notification, we want to make sure it is worthwhile to them.
Because if you create delightful and useful notifications, there is a real opportunity to create a bond between people and your app, and that is going to create a real value for you as developers, and real value for everyone that uses your app.
So, to make sure we're on the same page here, let's talk about what makes a rich notification.
Starting with a Short Look, this should answer the question: What is this notification about?
So when you're creating these, make sure you're following the current APIs.
You know, we just had some updates in iOS 11, take advantage of those.
We want to make sure you populate all the proper fields and labels.
And take a minute to make sure the language that you're using here is clear, informative and direct.
So now if you use 3D Touch and you press on the notification, you get what we like to call the Long Look.
And here is where you should provide some additional context, some additional information around your notification.
So here, you can see in the calendar notification I get more details about the event, and I get to see a detail of my day, and that's the extra content that makes this really valuable.
It's nice to know more about the event, but it is really helpful in this case to know if I'm free, because at the bottom of the notification there can be some optional Quick Actions.
So if it relates to the notification, add some relevant buttons.
Remember, we want people to see the alert, get the information they need, do what they need to do, and then get back to what they were just doing.
So now that I know that I'm free, I can go on and I can accept the invitation.
I never had to launch the calendar app, and I never lost context of what I was doing.
So in creating a notification, remember, the Short Look should describe what the notification is about.
The Long Look should provide some contextually relevant information, and the Quick Actions should provide some quick actions.
So let's get into some examples now of what great, rich notifications look like, and all the different things you can do.
So here is a notification for mail.
And you can see you are presented with the sender's name, the subject of the message, and a few lines of preview.
Now, when I expand this open, I get to see the rest of the message.
So at a minimum, this is what we want to be doing.
And if you've got some content that gets truncated in the Short Look, let's show the rest of it in the Long Look.
The next thing we can do to make notifications more useful is by adding an image.
So here is Photos, sending a notification.
You can see the stream it was posted to.
You could see who posted it, and there is a thumbnail on the right-hand side there.
Those are all helpful bits of information.
Now, in this Long Look, I can just see a big version of the photo and some relevant quick actions.
So remember here, when you're adding an image, it doesn't need to be just a photograph.
This is where you can use some of your app UI.
So if you have custom UI, custom typography, elements that make your app unique, you should add them here.
You know, just like our calendar example from before.
Or if you have a data-heavy app, maybe you have charts and graphs, flow diagrams, things like that, you can add those.
If you have a weather app, maybe you should show the conditions graphically, present stock charts if that's your app.
You know, show information as it's designed in your app.
Here you can see when Tips presents a notification, they tell you what it is, right in the Short Look.
Now, when you expand it, this notification really comes to life with video content and plays a movie, and it shows you the tip.
It's an example where I don't need to go into the app to learn what the tip is about.
I get all the information I need right in the video in line with the Long Look.
So I think a nice example here might be for games.
You know I think if you're playing chess or some other turn-by-turn game like that, you know, when someone makes a move, you can show their last turn back to them right in the notification.
Now remember, these examples are bringing notifications to life with UI animations.
And if those are a big part of your app, use those in the notifications.
But you can also have traditional video content here as well.
So if you have news clips, sports highlights, things like that, if video is a part of your app, make that a part of your notifications.
So here is a Missed Call in Voicemail notification.
I can see my friend, Chance, he gave me a call, left a voicemail.
And when I get to the Long Look here, I can see the missed call, I can listen to the audio message or I can just read the transcription, all without ever having to go into the phone app.
Everything I need to know about the missed call is here, the audio, the transcript, and some relevant actions.
It's a nice, self-contained package.
So we've talked about you can add images, you can add video, audio to your notifications, well the next thing you could do is have a custom view that updates live.
So here is Find My Friends.
Chance wants to share his location with me.
And when I expand this notification, I get to see his current location.
So you can update the content of a Long Look in real time.
So any case where you're using a map, that is a nice example.
So if you have a social app, you could see your friends, maybe some sort of delivery service, flight tracking, things like that.
Or if you have dynamic data in your app, something that is based on live events, update that too.
Stock prices, sports scores, social feeds, things like that.
If your app updates in real time, your notifications should update in real time.
And finally, you can go totally custom and build a really rich [inaudible] experience.
So I can see my friend Chance, he sends me an iMessage, when I expand this, I see Messages draws the actual conversation, straight with bobbles and effects, and images and attachments, and because the thread updates live, if he starts typing, we present the indicator.
And I think that is a really helpful piece of information because it lets me know to keep the notification open for just a moment longer, because when he sends his next message, the thread updates, and it appears right inline.
Now, if I want to engage in the conversation I can reply to him, and we can go back and forth, and keep our conversation going until we're through.
Once we're done chatting, I just swipe the notification away, and I get back to what I was just doing.
So, Mic is a really cool app that builds a big part of their experience around our notification platform.
So I can see they posted a Breaking News alert about a secret government spacecraft, I think.
You know that sounds pretty cool, let me read that story.
So when I expand the Long Look, I get to see a big photograph from the article.
I get the headline, and I get to read the rest of the story.
I think it's really great.
You know, I expanded this notification because I was interested in the story and now I get to read the whole thing, and I never lost context of what I was doing.
Castro is my favorite podcast app.
It's really great.
It's really well done, and I get a notification every time there is a new episode.
So here, in the Long Look, I get to see the title, there's the duration, there's a nice description, and even a thumbnail of the show's artwork there in the bottom right.
And what's nice here is that it's typeset just like their app.
So I think this is a really nice example of how an app can bring their custom design language from their app into the notification experience.
It's really well considered.
It is really great.
And the Quick Actions are nice, too.
You know, now that I've learned more about the show, I can just start listening.
And finally, Kuna.
This is one of my favorite examples.
You know, this is a smart camera that you can place by your front door.
So here, you get a notification letting you know that your camera has detected some activity outside.
And I just think this is like the perfect case for a Long Look.
You know, if you are telling me someone is at my front door, you know, I want to see it, right?
Like, I just want to play the video back right in the Long Look.
So let's see what was happening outside.
It looks like my friend, Chance, is stopping by [laughter], oh, that's funny.
There's a real video for this camera, too.
And the click actions, too, "Can I help you?"
I think that's nice [laughter].
All right, so let's recap here.
Let's make sure the Short Look is giving you clear information about what the notification is for.
Let's make sure the Long Look is providing more context around the notification and bringing out some of those wonderful design details from your apps into the notifications.
Let's make sure we have some relevant Actions.
Remember, I am going to be able to do everything I need to do, and just take care of the notification.
You know, because if we all get together and we do that, the next time you hear this [bell rings], and the next time you see this, we won't have to worry, because we will know all those notifications will be something that is really great.