Bummer! This is just a preview. You need to be signed in with a Pro account to view the entire video.
Start a free Basic trial
to watch this video
Web Designer/Motion Designer
37:44 with Val HeadWith the current state of CSS and JavaScript the web has significantly stepped up its animation game. As web designers and developers we’ve never had to understand animation principles like we do now. Smart animation comes from thinking like a motion designer when adding animations and transitions to our web work. There is a huge depth of knowledge we can pull from while we design and build the new UIs of the web! In this session we will cover key animation principles like timing, offsets, arcs, and others as they apply to UI work on the web. And we’ll demonstrate how to pull off common animation tricks of the trade in CSS. This is your crash course into becoming a web animation pro!
-
0:00
[MUSIC]
-
0:04
So all of us here, I mean everyone here today wants to be better designers.
-
0:09
We wouldn't be here in a dark theater on a Friday afternoon at a conference
-
0:13
freaking out over design things if we didn't.
-
0:15
That's kind of what we're in to.
-
0:18
As it turns out understanding the best ways to use animation will actually
-
0:23
make you a better designer.
-
0:24
It's totally true.
-
0:27
Taking advantage of animation lets us communicate on a whole other level and
-
0:31
it just gives our projects a kind of life and
-
0:34
depth that other design tools just really can't.
-
0:37
I mean, things like typing, color, and hierarchy are super awesome and
-
0:40
I love them, but they just don't have the same capacity to communicate as animation.
-
0:44
They don't have that same, essentially that whole other dimension of time.
-
0:47
I actually think that we should use more animation in our design work,
-
0:53
and some people think that's a really terrible idea.
-
0:55
Some of you might think it a really terrible idea, but
-
0:57
then why would you be here if you did?
-
0:59
But whatever, it could happen, I don't know.
-
1:01
But I totally understand that standpoint because due to things like, oh
-
1:08
I don't know, banner ads, skip intro, and other terrible crimes against humanity.
-
1:14
Animation on the web has a really bad reputation.
-
1:17
It just doesn't get enough credit.
-
1:19
I kind of feel bad for it.
-
1:20
Like, you're not all bad.
-
1:21
You can do good things.
-
1:23
I know you can.
-
1:25
[LAUGH] A lot of times when I talk about the idea of
-
1:29
using more animation in our design work, and more animation on the web.
-
1:32
People assume that we're going to end up with a whole internet that looks
-
1:36
like this.
-
1:40
And for anyone who's wondering what's
-
1:41
happening which is probably every single one of you.
-
1:43
I'm scrolling down the page and
-
1:44
everything's just flying in from god knows where for who knows why and
-
1:47
then when I get to the bottom I can scroll back up and do it all again.
-
1:50
[LAUGH] Yay?
-
1:53
It's like, hopefully, no one just lost their lunch over that.
-
1:56
But, more animation in our design work on the web can also mean things like this.
-
2:02
This is Stripe Checkout, if you've ever re-upped your Gerbil Pro subscription or
-
2:06
something, you've used it, and for many other things as well.
-
2:09
And when they designed this whole experience this whole
-
2:12
process of checking out with Stripe, they wanted to feel sophisticated, modern and
-
2:16
trustworthy and one of the main things they used to do that was animation.
-
2:21
And if you compared the total number of animations in that GoChat thing to
-
2:27
all the animations you see going through the whole process of Stripe Checkout,
-
2:31
you might end up at a really similar number.
-
2:34
Because the difference between these two kinds of animation isn't the number of
-
2:37
animations, it's not the amount of animations,
-
2:41
it's the design behind them, the idea that the ones in Stripe have purpose and
-
2:45
style, someone has actually thought about the design of those.
-
2:49
The ones in the GoChat thing, I honestly have no idea.
-
2:53
But the kind of animation that we want to use is the kind that Stripe has.
-
2:56
That's the kind we wanna have on our own work.
-
2:58
And really great UI animation has both purpose and style.
-
3:01
It's like both things have to be there.
-
3:03
You can have a really beautiful animation, but if it's there for no reason,
-
3:06
sorry it's not a great UI animation.
-
3:08
And if you have a really useful animation, but it's the ugliest thing I've ever seen.
-
3:13
It's not really gonna work either.
-
3:15
So today we're going to be talking about crafting a style and the look of
-
3:18
these animations, of getting those design decisions behind how to have style.
-
3:23
We won't be talking about useful places for
-
3:25
animation, cuz that's a whole other talk.
-
3:26
We'll be talking about how it looks and getting that style.
-
3:30
So the way, when it comes to designing the way animations look,
-
3:33
if we're web design people or if you're a web design person like me,
-
3:37
we don't have much background in motion design.
-
3:41
Generally that doesn't get taught in web design school, it doesn't get taught in
-
3:43
design school and maybe even if you do you probably haven't had to use it in like
-
3:46
a million years because we couldn't really do this stuff very well until recently.
-
3:51
So it's not something we're very familiar with in like a book smart kind of way.
-
3:55
But don't worry this isn't going to be one of those talks from like Zandra should
-
3:58
code and should product manage and run everything and
-
4:00
like Zandra should do all the things.
-
4:02
And you're like.
-
4:05
When it comes to this animation stuff it's a lot of stuff that we've seen a lot in
-
4:09
things we've watched like cartoons and films.
-
4:11
We just don't have names for it, but once we get the labels and
-
4:14
we start recognizing it and it's really not that big of a stretch.
-
4:17
It's not that much of a stretch from design.
-
4:21
And the place we get these design decisions or
-
4:23
how we make the design decisions behind this motion generally relies on
-
4:26
the classic principles of animation.
-
4:29
You've probably heard of the 12 principles of animation and if you haven't,
-
4:32
you might have heard of a company called Disney who effectively wrote the book
-
4:35
on that, which is this book, The Illusions of Life.
-
4:37
Written in the 30s.
-
4:38
It's about this thick.
-
4:39
It's pretty heavy. It's awesome.
-
4:41
It smells like old library.
-
4:44
And this is where the 12 principles of animation came from.
-
4:47
Though interestingly enough,
-
4:49
the book is this think and the 12 principles of animation is 20 pages.
-
4:51
So there's even more to it.
-
4:53
It's crazy.
-
4:54
If you don't like books, there's also like a Tumblr version.
-
5:00
Actually it's a really good summary of the 12 principles of animation and
-
5:03
what they mean and really good examples of them.
-
5:05
So these are the sort of things we rely on to make these design decisions and
-
5:08
apply them to the things that we're actually making.
-
5:11
And the reason or what Disney's animators were writing about in the Illusions
-
5:15
of Life was effectively trying to encapsulate all the techniques and
-
5:20
things they used to make it appear like these 2D hand-drawn things were happening
-
5:26
in real life, how they effectively created life on something that had none of it.
-
5:30
For us, our goals are a little different, because
-
5:34
I assume no one is actually hand drawing cel-by-cel any of their web UI stuff.
-
5:39
If you are, I'd love to know how that works out for you.
-
5:42
So we're dealing with computers and things onscreen, so our approach is different,
-
5:45
our tools are different, so not all 12 of these principles really apply to us,
-
5:49
and our goal isn't exactly the same.
-
5:51
Our goal is to have relatable motion.
-
5:53
We want to create motion that people see and
-
5:56
that makes it feel like this stuff that we built has some life to it.
-
6:00
Obviously, it's not really alive.
-
6:01
It's not real stuff, and we're not trying to make it look like real stuff.
-
6:05
We're just trying to make something relatable.
-
6:06
Something as humans who see things in the real world, might be like, oh,
-
6:10
yeah, that I kind of feel like I know what that's all about.
-
6:14
So I've put together a little example for us to apply this design thinking to.
-
6:19
Don't worry.
-
6:19
It has cats.
-
6:21
I know that you're like not allowed to demo anything on the web without cats so
-
6:24
if there's any internet police out here, I got cats, don't,
-
6:27
I don't need to be, you know no fines or anything.
-
6:29
And it's also the one that I did for the NetMag cover story.
-
6:32
So I've created a confirmation page confirming our reservation at a cat cafe.
-
6:38
Which, if you've never heard of those it's a place you can go, and
-
6:41
you can drink tea, and like, hang out with a million cats.
-
6:46
It's pretty awesome.
-
6:46
They have one here, not here, but in New York.
-
6:49
So I'm pretty excited about that.
-
6:50
And this is our little confirmation page that I made.
-
6:54
I mean, it's okay, it moves, but my problem is that or my problem
-
6:59
with it is that it doesn't really, there's no excitement there, right?
-
7:03
If we were to act out the motion, which I totally recommend you do, especially at
-
7:07
important meetings, he's effectively being like, your reservation's confirmed.
-
7:13
And that's kind of it.
-
7:14
And it should be more like, your reservation's confirmed.
-
7:16
Yes.
-
7:17
I'm excited to go to the cat cafe.
-
7:18
This is not exciting.
-
7:20
We need to fix that.
-
7:20
So let's take a look at some ways that we can fix it.
-
7:24
First, what's going on behind the scenes.
-
7:26
There's a couple animations happening like this one.
-
7:29
I guess we're a tiny bit cut off, but that's cool, whatever.
-
7:32
There's two animations happening.
-
7:33
There's a slide in and there's a fade up.
-
7:35
They happen at slightly different times and they both just kind of ease out,
-
7:40
nothing fancy.
-
7:41
The two set of key frames behind those are what's running them are our slide in and
-
7:45
our fade in.
-
7:46
They're super simple sets of key frames,
-
7:48
which is how I like to keep my key frames, the simpler the better.
-
7:52
So let's start taking a look at some of these animation principles, essentially.
-
7:56
How can we improve this, how can we get that energy in there, and
-
7:59
make this reflect the idea of like I'm totally psyched to go to the cat cafe, and
-
8:03
hang out with like 100 cats, and drink fancy tea.
-
8:06
That's totally what I want to do.
-
8:11
Timing really is everything.
-
8:13
Like completely seriously everything.
-
8:16
You may have heard that timing is the key to comedy, right?
-
8:21
It's also the key to animation.
-
8:23
So if we follow the logic, if we can master timing,
-
8:25
then we can be experts at both comedy and animation.
-
8:28
That's kind of awesome.
-
8:30
Oh, okay, nevermind.
-
8:31
>> [LAUGH] >> I think it's awesome.
-
8:33
You guys apparently have already mastered comedy so
-
8:35
we'll just talk about the animation part.
-
8:38
Timing when it comes to animation is essentially a thing that
-
8:41
makes objects appear to obey the laws of physics.
-
8:44
That comes directly from the Illusions of Life book.
-
8:46
They're trying to create animation that alludes to life and
-
8:51
things like physics and gravity exist in real life.
-
8:54
So you wanna have those in timing in your animation as well.
-
8:57
And for us, timing has kinda two parts to it.
-
9:00
The main part is the duration of our animations.
-
9:02
And if you think about things like how fast something moves suggest how
-
9:05
heavy it might be.
-
9:06
That's kind of directly how you get some physics out of it.
-
9:10
In a more subtle way, timing is also responsible for establishing kind of like,
-
9:14
the personality and mood of the way something is moving.
-
9:19
When we look at things that are moving and
-
9:22
we see things that are animated, and we have our normal human approach and
-
9:26
normal human brains, we try to make sense of the animation that we're seeing.
-
9:31
We're like, why is it moving fast?
-
9:32
Did something push it?
-
9:33
Is it heavy?
-
9:34
Why is it so bouncy?
-
9:36
What's going on?
-
9:37
We kind of, maybe not word for word like that in your head.
-
9:40
That might not be your internal dialog, it's generally mine, but whatever.
-
9:43
We wanna kinda create this story and
-
9:46
reason behind why something is moving the way it is.
-
9:49
Sometimes it's not really there but we just make it up.
-
9:51
And that's where we get this sort of mood, emotion and reaction to it.
-
9:55
Based on how something moves, and
-
9:56
in this case this is mostly controlled by our timing function,
-
10:00
especially in CSS Is the easing we choose can really effect this part of timing.
-
10:03
Some people call this aspect of timing spacing.
-
10:06
I don't really care what you call it, as long as you think about it.
-
10:08
You can call it Bob, you can start a new trend.
-
10:13
Anyways, so timing is super, super important, and
-
10:16
timing is essentially things like our timing function, and CSS.
-
10:19
So you look at the CSS key words for timing functions and there are five.
-
10:26
Five things to communicate all this important stuff.
-
10:29
We have to communicate both the key to comedy and
-
10:31
the key to animation in five things.
-
10:33
This is a load of crap.
-
10:35
It's not possible.
-
10:36
And then when you think about it more,
-
10:38
especially when you put on like your super skeptical sarcastic brain or voice.
-
10:42
You're like, well linear is completely mechanical motion that has the exact same
-
10:46
speed all the way through, and nothing in real life moves like that, so
-
10:48
if our goal is relatable motion that's out.
-
10:52
Four, and then ease is just really this kind of crappy version of ease and outs so
-
10:56
you probably shouldn't use that anyways.
-
10:58
So now we're down to three, and even if you don't think it's crappy it's basically
-
11:01
the same as ease and out, so we have three of them, and you're just like this is
-
11:05
never gonna work, but that is why we have things like the cubic bezier function.
-
11:10
Or as I like to call it, number barf.
-
11:12
>> [LAUGH] >> Yep, and
-
11:16
a lot of times we don't use these so much because we're just like, what?
-
11:22
Seriously, what?
-
11:24
Like, that doesn't mean anything to me.
-
11:25
Like, nobody talks about motion in this sense.
-
11:29
Even your most hovering of hovering art directors is not going to be like,
-
11:33
you know what this needs?
-
11:34
It needs more of a oh, point oh four six,
-
11:38
probably a nine oh five six, one point two, yeah.
-
11:43
Nobody does that.
-
11:45
That's not how we think at all.
-
11:48
The way we tend to actually, or thankfully, we can actually read these in
-
11:52
a much easier way, and that is with motion graphs.
-
11:54
And this is effectively the same thing we looked at with a number bar.
-
11:57
This is just mine, so we can read.
-
11:59
We plot the progression of the animation against time, and the start and
-
12:03
finish are fixed because It has to start at the beginning and
-
12:06
has to end at the end, that's kind of how this works.
-
12:09
And, if you're wondering, if you're super mathy, those four numbers in the cubic
-
12:13
bezier function are the X and Y coordinates of those two black dots, so
-
12:17
it's sort of like you have a very simple version of Illustrator going on here.
-
12:21
You can pull those control handles and change the curve, and
-
12:23
anywhere that the curve is very steep, it's moving faster, and
-
12:26
where it's flatter, it's moving slow.
-
12:28
So this here kinda starts slow, goes super fast in the middle and ends off slow, so
-
12:32
you've got some sort of ease and out.
-
12:34
And this lets us create basically any sort of easing we can possibly imagine, but
-
12:39
if we rather have someone make it up for us,
-
12:41
there are things like easing.net, which is pretty awesome site and
-
12:45
has the CSS cubic bezier equivalents to all of the Penner easing equations.
-
12:51
So if you used those before they're all here,
-
12:53
if you've never heard of them there's this guy Robert Penner who has apparently
-
12:56
divined all these easing equations and we use them for everything.
-
12:59
I kind of wish I was Robert Penner, anyways, that didn't make any sense,
-
13:03
but the interesting thing about these or, I guess,
-
13:05
the most notable thing about these is if you look down into these columns,
-
13:08
like all of those ones that start with ease in, whether it's ease in cubic quint
-
13:12
or whatever else, they have a really similar shape to the curve, right?
-
13:15
It starts off slow, ends up fast, but there are so many variations, like,
-
13:18
even here there's a bunch of variations, and then if we want to get really crazy,
-
13:22
we can go to places like cubicbetsy.com and make our own.
-
13:25
Drag the handles.
-
13:26
Do whatever you want.
-
13:26
And then when you're done with it, you can race it against other timing functions.
-
13:31
Yeah.
-
13:32
Pretty cool.
-
13:34
Great office game for you all on Monday.
-
13:35
Go to Cubicbetsy.com, bet one of your coworkers which one's going to win.
-
13:39
>> [LAUGH] >> Spoiler alert, always a tie.
-
13:42
>> [LAUGH] >> But they don't know that.
-
13:45
So you can probably get like, at least one free coffee or lunch out of that, try it.
-
13:49
Let me know if it works.
-
13:49
[LAUGH] So there's a lot of handy tools for creating these, and we kind of,
-
13:55
you could say we have almost no reason to use the basic keywords in CSS.
-
13:58
We should get a little fancier and do stuff like this,
-
14:01
be more expressive with the easing we pick, and to actually pick the easing
-
14:05
we pick instead of just being like ease out, like think about what you want.
-
14:10
So everything is better with
-
14:11
cubic beziers in case you didn't know that was the point.
-
14:13
The point is that everything is better with cubic beziers.
-
14:15
It's really great on like pizza, things like that.
-
14:18
Awesome, everything is better.
-
14:21
And normally the way we go and pick the cubic beziers for our cat confirmation,
-
14:27
or any project, we pick it out the same way we pick type really, right?
-
14:30
We might do something like, there we go, I was like why is that slide blank.
-
14:36
We might do something when we're picking type like think about what we want to
-
14:38
express or what we want it to say and then we pick a typeface that matches that,
-
14:42
or we might go to Photoshop and just pick everything on our list.
-
14:45
You an go either way with that when it comes to picking easing.
-
14:48
For this one, I'm like okay,
-
14:49
my biggest problem with my confirmation box is the energy is just not there,
-
14:54
he's all like, confirmed and I want him to be like, confirmed!
-
14:57
So, to do that i probably want an easing curve that kinda shoots,
-
15:01
over shoots this destination.
-
15:03
Kind of sticks out of the top, it does something a little bit more fun.
-
15:07
So i like to keep it busy and not, so
-
15:08
I went to cubicbetsy.com found this probably, messed around a little bit more
-
15:11
with different ones, but this is the one I ended up on.
-
15:13
And then I went and put it in my CSS code, so instead of that little ease out,
-
15:18
I was like cubic bezier, I added some number bar, yay.
-
15:22
Awesome.
-
15:23
And now our cat confirmation box looks a little bit more like this.
-
15:27
And he's like, hey!
-
15:29
So just changing the easing, we're getting a bit more energy, right?
-
15:32
This is feeling more like my excitement of going to hang out
-
15:35
with a bunch of cats and drinking tea.
-
15:36
I can tell that there's five of you who are also excited by this.
-
15:40
The rest of you, seriously, you just gotta get on board.
-
15:42
Cats and tea, come on.
-
15:43
You can have coffee.
-
15:46
I'm sure they serve coffee.
-
15:48
So we're one small step closer to making this a little bit better, and
-
15:51
we're giving it some more energy, just that kind of lover shooting and
-
15:54
settling back in, just feels like it has so much energy.
-
15:56
So much energy it can't stop, and that also conveniently
-
16:00
kind of fits in with the second animation principle of follow through.
-
16:04
Technically follow through means that not every thing stops at the same time.
-
16:09
There's I think it's a good story.
-
16:11
I'm not sure if it's a good story, but the way they explain this particular one is
-
16:15
they were like, I mean the Disney animator guys, cuz they were all guys.
-
16:19
Disney didn't hire women, there's a whole thing about that, but they were like,
-
16:23
showed some of their dailies to Walt Disney and were like, hey Walt,
-
16:26
we made this thing, and apparently, he went all hovering art director on them and
-
16:30
was like, you guys know that not everything stops at the same time, right?
-
16:33
And then they were like he's right and that's how follow through came about.
-
16:39
I've no idea if that's true, but I like the story, but
-
16:42
it also makes Walt Disney seem like kind of a jerk.
-
16:45
So maybe I don't like this story.
-
16:46
I don't know.
-
16:46
We'll decide later, but that's essentially what it means.
-
16:49
For us, since we're dealing with things that are generally square boxes that don't
-
16:53
really have parts, we kind of interpret follow through as being anything that
-
16:56
maybe like overshoots where it's going and has a little bit like,
-
16:59
whew, oh yeah, here I am.
-
17:01
That kind of thing.
-
17:03
So it's a loose general, a loose interpretation to follow through, but
-
17:05
we're gonna do a little bit more of that as well.
-
17:07
So that's two principles we've taken care of there.
-
17:10
And don't worry, we're not gonna go through all 12 cuz we don't have all day.
-
17:14
And for some reason, I decided to show it to you again in case you forgot it.
-
17:18
That's actually my cat, by the way, if you wanna hang out with him.
-
17:21
So random aside time, oh wow, it's random aside time already.
-
17:26
Half this talk is a random aside.
-
17:27
Anyways. [LAUGH] variables are awesome for
-
17:29
keeping your cubic beziers sane, if you share the opinion of number barf
-
17:33
like i do, I've never said number barf as many times as I have so far today.
-
17:38
Anyways, if they're hard to read and they don't make a lot of sense, so
-
17:41
instead of having something like this or instead of having those all over your
-
17:43
code, using variables like sass variables or
-
17:46
whatever your pre thingamabob of choice is, I like sass, you make some variables,
-
17:51
hook them to your cubic bezier functions, give them meaningful names, and then when
-
17:56
you go back in your code and you have to read the stuff that you wrote last week,
-
17:59
you can see things like this, and you're like oh, okay.
-
18:03
Is it a single list of numbers?
-
18:04
I know that's an ease out, and if I'm like super familiar with ease out back.
-
18:07
If it's like my most favorite ease out ever which maybe it is,
-
18:09
but I don't think it is, maybe it is.
-
18:11
If it was, I probably know exactly what that looks like.
-
18:14
If nothing else, I know it's an ease in, and more importantly if I've used that
-
18:18
same ease in like 600 times like once on like 20 and
-
18:21
once on like one million I'll know, because it has the same name.
-
18:25
I might not recognize the same set of four numbers, so
-
18:29
that's my super hot sass tip for cubic beziers.
-
18:32
Back to talking about animation.
-
18:36
The third principle I want to apply to
-
18:38
our confirmation little window guy is secondary action,
-
18:43
and basically that is anything that kind of happens to support the main action.
-
18:48
A lot of times, people explain it in cartoonish terms.
-
18:52
They're like oh, it's like a character whistling while he's walking.
-
18:55
Whistling gives you some idea of the mood, and why he's walking the way he is.
-
19:00
He probably wouldn't be whistling if he's going to fire someone, or something,
-
19:03
so he's probably happy, but it's not required for walking, at least, not for
-
19:08
most species.
-
19:10
I don't know.
-
19:11
On the web, we tend to completely ignore this idea,
-
19:15
that things have parts and those parts can move differently than the parent.
-
19:20
If you think about any like you know feature image slideshows or
-
19:23
like carousels you've seen recently, there's probably like an image and in
-
19:27
front of that image there's a box, and in front that box there's probably text and
-
19:31
maybe there's a button on that box in that box as well and
-
19:33
the slideshow happens like this, all those parts slide in, then they all leave.
-
19:38
And they come back with a different image, different text and
-
19:40
maybe a different button label.
-
19:41
And then they leave, all together, but like, why?
-
19:46
If we're having the same stuff come in and
-
19:49
out, why can't some of that stay on screen?
-
19:51
Why can't some of it move differently than its parent?
-
19:53
Why do we act like everything on the web is like etched into a pane of glass?
-
19:57
I don't know why.
-
19:59
I assume because we're just, I don't know,
-
20:01
it just seems to be like what everyone does, and we just keep doing it.
-
20:04
But we can break these things up more, and actually have them have parts, because.
-
20:08
Websites don't really have legs and arms and appendages usually, so to add a little
-
20:13
secondary action to our confirmation box, I'm going to have my titles and
-
20:17
text move in a slightly different way than the whole body of the box,
-
20:21
cuz that's the closest thing this box has to arms and legs, titles and paragraphs.
-
20:26
I'm not really sure what that metaphor adds up to, but whatever.
-
20:29
So do that I'm going to start by creating a second set of key frames,
-
20:32
which is really just a short version of my slide in key frames.
-
20:36
My slide in key frames goes from like 400 pixels, to its intrinsic place, and
-
20:40
my slide in short, goes from like 80 pixels to its intrinsic place, so
-
20:44
it's a shorter movement, same idea though.
-
20:46
And we're going to end up applying it, oh actually,
-
20:51
I can show you, we're going to apply it to our H3 and our H2.
-
20:53
And also to our paragraph,
-
20:55
we're going to apply them with a little bit of a delay as well, so
-
20:57
we're not going to start it at exactly the same time as the rest of our stuff.
-
21:00
So we'll give it a little bit more of extra follow through,
-
21:03
as well as that secondary action going on too, so it's like paragraph arms and legs.
-
21:09
And when we put that all together, it's like oh, hey,
-
21:12
it's sort of like he's got a lot more energy too, and he's like whew, yay.
-
21:16
And it's really more like a real person,
-
21:17
right, cuz if I was gonna be this confirmation box and I was like, hey,
-
21:21
reservation confirmed, my sweater and stuff moves and stops,
-
21:24
at a slightly different part than my hands and everything else, so.
-
21:28
This has kind of become life like with these just couple of tiny changes.
-
21:32
Like this thing that clearly is not alive or never happens in real life.
-
21:35
I mean I've never seen a box just pop out of the sky or air in front of me.
-
21:39
Maybe you have, I haven't.
-
21:41
But we've added a lot more to it to make it more relatable and
-
21:43
seem like something that could exist in real life, and
-
21:46
that's really what we're aiming for is just getting that energy and mood to it.
-
21:50
And suddenly this is something that instead of just being like,
-
21:53
transition all, we've actually designed it.
-
21:57
You're like, this is so much better, but there's always one more thing.
-
22:02
There's always, always one more thing.
-
22:06
Specifically for this, to speed it up.
-
22:07
And what I should really say.
-
22:09
Speed it up.
-
22:11
I should probably put like 700 exclamation points there,
-
22:13
but it wouldn't fit on the slide, so I stopped at two.
-
22:17
We have this tendency, when we're designing things, and
-
22:19
it totally makes sense, we're obsessing over all the details, right?
-
22:22
Like in the same way that you might spend like,
-
22:25
days picking the perfect typeface for something.
-
22:28
>> You might spend days getting the perfect like, motion and
-
22:31
just designing stuff, and being like, yes this is the easy I want.
-
22:34
This is how I want this all timed, out here's how all the parts work together.
-
22:37
And you stare at it for
-
22:38
hours, and hours, and hours, and you just want to see every little detail.
-
22:42
Because you want to see all of your effort there, and
-
22:45
the time it takes us to design that, and even examine all those little details.
-
22:50
Is the law longer than it take anyone to read it.
-
22:53
Anyone rlike eading that motion, and looking at what we've done, and
-
22:57
watching it later, they're going to get that same meaning that we've put all that
-
23:01
time into putting together, in a fraction of the time it takes us to look at it.
-
23:05
So essentially, anything you got, take the duration and
-
23:08
make it like half of what it was, maybe even smaller.
-
23:11
Again because, if you've been obsessing over it, it is totally too slow,
-
23:15
you just don't know it.
-
23:17
It's true.
-
23:18
Mostly I tell you this to save you guys super embarrassing stuff,
-
23:24
cuz the very first like heavily animated, or
-
23:27
like major UI animation project I ever had, was a kiosk for a hotel.
-
23:31
I was working at an agency, and we did like this kiosk stuff for a hotel chain.
-
23:35
I was super excited, it was my first lead design job.
-
23:38
I'm like, yes, I'm in charge, everything will be beautiful.
-
23:41
And we got to the point where the CEO people from the hotel were coming into
-
23:45
the agencies.
-
23:47
>> To see what the creatives have made for them, and
-
23:50
the big deal was like the CEO guy was going to get to use this kiosk for
-
23:53
the first time, and I'm like this is going to be great.
-
23:55
He's going to love it, and I'm going to be like the best person in the whole agency
-
23:59
ever, and like everyone will buy me beers, or something and it will be great, but
-
24:02
then he's sitting there crazy super serious suit guy.
-
24:07
Sitting there using this kiosk, and every time he touches stuff and goes to next
-
24:11
screen, he's getting more and more annoyed at how slow my animations were.
-
24:17
Suddenly it went from this thing I was like yes, and
-
24:20
was more and more embarrassed, and was like oh God, oh no.
-
24:23
He's not done yet, it's still going.
-
24:24
So I want to save you guys doing, living through that whether it's for
-
24:29
a hotel CEO or not.
-
24:30
So just make everything faster before you show it to anyone else, and
-
24:33
you won't have to go through that.
-
24:34
Cuz, kinda sucked.
-
24:36
Anyway, learned my lesson.
-
24:39
So, make everything faster.
-
24:41
And tis is kind of our version that's a little bit faster.
-
24:43
And it can maybe even be faster still, but keynote and
-
24:46
screen recordings have trouble, so that's what we've got.
-
24:48
And that's what we ended up with, we have something lively, something much more fun,
-
24:51
and I've probably convinced maybe five more of you to
-
24:55
be more excited to go to the catcafe, I've probably got at least a crew of ten now.
-
24:59
Yeah.
-
25:00
Definitely.
-
25:02
So some, one other part to the style of these animations is not just how they
-
25:06
look, but also how it behaves.
-
25:09
And I kind of took the easy routes and our example, well it
-
25:14
didn't really have anything we interacted with, but a lot of the animation we're
-
25:17
actually gonna be building, is stuff that people interact with.
-
25:20
And that kind of changes the way we have to look at our timing.
-
25:24
The speeding up thing is really important for that, of course.
-
25:28
If you are clicking on buttons and
-
25:29
they seem to like take forever to respond to you, that sucks and no one likes it.
-
25:33
Things like that are pretty obvious, but there's also some finer points, so
-
25:37
just some things to keep in mind for that part, of how to make sure of the behavior
-
25:41
of what you're creating, something that feels like it's nice to use.
-
25:44
So some helpful tips for that.
-
25:48
Ease outs tend to feel more responsive.
-
25:49
And that's kind of anything that starts out fast and goes slower.
-
25:52
And if you think about it, it's cuz like, ease ins are sort of like hey oh, what?
-
25:56
Did you want something?
-
25:58
And ease outs, that was ease in and ease outs are more like hey what's up?
-
26:02
I'll show you what I mean more specifically with buttons.
-
26:05
Cuz, I dont know, does everyone else act this stuff out in meetings?
-
26:10
I do all the time.
-
26:11
And sometimes people don't ever ask me back to meetings.
-
26:16
Either that or they're like get her to do it.
-
26:20
Anyway, the one on the left is an ease out,
-
26:21
and the one on the right is an ease in.
-
26:23
It's not as obvious when you're watching as when you're using it.
-
26:26
This guy on the left, he's our ease out and the right is the ease in.
-
26:29
You get this tiny little bit of a hesitation on the ease in button,
-
26:32
where he's like woah, what?
-
26:34
And, on one single button, doesn't make much of a difference.
-
26:37
It's a fraction of a second, right?
-
26:39
But across your entire site, or entire app, or entire whatever else you're
-
26:43
making, this adds up and can start making things feel a bit slow.
-
26:48
There's a great tweet, which I did not bother to put it in the slide, but
-
26:52
I will tell you about it anyways.
-
26:53
It's by Kenneth Boles, and he talks about when they redesigned TweetDeck,
-
26:57
he was saying that the one thing that he changed in this one update,
-
27:00
was he basically just shaved I think 0.25 seconds or
-
27:04
basically milliseconds off every transition in all of TweetDeck.
-
27:08
That's all he changed.
-
27:09
Only design thing he changed.
-
27:11
>> And all the people were like wow Tweetdeck is so much faster,
-
27:13
it's amazing you did a good job.
-
27:15
It was like all I did was change the transitions, but
-
27:19
because it was every single transition over the entire application,
-
27:23
you get that like perceived performance like Laura was talking about this morning,
-
27:27
like it just seems faster so that's important.
-
27:30
And then maybe you can do things like that,
-
27:31
where you're like all I did was change the transitions, and
-
27:33
be like yes, praise me for my work.
-
27:35
Because that's how offices work anyways.
-
27:40
At the same time, or I guess yeah at the same time more complex EASING needs to be,
-
27:45
Needs a little more time to be readable.
-
27:47
You might have noticed this if you were watching super, super closely.
-
27:50
When we changed the easing from like a straight up ease out to the thing, or
-
27:53
to the thing, to the easing that actually overshot its destination and went back,
-
27:58
I didn't change the duration, but it kind of felt like it was happening faster,
-
28:01
cuz there was more to read in the same amount of time.
-
28:05
I have a really awesome purple box that will also demonstrate this.
-
28:09
You're like okay, cool, whatever its getting wider on ease out,
-
28:12
pretty exciting, I'm so impressed.
-
28:15
Then we can go in and change this one thing about this, and
-
28:16
that would be the easing and just change it from ease out to a fancy cubic bezier,
-
28:20
that is actually the equivalent of a bounce transition.
-
28:22
And then once we finish saving that, and looking at it again,
-
28:27
It seems to happen a lot faster, but we didn't change the duration at all.
-
28:30
There's just more of that little bounce thing you do to read.
-
28:34
And if kept speeding this up a lot, we'd kind of lose that bounce bit, and
-
28:38
it would just look broken.
-
28:39
So, there's a balance between easing you choose and duration you choose.
-
28:43
Changing one kind of affects the other.
-
28:45
And this seems one of the reasons why timing is an art not like a,
-
28:48
no, you cant just pick one number and be like always,
-
28:51
always, always make your duration .15 or whatever.
-
28:54
because there's gonna be cases where that's not always true, and
-
28:58
we need to be like actual designers about it, and think about it and
-
29:00
kind of look at the over all picture, as opposeD to just looking at the numbers.
-
29:05
A shorter way of saying that, is prototype a craft out of everything you make.
-
29:09
The easiest way to tell if an animation you're creating is useful, or
-
29:13
if it feels right to use is to use it.
-
29:17
And that makes it especially awesome that we have tools like CodePen or whatever,
-
29:20
and we can just like hop into code, make like a crazy big box version of what we
-
29:25
wanna make, and be like, does this feel like something I wanna use?
-
29:27
Does this feel like it's responding to me?
-
29:29
Does it look like it has the energy and message that I want it to have?
-
29:32
Is it excited enough for a cat cafe?
-
29:35
That kind of thing.
-
29:36
Important questions to ask yourself.
-
29:38
I hope you all work for cat cafes.
-
29:42
It's yeah, you know, cats, they're awesome.
-
29:46
One other thing that is changed recently that made this all so much easier for
-
29:50
us, is we have gotten so
-
29:52
much better tools to do this with web animations in the last few months.
-
29:56
Like literally in the last six months, maybe not even that long,
-
30:00
our entire worlds have changed.
-
30:01
In March I was working on this project, and it was a super aftereffectsy project,
-
30:05
which means I was working in aftereffects, cuz aftereffectsy is not a word but
-
30:09
I just made it one.
-
30:10
And I was working with like a visual timeline and like the graph editor.
-
30:14
I could like move little handles around visually to change the easing and
-
30:17
it was beautiful and amazing and I was super excited and happy.
-
30:20
And then I was also really angry because we don't get to have that on the web.
-
30:23
And why can't we have that on the web?
-
30:24
And why can't we have that on the web?
-
30:25
Why does the CSS get that?
-
30:26
This might be another reason why I work by myself, anyways.
-
30:30
So, it's like, why dont we have these tools?
-
30:32
Then it's like wait self, because I talk to myself,
-
30:35
when I work by myself, in my office.
-
30:37
We do have these tools, we are totally getting these same kind of tools.
-
30:42
In Chrome, Chrome proper, even, not Chrome Canary, actual proper Chrome,
-
30:46
we can pause play and slow down all of our CSS and web API animations.
-
30:51
This is seriously awesome.
-
30:52
This one little line,
-
30:52
this one little draggy thing in the play-pause is like I shouldn't,
-
30:57
probably shouldn't admit how many hours of my life it is that I want back.
-
30:59
Because of it, it saves me so much time, like when we're doing things like
-
31:03
testing out whether all of the motion we want is there and if our animations
-
31:07
are all timed correctly instead of going in and changing every single duration.
-
31:10
We can just slow it down here.
-
31:12
Hours saved.
-
31:14
Perfect.
-
31:15
And this works on anything that is CSS animation or Web API animation, it
-
31:20
doesn't work on JavaScript animation, but you've got the console so, deal with it.
-
31:25
You get error messages.
-
31:27
Firefox has a really similar thing in case you thought I didn't like Firefox or
-
31:30
you hate Chrome.
-
31:31
They kind of split things out you get a play and pause for
-
31:33
each individual animation, and it's pretty awesome.
-
31:36
You can do the same thing, pause and play them, and scrub them.
-
31:39
Super, super, super helpful.
-
31:40
You can do more than just flip the Firefox logo, but I sort of like this video.
-
31:44
I'm like, ooh, look at it flip around!
-
31:46
He's so cute.
-
31:49
One better than that is in Chrome Canary.
-
31:51
If you hover over any of your easing functions,
-
31:53
whether that's a keyboard like ease out or some keyboard number you made up yourself,
-
31:57
you get this nice little modal thing.
-
32:00
This shows you the easing curve you've used and
-
32:02
an onion skin version of like kinda frame by frame of what happened and
-
32:06
you can edit it or you can just pick some other ones.
-
32:09
You're like, hey, maybe you wanna try this curve.
-
32:11
What would that look like?
-
32:12
So you can actually test out your different easing and see if you're getting
-
32:16
the energy you want or a different energy or a different field to it.
-
32:19
Write in dev tools.
-
32:20
Just click on a bunch of different ones.
-
32:22
And kinda, you can even sort of page through them, pick one you like, copy,
-
32:25
paste and done, hours of your life just saved there too.
-
32:27
And if you are wondering where this is all going, like why do they even,
-
32:32
why are they putting this in browsers, what do they care?
-
32:34
Basically where they are going with this, animation timeline, and
-
32:39
Firefox is working on something similar, but I couldn't find a video of that.
-
32:42
Where this basically is giving us, in layers, all the animations happening on
-
32:45
the page and little curves to show us the easing their using.
-
32:49
Plus, little lines to show us the duration.
-
32:51
It's pretty amazing.
-
32:52
It's like we have, finally, this visual control,
-
32:55
this visual indication of this stuff we sort of had no idea of before.
-
32:59
This one is kind of like pre-Chrome Canary,
-
33:01
they're showing it off a whole bunch but it hasn't quite showed up yet.
-
33:04
So we cant really use it yet.
-
33:06
Unless were super sneaky about it.
-
33:08
But it's like, this is so amazing, this is where it's going and these tools are so
-
33:12
much better than what we've had before.
-
33:14
Because up until this sort of point, if we're working with CSS animation,
-
33:19
and we like make an animation that is broken, we make a mistake.
-
33:23
We would never get error messages, that's silly.
-
33:25
Browser sees CSS that doesn't just it doesnt understand, it just ignores it.
-
33:28
So, if you made a mistake you would just see nothing,
-
33:31
and then you're like, well did I make a mistake?
-
33:35
Did I animate something off screen?
-
33:37
Did I just type something wrong?
-
33:38
And you would have no idea unless you just went and
-
33:40
spent hours of arbitrarily changing things or built your own debugging tools.
-
33:44
Both of those options suck.
-
33:45
These are so much better and I'm super excited to see these happening.
-
33:48
Makes our job so much easier and makes this so
-
33:51
much more of, just much more of an easier thing to use and easier thing to do.
-
33:58
So, to kinda continue on from the whole idea of like what you guys should do, or
-
34:02
what you want to do to make better design decisions when it comes to animation.
-
34:06
If there's more to it than just like getting the illusions of life, or
-
34:09
memorizing all 12 principles in the tumbler.
-
34:11
You can watch the tumbler a bunch, it's pretty fun, I like that one.
-
34:15
You wanna look into, you wanna look at other mediums that have been using
-
34:18
animation a ton and for like ages.
-
34:20
There's more than just the Disney folks.
-
34:23
They've probably been doing it the longest,
-
34:24
but other industries have used it as well.
-
34:28
Stuff like art of a title is a whole site dedicated to title animation,
-
34:31
and it's one of my favorite sites on the entire Internet.
-
34:34
Interestingly enough, if you read some of the stories behind these title animations,
-
34:39
the designers behind them start saying things like, we picked the typeface first
-
34:43
and went from there and wanted to have motion to match the mood of our typeface.
-
34:47
And they're talking about dealing with creating, communicating with type and
-
34:51
motion, and you're like I make typefaces and communicate with type and stuff too.
-
34:55
This is awesome.
-
34:56
So it's fairly similar workflow to the way we work on the web and it's just really,
-
34:59
really great stuff.
-
35:00
A little bit different than proper traditional animation, but
-
35:03
a really interesting read and some really fun things.
-
35:08
UI animation has existed in native mobile apps for forever and ever.
-
35:12
I mean we kind of always have to deal with the web being compared to mobile apps.
-
35:16
Right?
-
35:16
Like it doesn't do what mobile apps can do stuff that you can't do.
-
35:18
Blah.
-
35:20
That happens in meetings.
-
35:21
Right? Just a bunch of blah.
-
35:23
Anyways, [LAUGH] so we can actually kinda borrow somethings from them.
-
35:27
Captivate.com is one of my favorite gallery sites for looking at Native app,
-
35:32
UI animations.
-
35:33
Mostly, because kind of group things together, like instead of just showing you
-
35:37
one screenshot from the Flickr app they will show you like, three or four.
-
35:40
So, you can get, kind of an idea of the full system of animation and
-
35:43
how it fits in to the overall design.
-
35:44
And take a look at this sort of stuff, and
-
35:46
think about it of like what is this trying to say, what is it trying to help with?
-
35:50
Is it something I would want in my product or my app or my site?
-
35:54
And those judgments are really the more important part.
-
35:56
It's not just like imitate this stuff we can do in mobile apps.
-
36:00
It's like why?
-
36:01
Do I really want that?
-
36:02
Can I make it better?
-
36:04
Sometimes I think we can make the web better.
-
36:07
And go back and watch lots of cartoons.
-
36:09
Seriously.
-
36:10
[LAUGH] Gemma's on Netflix in case, if you're wondering.
-
36:14
Share is not yet.
-
36:14
Anyways, go back and watch these things with,
-
36:18
once you've read through the 12 principles of animation, whatever else.
-
36:21
Once you've started to pay more attention to these, kinda go back and
-
36:23
watch these cartoons that you have watched as a kid and
-
36:25
you can see how some of this stuff worked.
-
36:27
And I mean some of it is terrible,
-
36:28
low budget animation, but you can you can get the idea of just like
-
36:30
what they were like what they were trying to do and how they were doing it.
-
36:33
It's kind of an interesting way to go back and
-
36:34
relive your childhood, I think anyways.
-
36:37
But most of all,
-
36:38
remember that we are at the very beginning of the web animation, I guess like era?
-
36:42
I don't know. It needs a fancy name.
-
36:44
But things like CSS animation and
-
36:46
proper web animation that wasn't done with Flash and that isn't done with a plug-in,
-
36:50
it's like it's only been around for a few years, really.
-
36:54
And it's getting better and better.
-
36:55
We're getting better tools like I was showing you.
-
36:57
We're getting better support.
-
36:59
We can do more and more.
-
37:01
And there's kinda like this whole open space of all this stuff we can design and
-
37:05
make with this.
-
37:06
I'm excited to see what happens and
-
37:08
I hope you guys are too because I think there's some really,
-
37:10
really interesting times ahead on the web because of all this stuff.
-
37:15
So in case you wanna learn more about it, I've made a page for
-
37:18
you guys at bellhead.com/january2015.
-
37:19
Hopefully it will be easy to remember because that's where we are.
-
37:23
And I've listed some other resources you might wanna look into.
-
37:26
Some places to learn more about web animation,
-
37:28
to learn about traditional animation.
-
37:31
Some books, and some sites, and some articles for learning about this stuff.
-
37:35
Because it's, I don't know, I love reading about it endlessly and
-
37:37
hopefully you will too.
-
37:40
So thanks a lot guys.
-
37:42
[APPLAUSE]
You need to sign up for Treehouse in order to download course files.
Sign up