[ Applause ]
I'm Doug LeMoine.
And I'm a design evangelist here at Apple.
I'll be joined in a bit by Jake Behrens.
He and I have teamed up to work with Apple Watch developers around the world over the past year.
Helping them make their Apple Watch apps as awesome as possible.
And we're here today to share what we've learned.
You might be here because you've been developing for Apple Watch and you're looking for some inspiration and ways to improve your app.
Or you might be here because you're new to the platform.
Welcome. You saw Monday's keynote, you heard about the improvements, and now you're ready to get started.
We've got tips, ideas and advice that will be useful to you all.
I'm going to begin by talking about planning, where to start.
Or, if you've already got an app where to go next with your next release.
I'm going to show practical methods that you can use to define a great Watch app.
And then Jake is going to talk about the implementation of a app on Apple Watch.
But what he's really going to focus on is how you can learn from building.
He's going to talk about how we tested ideas and learned from the people who use our app since the initial launch of Apple Watch.
OK, let's dive in.
So, believe it or not, it was only 2 years ago that Apple Watch was unveiled to the world and since then capabilities have increased with each hardware and software release.
In the past year alone, the power and performance have doubled.
And Apple Watch Series 2 extends what you can do with the watch with built-in GPS and water resistance up to 50 meters.
This means it Watch apps can track your workouts, when you go for a bike, ride, or a swim, or a run.
And some health and fitness apps provide inspiration for the platform as a whole.
So, I want to walk through a couple of those.
Sweat, an app from Australia can guide you through a variety of different exercises.
So, these are 28-minute workouts with literally dozens of movements.
And each of them has a helpful animation on the watch.
If you're not sure how to do a particular movement, you can get visual guidance right there.
Zepp helps you improve your tennis swing by using a sensor mounted on the racket.
You might've seen this in Monday's keynote.
But it gives you immediate feedback on your last serve in this case so you can adjust for the next one.
So, you can make a serve, look at your wrist, you can see how you did.
RunGo from Vancouver can give you turn by turn directions on a road or a trail run.
You simply load the route that you want and go.
So, this is voiceover, which is an accessibility feature.
And the audio can play through the Watch speaker, or through Bluetooth headphones that you can connect directly to the Watch.
So, what can we learn from the success of apps like these?
Like I said, in the past year, we've traveled around the world.
And we've seen successful watch apps, we've seen that successful watch app development begins with planning.
Which sounds obvious I imagine.
But for Watch, the best way to begin planning is to be ruthless and focusing and to identify a single feature.
A single job to do on Apple Watch.
A single task to complete.
A single goal to achieve.
So, this could be an existing feature from your iOS app, or it could be something new that makes sense on the wrist and that supplements what you do on iOS.
So, this is an app called Night Sky, from the UK.
If I see something up in the sky, I can use the Night Sky app on Apple Watch to figure out what it is.
In this case, it actually starts with a notification that points my way to the International Space Station.
So, that's what the arrow is there.
So, a simple feature like this can provide a small, or even big moment of delight.
Speaking of delight, I can also see if a new cat toy has brought any new cats to my yard.
This is Neko Atsume from Japan.
Let's see, are there any new cats?
Oh, yeah. Look at that little guy.
But to be honest I'm more of a dog person.
But this is an awesome app.
So, what do these apps do well?
They reduce the scope of what they try to do down to one thing that makes sense on the wrist.
Night Sky offers a way to answer one question, what is that?
Night Sky's iOS app does much, much more.
Check out all the things you can do here.
You can find constellations.
You can learn about stars.
You can spend minutes or even hours in here exploring.
There are no menus in the watch app.
There's no navigation at all, really.
Other than the cosmic navigation of course, that the app allows you to do.
It's things like this, in my opinion, that really show what the platform can do.
So, once you have your feature what do you do next?
We've got some guidelines for extending the UI and the UX of your app on the Watch platform.
All right, so the UI's of great Apple Watch experiences, have three characteristics or qualities.
First, they're legible.
Meaning the text on the screen is readable with sufficient contrast.
I'm saying this like it's revolutionary, but it's actually really simple and it's really key.
That's why it comes first.
The Watch comp that you design might look awesome on your 5K iMac, but you need to see how it performs on the small screen of the device itself.
Is it legible?
Can you read it in a glance?
In bright sunlight?
Great experiences, as we all know, start with getting the little things right.
So, make sure that the text and graphics on your Watch face are readable in the specific conditions of watch use.
So, number 2, they're concise.
To the point.
Only the information that matters, only the actions that matter.
Watch experiences can be truly powerful when the Watch app has tightly defined what it's trying to do, and then delivers it in a form that the user can grasp in a glance.
And finally, they're timely.
[ Chuckles ]
Oh, man, I have to wait for groans and uncomfortable coughs to end.
In all seriousness, timely is actually just the most direct way of describing the Watch being relevant in the moment.
Both in a temporal sense and in a situational sense.
So, we're going to use this as a checklist as we look through some Apple Watch experiences.
And I'd encourage you to do the same when you plan and design your apps.
All right, let's look at an example.
This is Lift.
It displays 3 simple elements on the screen.
The type is big with good contrast right.
Legible. The elements are informative, action oriented and optimized for one thing; request lift.
Concise. Also, the relationship between the elements is clear.
It's got my location.
There's a 1 minute waiting time.
And notice that Lift is keeping the location area simple and glanceable.
They're also doing things behind the scenes to populate it with things that users might recognize.
Favorites, previous places, or just well-known places.
Okay let's look at another example.
This is Major League Baseball.
The team names are big, really big.
For the most part legibility is about size on Apple Watch.
If you wonder whether your type is big enough, it probably isn't.
When the primary information is undeniably primary, you're heading in the right direction.
The relevant details with Major League Baseball are concise.
Today's pitchers and their records.
And finally, it's showing me only today's game.
Timely. All right, now I want to talk about concise.
This is CBS News.
We're at the home view, which shows headlines.
I can simply scroll through and get caught up in a few seconds.
How many headlines does it show?
Usually around 8 to 10.
It seems like enough.
All right, let's drill in.
So, now we're in the article view.
And once we get here, we can quickly scan down through the article using the digital crown.
And pretty quickly I get to the bottom.
So, this is actually just a synopsis.
And I can continue reading on my iPhone.
Either by using Handoff or by bookmarking it and saving it for later.
All right, let's talk about what they did well here.
Big, bright text.
Concise. It doesn't necessarily mean fits on one screen.
It can simply mean one thing that a person cares about.
So, even though this experience involves scrolling headlines and text it feels simple.
And finally, timely.
I have access to the latest news in a super accessible form.
Okay, now that we talked about the UI of apps, I want to talk about the other side of the experience.
The person using your app.
And I'm going to get aspirational about the kind of experience that can be created on Apple Watch.
On iPhone, we all know that apps can help people get things done, answer questions and achieve goals.
The Watch, the goals are the same, but the parameters of the experience are different.
The screen is small.
So, the information needs to be distributed in small chunks.
Just in time.
Great Watch experiences involve apps doing work on behalf of people.
Working in the background and emerging at the right time to be helpful.
Sort of like an expert.
Someone who's smart about stuff that I care about and leaps in to offer help when necessary.
Like an engineer or a scientist, like mission control who helps an astronaut navigate space, who informs the astronaut when decisions need to be made or when new information is available.
Information that helps navigation.
The status of the spacecraft, are the pod bay doors open.
Is it time to jump to hyper speed.
This is how engineers behind the scenes assist astronauts.
The scientist manages the flow of information to the astronaut and gets her the information she needs just in time in a concise and timely way.
So, the good news is being helpful in this way is not rocket science.
Sorry, about that.
Let's take WWDC as an example.
You spent the last 3 days, surrounded by life forms.
You may know some of them.
Some of them may know you.
You may have connections that neither of you even knew about.
The iPhone helps.
There are various ways of organizing your life on iPhone; contacts apps, social networks and so on.
All of which are useful.
Apps like these typically provide places that help people begin looking for information.
Sometimes you want the information to come to you.
You want these apps to be proactive or predictive.
You want help remembering a name.
Or help revealing a connection or a common interest that you might have.
My point here is that the magic and delight of Apple Watch happens when your apps work on behalf of your users to get them the information they need in the moment.
And by doing this and still trust that they will continue to do so in the future.
So, when your app is legible, concise and timely your users will feel a personal connection.
So, we're going to add a fourth quality of great Apple Watch experiences, personal.
Being legible, concise and timely establishes that personal connection with each individual who uses your app.
Knowing that they'll get the information they need when they need it.
Like an astronaut trust people at mission control to pass along the right information at the right time, so that they can stay focused on the mission.
OK, we're going to travel back down to earth.
We're going to look at a quick example.
Calendar. This is mission control, right.
it's the big canvas.
Where you can survey the future, see what's going on for the next week or month.
Here you've got all the dials and levers.
You can create calendars, create meetings, move stuff around, tons of real estate, and tons of tools.
As you move on the iPhone, the view narrows.
It's just today.
Why? Well because this accurately reflects the scope of what you typically care about on a mobile device.
You can still navigate through weeks and months, but you're focused on the near future.
Zooming in further, to the wrist.
Apple Watch shows you the next event.
You can scroll through events over the day and into subsequent days.
It's optimized for the next thing.
Finally, the calendar complication.
So, I can keep track of where I need to be by simply glancing at my wrist and seeing it right there in the middle of my watch face.
So, we've gone from mission control to the mission.
So, I've shown some different components of Apple Watch, now let's walk through each one quickly.
Each of these can be used to deliver information to your users on Apple Watch.
The three components of every Watch experience.
And like they're shown here, they're equally important.
Unlike other platforms, the app is not necessarily the center of an experience on Apple Watch.
There are complications which are persistently displayed on the Watch face.
They're a way for you to provide ambient information or access to your app.
Notifications, which you're probably already using on iOS, and we'll talk about what's different on Apple Watch.
And finally, the app itself.
Important of course, but not necessarily more so than others.
So, let's start with the most persistent element of the experience.
Information from your app on the Watch face.
Complications are helpful when they're continuously providing value to users.
So, what persistently provides value?
Well, being relevant.
Being predictive, offering a peek into the future.
Or, simply providing a launch button for your app.
There are examples of each of these on the Watch face.
CARROT weather is immediately relevant to both here and now.
It shows me the temperature and current atmospheric conditions.
Night Sky shows me that Neptune is setting.
This is an upcoming thing that I care about.
And then there's the calendar complication, letting me know what I've got coming up.
Finally, Nike Run Club shows me the miles I've logged.
Now, as you saw on Monday, the Siri face on watchOS4 brings timely information to you from a variety of places.
So, this face adapts, delivering timely, concise information rather than requiring people to go and find it.
OK, so those are complications.
Let's talk about notifications.
On Apple Watch, notifications briefly take over the UI allowing people to fully engage with them.
This means that from the point of view of the person using your app a notification from your app is essentially your app.
This notification can be styled to look like you're app and it can deliver information and provide timey actions.
So, let's look at an example.
Organizing a soccer game can be complicated.
You've got to find a field.
It takes that a big open space to play soccer.
You've got to find a time to play, coordinating schedules can be complicated.
You've got to find players.
If you want the game to be fun, the players need to be of roughly the same skill level.
And finally, you need to collect fees, sometimes for the field or facility.
So, this is an app called Apitador.
It's from Brazil.
It answers the question where and when can I play a pickup soccer game.
So, it shows me a map.
Let's say I'm at the Apple office in São Paulo.
There tons of games going on around me.
So, I can create a profile for myself in iOS, including the way that I like to play.
So, let's be honest, I have no place in a pickup soccer game in Brazil.
But let's go ahead and create a profile anyway.
As I start playing games, other players can rate me.
Am I a good player?
Did I show up on time?
Was I friendly?
People who are organizing games, can see that and they can invite me when they need a player like me.
A "attacking midfielder" which is I guess what I am.
So, when someone invites me to a game, I can see this invitation appear as a notification.
In this case, a person who is organizing a game has reached out to me.
There's a game on Friday at 7pm.
So, I can swipe down in the notification and see a quick map of where the game is, not far from the office.
And super helpful actions that I can tap.
So, I can say, I'm in, or out, or dismiss it.
So, let's quickly evaluate this.
Super readable, uses their brand shade of green really well.
That's soccer green.
Super concise as well, all the information is there in a swipe.
This is pickup soccer, which can be pretty spontaneous.
So, getting a notification about a game that might happen soon is also really helpful.
The fact that I can take appropriate action directly from the notification is pretty cool.
And receiving simple, informative notifications from an app that I trust about something that I love doing makes me feel pretty great.
It's pretty amazing to be able to act immediately without reaching into my pocket and pulling out my phone to respond.
So, what I've really liked about this is that they extended their app to the wrist in a helpful delightful way that made sense for what they do, organize soccer games.
I'm much more likely to continue to engage with apps like this when they reach out to me with valuable information and give me easy ways to take action or make decisions.
Okay, that's notifications.
Let's talk about apps.
So, the app as I said, isn't necessarily the center of the experience on Apple Watch, but obviously, it's important to consider what kind of experience you can provide in it.
Notifications and complications can feel proactive and predictive.
Apps on the other hand are best when they provide simple and direct actions, or tools, or information.
This is an app called Elk, it's from Singapore.
It's a currency converter that uses simple gestures in the digital crown to quickly figure out how expensive a thing is.
So, to be clear, the question they're answering this how much is this thing.
So, in this case, I'm in Canada, I'm buying something, maple syrup.
With a couple of swipes, there we go, we can swipe out some decimal places and a couple of digital crowns.
I can have increment it.
All right, one last tweak.
Is that right?
It seems kind of expensive for maple syrup.
So, what did they do well?
Well, they've allowed me to quickly calculate a price, and they've also kept it discrete, it saves me the embarrassment of not knowing that this is how much it costs.
It's very simple to do this with a couple of gestures, and they've also saved me some money.
Let's evaluate it.
Big type, legible.
All on one screen, concise.
Helpful and discrete, timely.
Totally trustworthy and helps me solve a real-world problem.
Awesome. OK before I turn it over to Jake, I'm going to take you through a quick app planning exercise where we will put to use the things that we just saw.
So, we're going to plan an app, from start to finish in just a couple of minutes.
Let's say Jake and I work for a company called SailBoss.
Now, that Apple Watch Series 2 is water resistant with onboard GPS, it seems like it's time to bring our iOS app to Apple Watch.
So, I open up Sketch and I grab an art board.
Start thinking about what we could bring over.
We worked on some cool graphs and visualizations for the iOS app.
It would really be a shame to not bring them over to Watch.
This one shows wind with an animated arrow.
It's pretty cool, right?
And this one shows swell.
This helps people understand whether the conditions on the water will be in their comfort zone.
Finally, there's the temperature of the air and water.
Obviously, there are plenty of other metrics that determine good sailing conditions; tides, and seasons, and whether Neptune is rising and setting, and so on.
But at SailBoss we focused on these.
So, now we want to take these graphs into a Watch UI.
So, back to Sketch.
Let's see if we can represent all the metrics that matter to our users.
All right I need to adapt the wind graphic a little bit to fit it in.
So, I've strung it across the top, because it's the most important.
And here's the swell.
Wow, that's pretty small.
Then we'll put the air temperature down at the bottom.
Can't really fit in the water temperature.
Let's see how we did.
So, it's like an iOS app but miniaturized.
I'm going to evaluate this against the four qualities.
First of all, is it readable?
I guess it's actually possible that it is readable in this room on this massive screen.
But on the wrist, no way.
We tried. It's just not readable on Watch.
Is it direct in answering the question should I go sailing today?
Graphs are nice and there's lots of information, but there's no way to glance at this and answer the question.
So, no. Is it timely?
I mean technically, I have the times listed across the top, that doesn't count.
It doesn't make the information itself timely.
And finally, personal.
In our little scenario, Jake and I know a lot of information about the users who use our app.
We know what their preferences are for their sailing conditions, but the UI is not really making this clear at all.
Ok, back to the drawing board.
We could just allow a chart or graph to take over the entire screen.
The wind seems like the primary thing.
So, let's start there.
We can even add the title up in the status bar, that would help with overall clarity.
Okay, let's test this out on a Watch screen.
Definitely more legible.
Seems like it could be pretty helpful to have on the wrist.
You launch the app and see the current wind conditions.
Actually, this gives me an idea.
This could be helpful on the face of the Watch.
A sailing complication.
It'd be a nice way to glance at the current wind conditions.
So, it's relevant.
It's information about the here and now.
Persistent information that's useful.
Now we're getting somewhere.
Now, not all apps have something like this, but I think this one does.
All right let's go back into the app.
We could include other graphs as additional pages, we can put some page dots in there.
And then bring the other graphs in.
With watchOS4, you can even launch the app on the second page, put the wind there and that would mean temperature and swell are both just one page away from the most important information.
I'll have to ask Jake about that one, but I kind of like that idea.
Still, it's complete, but it's not concise.
It would take much longer than a glance to see whether conditions were favorable.
And you'd have to be swiping back and forth, and tracking the time.
We could highlight the type range when conditions are favorable, right?
So, let's imagine that this is a user's preferences announced as a primary visual element in the graphs.
It seems like it's getting closer to being personal, but it's still not great.
You still have to do too much swiping back and forth and figuring out whether those highlighted areas are going to match up.
So, let's think about another element of the Watch platform, notifications.
I think they could actually be pretty helpful here.
I think we could actually create a pretty awesome experience with these given that we know about the conditions that people prefer.
We could fire off a notification when the wind, and temperature and swell all got into the comfort zone of a person using our app.
No need to launch the Watch app and swipe from page to page.
People can trust that SailBoss will let them know when conditions are awesome.
In fact, we could even include some graphics to show that the wind is in their comfort zone, highlighted and vivid SailBoss green.
And we could provide actions.
Simple stuff that could help us tune future notifications.
This would help us learn more about each person who taps each one of these actions, and therefore provide even more personalized information to them in the future.
Ok. In this example, we focused on a single feature.
A single question.
And we've arrived at what I think is a decent hypothesis for what we should build.
This is what I mean by planning for Apple Watch, clearly defining how your app will take advantage of the small screen, the context of use, and the Apple Watch platform components.
But, too much of anything is unhealthy.
You need to know how this lands with the people who you're your app.
You need to see how people use, or don't use your feature.
What they love and what they don't.
So, I'm going to turn it over to Jake to walk you through a real-life example of what we've learned over the past three versions of the WWDC app.
[ Applause ]
Thank you, Doug.
My name is Jake Behrens, and I'm the Apple Watch Technologies Evangelist.
Now, as well as being an evangelist, I'm also an engineer on the WWDC App.
At Apple we're pretty secretive about our development process.
But today I want to do something different.
I want to pull back that curtain and I want to give you a behind-the-scenes look at how we developed the WWDC app on watchOS.
Version by version, over the last three years.
Now, I want to share with you our experiences and our missteps along the way.
In doing this, I'm hoping to impart some things for you to gain insight on and areas for you to stay mindful of as you develop your own Watch apps.
Maybe you have a great app that's doing well in the store.
Or maybe you're just starting to think of creating one.
Either way, I think you'll come away with something.
So, our current app is optimized for watchOS 3.2, but to give you the full scope of where we've been and how we got here, we need to step all the way back.
All the way back to watchOS 1.
And the app that we created for it.
Now, when watchOS 1 was released, well WWDC 2015 was right around the corner.
And we were already preparing the iOS app for that year.
Now, this app would let you browse the schedule, add favorite sessions.
Look at the maps to the venue, read news throughout the week, and view streaming videos, or videos from previous years.
But, now it was time for us to decide what contextually made sense for the wrist.
So, we had these 4 areas.
First we had schedule, and the schedule was a no-brainer.
That was the most crucial piece of information that we could provide at a glance to somebody on the go.
Next, we had maps.
Maps not so much.
When you're at the actual conference, the venue is typically one building with multiple floors and different rooms everywhere.
And to get through that experience on Apple Watch, well we felt that that was best served through the iOS app.
And really, honestly, if you're staring that iOS app at the conference, you could also look up into the real world and see the signs around you.
I know it's farfetched.
But you can.
Then, we had news.
And for the time being we thought that news made sense.
We have critical information that we shared throughout the week, and so we wanted to make sure that somebody had access to that quickly.
More on that in a bit.
Finally, we had videos.
And videos, we cut right away.
It just didn't seem to make sense to have that long form video on your wrist.
Could you imagine holding your wrist for 40 to 60 minutes.
The arm gets a lot more beefier than the other.
So, we have these key areas.
So, let's look at the original Photoshop mockup that we made for Watch app.
You can see here that we actually took the schedule and we broke it down into three distinct areas.
We had sessions, labs and favorites.
And we also had the news.
Now, why did we break the schedule part?
Well, there was a lot of information to get across.
I mean at the beginning of the week, you'd have over 100 sessions, and over 100 labs.
And we wanted to make sure that someone could get around exploring all of that content really easily and quickly.
Now, full disclosure here.
This should've sent up huge red flags that we were putting way too much information into the Watch app experience.
We were trying to break apart all this content so that you could get in and out.
Well we'll talk more about this.
I mean, I can definitely sympathize that when you first start creating apps for watchOS, it's a whole different ballgame.
You're used to creating these deep, reach experiences for iOS and you start stripping things away for a great Watch app experience, but then you start feeling like you're stripping too much away.
And it's getting too minimal.
And you start feeling that maybe you should add more features to add "value" to that experience.
And we've learned over time that that's just not the case.
But when you first start out, that's a tricky scenario to get into.
So, we also had news.
Let's talk about that.
With news, we found taking that plan and actually implementing it and walking around for a week with it on our wrist, that you had these news items, but the items were a bit long.
So, we couldn't have just one gigantic list of them.
So, we actually needed to tap on news, get to a list of news items, then you tap on one, and go into the details, where then you had all this text that you would scroll through.
And just the whole process of going in that navigation structure and back out to get to your sessions, it was just taking too long.
So, we actually decided before release to even cut that out.
So, here's what we actually shipped for watchOS 1.
We shipped the sessions, labs and favorites.
Now if I were Doug right now I would say is this legible?
Yes. Is it concise?
Well, it wasn't as concise as it could have been.
So, we needed to learn from that experience.
Now, we had some built-in analytics to see where people were landing and what area of the app that they really valued to make it really personal for them.
And we found that they loved this list of favorites.
Even from this list, we had where you could tap on one of these favorites and then it would give you more detailed information; like the session description.
And you could use the force touch menu to favorite or unfavorite a session.
But, what we found was that that process was taking too long, and not a lot of people were using this.
They were all using that list right in the middle, because it was the things they cared about and it was really quick to glance at.
I mean we now know, as of watchOS 3 that really great tasks on Apple Watch take about 2 seconds.
And for a non-nervous, non-jittery person it takes about 2 seconds to say 2 seconds.
But, this whole process of going down the navigation stack and coming back up, it was actually taking more like 5 seconds.
And that was just too long of an experience.
So, what did we learn?
Well, watchOS 1 taught us that we really needed to identify what was most essential.
Find that single feature.
That one thing that you can provide for the person.
So, we moved from watchOS 1 and we learned.
And we went to watchOS 2 the next year.
And we needed to do one key thing in watchOS 2.
We needed to focus.
We really needed to focus on the feature set.
We needed to focus on the person and what they wanted.
We needed to hone in on those principles that Doug has spoken about.
And we needed to re-ask ourselves, what do people really want on their wrist.
But not just anyone.
What do people really want from the WWDC app on their wrist.
What is the one thing?
That one piece of information that we can provide them?
Well, we knew from feedback that they really loved the glance in watchOS 1 because it showed them this concise view of what was right now.
What was upcoming.
And they really liked that.
So, we knew that we needed to provide the schedule in some sort of way, right.
So, we looked at what we were offering here.
We had sessions.
We had labs, and we had favorites.
Well, as I said it was a lot of content if you wanted to explore.
So, we decided maybe we should just take sessions and labs out.
Maybe we should go all the way and just make it very, very personal of an experience and really focus on favorites.
We had this master detail navigation structure and so we looked at it spread out, and we just said, well this seems pretty straightforward.
We're going to take this navigation structure and just condense it down.
Get that list of favorites that everyone wanted.
So, this is what we shipped for watchOS 2.
We went down to only favorites.
And now, not only did we go down to favorites.
We also made it so that it was only favorites from now until the end of the conference.
So, this was something that we don't even provide in the iOS app.
This is a feature that is only on Apple Watch, right.
On iOS you can actually look at your previous favorites from the week, because you can get that rich experience.
You can explore.
But on the Watch, it really makes more sense to just have what's now and what's coming.
Another thing to note here is a small detail.
In watchOS 1, our table section headers above sessions, were dates, and time ranges.
Not very glanceable.
So, what we did was we actually made this more legible.
It's amazing what one word, the placement of one word can do for your apps experience.
You can see here that we used words like now and upcoming to show you what was actually going on.
You could quickly glance at the app and know, oh okay, I can't go for coffee right now because I'm actually supposed to be in this other session.
Later, I don't have one upcoming until further out, so I can go.
It's these small details that add to that personal experience.
Now, in watchOS 2, we took full advantage of complications, which were introduced in watchOS 2.
And if people wanted to have their favorites on their Watch face, they could enable the large slot on the modular Watch face and take advantage of that.
But we also wanted them to be able to get to our content no matter what kind of Watch face they used.
And we went through a lot of struggle of like, do we provide something that just launches them to our app, or what can we provide in these smaller areas.
And really when it came down to it, we found that with the information that we had, there wasn't anything that was amazingly valuable in that constrained, confined amount of space.
And so, we actually went ahead and used launchers.
But we made some custom ones for the different slot styles, so that you know it blended in a little bit more nicely with the experience, and we did this for two reasons.
The first reason I spoke about was that preference factor, right.
What if they use a different kind of watch face?
We want to allow them to do that and still have quick access to the content.
But, we did this for a second reason as well.
If you only support one or a few type of complication styles, then if they use a different type of Watch face, say utility, and we don't supply any of those types of utility slots of complications, when they go to configure their Watch face, they won't even see our app name.
And so, they may think, well I guess they just don't have a complication.
So, we wanted to be discoverable.
And fit in to how they use Apple Watch.
So, as I said, we provided launchers because this really is constrained.
You want to talk constrained, 36 x 36 pixels for this one.
Right? If you want to sound super fancy, you can say 18 points by 18 points at 2x, because it's a retina screen, but.
Here for watchOS 2 what did we learn?
Well, we learned that you really need to focus your feature set.
Really look at what you're providing and hone in on what means the most.
What's that one thing?
Okay, so now we go to watchOS 2 to watchOS 3, and where our app currently is.
So, if you look at the current app, you may even have it right now, it doesn't look a whole lot different.
Actually, if you look at it side by side with watchOS 2, you'll notice we didn't change the design at all.
And that's because we found something that was working really well, that was applying these principles.
But that doesn't mean that we just left it.
We moved it to the current version of the OS so that we could take advantage of what that offers.
Staying current and staying state-of-the-art, is just as important as adding new features.
You don't need to add new features just to add them.
So, what we did was, we added support for the extra-large complication that was now offered in watchOS 3.
And it's funny, when I put this in the build, there was a person in my team, and they first saw it and they're like oh, this is really cool.
And they were really excited and they're like yeah, WWDC is coming up I can put it all on my Watch face.
I was like great.
That was me.
But the point is that it adhered to whatever your preference is.
Whatever you want that experience to be, you can still get into that content quickly and easily.
Another thing that we did was, we made use of background app refresh, which was introduced in watchOS 3.
So, that if you added our app into the dock, or if you had it set as an active complication on your active Watch face, it would follow you through the day, updating the schedule and the time, so that when you went to the app for more information, it was already up to date.
And it already should be.
Timely. So, even though we've only had the app out for about two weeks, we've already learned that keeping what works is really important.
It's very valuable.
Like I said just moving to the current platform in OS and taking advantage of it is just as important.
Now, you may think that this is where we end, right?
This is our journey.
We're on watchOS 3, we're done.
But, as I said I want to do something different, and I want to go through this planning exercise and this thought.
So, let's actually look into the future.
With the announcement this week of watchOS 4, we're excited as well to use some of the new enhancements.
But, we really need to answer that question can we make this better?
Can we make the app experience even more concise, or even more legible than before.
And I actually think we can.
I've been kicking around some ideas.
Doug hasn't really paid too much attention to them, but we'll get there.
So, this is our current app on watchOS 3.
And one thing that I'd like to do is sometimes when you have a session title that's pretty long, it actually almost takes up the entire screen.
Well, what if we just used the entire screen per session.
What if we were able to bump up the text size to make it more legible.
Make it more concise so that it is only one session at a time.
So, this is kind of what I put together so far.
And I found that we can actually make use of the new vertical pagination introduced in watchOS 4.
And in the new vertical pagination, you don't have to have a master detail navigation structure.
You can actually just have those pages as the core part of your app.
And so, by doing this, we can increase the text size, so that we can use the full screen per session.
And allow the design to breathe a little bit.
Also, we can add in the track name.
And then, we can take those table session headers and we can move those up into the status bar.
And so, we can still have that experience of now, upcoming, tomorrow.
I think that this is something that could actually work.
So, this also gives us something else.
By going to this, we can improve Handoff.
We currently support Handoff, but as the current app is a list of favorites, when you use Handoff, you arrive in an iOS app at the list of favorites.
And that's pretty good, but I think that we can now take that a step further by focusing on one session per page, we can actually change the information per page that handoff uses and get you directly into the session.
So, that right when you swipe up from your lock screen, you can get into the app, you can tap the play button, and bam, you're right in the video.
I think that would be a lot smoother of a process.
So, like I said, we'll have to see.
We're going to keep looking at things and iterating.
It's funny because even when we were planning this session, Doug and I, we were texting back and forth, and we were saying, you know, do we actually need the favorites for tomorrow.
Does that really make sense?
And we have kind of gone back and forth on it of like how valuable that would be.
Or if it should be like a rolling 24-hour window or something like that.
I mean we're still continuing to iterate, just like you do on your apps.
So, you know, we'll see where we land for next year.
Now, we went version by version, but there are somethings that are evergreen on Apple Watch.
Take for instance, notification.
Notifications are one of the greatest pieces of Apple Watch.
I mean definitely for me when people ask me why I love Apple Watch so much, that's usually the one thing that I rave about.
It's like you get these notifications, and they're information coming to you.
So, we have notifications like these.
Take for instance CARROT weather in the US.
I set up in the app to get tomorrow's forecast every night at 9 PM.
And what I get is the app sends a notification based on my location and it takes over the screen and shows me in a very beautiful format the high, the low, possible precipitation for tomorrow.
And all I have to do is glance at that, and then I know when I wake up the next morning how I need to dress.
How I need to prepare for my day.
This is just coming to me.
Now, a lot of notifications that I get, they look like this.
This is the default.
Now the default looks nice and all but also look at this text.
It says check out the latest news update.
Well, that's not very helpful.
Now I have to go to the app and check out the news update.
OK is it relevant to me, I don't know.
I guess. But with only about four minutes worth of work, what you can do is you can open your storyboard in your project.
You can use the colors of your app and apply those.
And you can apply them like this to your apps name, to the sash, to the background.
You can use spacing, textiles.
Make it more legible.
Make it more visually interesting.
You'll also notice here that there's more text.
So that right when I get the notification, I know what it's about.
Now, pay attention here, because this text for the notification is actually custom written for the notifications.
Just for the notification payload.
Now, the news in the app could be longer, include more detail.
But this is the gist.
This is the important piece of relevant information that we want you to see.
I'm telling you.
If we work our way backwards, we can see the short look notification.
Now, this is what displays on Apple Watch, right when you feel that haptic and raise your wrist, when a notification arrives.
It has your app icon, bit and beautiful.
And it has your app name.
Now, notice the app name is in white.
Again, this is the default.
But with one line of code in your payload, you can use the title key value pair and what this allows you to do is provide some more context as to what this notification is about.
And so, what happens is this is what it will look like.
When it arrives on your wrist, it will have your beautiful icon, but it will also have that title string between the icon and your app's name.
And so, immediately, I can see is this relevant to my interests.
Can I look at this later?
Maybe I'm playing with my kids, or I'm in a meeting, right?
And the other thing that you'll notice is that the app name is in the primary tint color for the app.
So, it takes on more visual sensibilities of your app.
So, truly four minutes and one line of additional text, can take you from default notifications, to much more relevant, contextual, visually interesting notifications.
OK, so we've spoken about a lot today and planning is key.
Really think about that process of planning and designing your Watch apps.
I'm telling you this process should actually be the majority of the entire development cycle for your Watch app.
The implementation will be a lot smaller timeframe.
Then all the planning and design to really make a great experience.
Also. try to start simple.
You can see, even we made that mistake.
We thought we were starting simple, but we still had more that we could do to make it concise, to make it more personal.
Think about that in your own apps.
Finally, iterate, refine.
When the OS moves up to another version, take advantage of what you can, but don't feel like you need to completely reinvent your app just because it's the next version.
For more information please check out this link.
We've got links to our resources, the watchOS human interface guidelines and much more.
There are also some related sessions you should definitely check out if you haven't, such as "What's New in watchOS," you can see what you can take advantage of in watchOS 4.
With that, thank you very much.
[ Applause ]