Transcript
[ Applause ]
>> Good afternoon.
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.
Pretty cool.
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 focus.
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?
That's it.
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.
Get it?
[ 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.
It's timely.
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.
Terrible joke.
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.
All right.
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.
The complication.
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.
Showing progress.
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.
Incremental progress.
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.
Very legible.
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.
Pretty personal.
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.
All right.
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.
All right.
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.
All right.
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.
Not readable.
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.
Also, concise.
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.
All right.
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.
Seriously.
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.
That timeliness.
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.
App discovery.
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.
It's personal.
It's relevant.
It's contextual.
It's amazing.
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.
It's wonderful.
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.
Four minutes.
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 ]