[MUSIC]
Thinking more about some different kinds of behavior that are associated with
a well-designed app, moving from launching and starting and stopping,
restarting, as we move from these high level design aesthetics,
down into the actual Xcode, we get to another issue of well-designed behavior,
and sort of conceptual ways of thinking about human-computer interaction, when
it is realized on a mobile application, like an iOS device in a mobile app.
The concept that I wanna talk about now is Navigation Styles.
There are few navigation styles that are common ways in which people
maneuver through applications that are helpful to the user in order to presenting
a common familiar experience, but also giving them the ability to have a good
mental representation of the abstract data that you want them to move through.
The abstract world that you're presenting to them,
to accomplish some kind of tasks or to do something fun.
So these navigation styles are at a high level, one
of the things that enables applications to become invisible user-interfaces.
By invisible user-interfaces, I don't mean that you can't see them,
and I don't mean that they're not there or that they're small.
What I mean is I mean that in a philosophical sense.
I mean that it's not that you can't see them, but
that these user-interfaces become so effective that they aren't noticed.
Well-designed user-interfaces become so
good that they become an extension of the user, and the user doesn't
realize that they're working with a user-interface, but they're working
through the user-interface in order to accomplish something important to them.
This idea of working through a user-interface requires you to be someone
who knows the platform well, who speaks to metaphors that the user already knows,
or ways of interacting that the user is familiar with.
And this is why it's important to use common patterns that are familiar from
other iOS applications and that derive from the human interface guidelines.
Let me just flesh that out a little bit more, that idea of invisibility.
If you think about using a hammer, when you're using a hammer and
you're hammering in a nail into some wood, or doing some project.
If that hammer is functioning correctly, and you're hammering the nail,
you don't even think about the fact that you're holding the hammer, it becomes
an extension of your hand and your arm as you try and accomplish some building task.
The moment at which the hammer head becomes loose though,
that's analogous to the user-interface being bad, you immediately start
thinking about the hammer and not about the task that you're trying to undertake.
If you drive cars, if you have a driver's license and
you're able to drive, you may be familiar with this process as well.
Because when you first start learning to drive, you're very aware of the car.
You're worried about the brake, you're worried about turning and turn signals,
maybe if you have a manual shift, you're worried about shifting the car and
all these things require you to move your hands and legs, and
head, and eyes, in different ways you never have before.
But after you've driven a car for
a little while, you notice that a lot of things become very routine,
you don't think about braking, you don't think about turning the wheel.
The car, because it's well-designed,
because it's been well-designed over many years of iteration,
it becomes an extension of who you are and you drive without thinking about it.
You drive without thinking about it unless it happens to be poorly designed.
You can't see out the windshield, the tire goes flat, that's not bad design,
that's just it breaking, or something else happens.
So a well-designed user interface can be like a hammer or
like a car, where it becomes an extension of the user.
So to do that,
one thing that is helpful is to think about different kinds of navigational
metaphors or structures that are common, that you can leverage in your app.