Transcripts
1. 00 Intro: This course is a
real deep dive into the world of
prototyping with Figma. We're going to
have a closer look at basic setup for prototyping. Smart animate,
interactive components, prototyping with
variables, as well as documenting and sharing our
prototypes with others. We'll start with the basics and learn how to
connect screens, set different scrolling behavior
and preview our designs. We'll then move on
to Smart animate the magic part when it comes
to prototyping in Figma. I'm going to show you all of
Smart Animate superpowers, and we're also
going to talk about the limitations and do
some troubleshooting. Once we understand
Smart animate, we're going to move on to set up micro interactions with
interactive components in Figma. Interactive components will save you a lot of time
when it comes to adding standard behavior to instances all
across your design. Once we add variables to create expressions and
conditional statements, you'll see Figmas true
power coming alive. I'll supply you with
plenty examples to explore in the
playground files. To round up, I'm going to show you tips and techniques for documentation and sharing
your prototypes with others. We'll take a look at
the documentation of interactive components
with in Figma, as well as external
design systems. I'll supply you
with a Figma file that lets you work
alongside me during the videos or return to exercises with detailed
instructions in your own time. This causes for you if you
have basic knowledge of Figma, or if you're an
advanced Figma user and want to improve your
prototyping skills. This is the course by
moon learning dot IO.
2. !!! PLEASE WATCH !!! New Figma UI in beta: Heads Figma has updated
its user interface, and you might see a new design
instead of the old one. This update is
currently closed beta, so not everyone has access yet. I will update the
arts and reflect the new interface once it's
available to everyone. The changes are mostly visual. All the features and
tools are still there, just in slightly
different places or with a new L. For example, the top tool bar has moved down. The left side panel,
on the other hand, has remained mostly unchanged. You can now change the
name of your file here. You can still see all your
pages, layers, and assets. On the right hand
side, you'll notice some changes when you
click into a design, but all the features
are still available. If you're a beginner and find the new interface confusing, you can click on the
question mark at the right bottom and temporarily switch
back to the old UI. This is no influence
on your design. This way you can follow along with the videos of
the course using the old UI much easier until you're ready to
transition to the new one. FIMA is gradually
rolling out this update. If you don't have access yet, you can also request
it from FIMA, but there's no guarantee, some of you might just have
to be a little patient. Your team admin may also have to enable the
update for you, so make sure you
check this as well. Figma frequently
updates the software, so expect changes and
be prepared to adapt. Features may move around like this library
button here has been at every possible place
in the last few years. But don't worry, nothing
will ever get lost, and you'll get used to be using FIMA in a much
more flexible way. It has a really great
focus on usability. So it's not about learning
something by heart, but understanding the
software as a whole.
3. MATERIAL: Download Figma File: You might want to
work alongside me, so I prepared some files for you to download in the course you're taking simply navigate
to project and resources. And there you'll find
all the information and the link where you can
download the material. On this page, you'll find
a variety of downloads. You can simply pick the
cause that you're currently taking and then just
click Download. And it will automatically
download the file for you. To import the files
you just download it. It's important that you
have a Figma account. Inside your Figma account, navigate either to drafts or go to a project
inside a team. Click on the Import button and you can choose which
file you'd like to load. It might take a moment
as they're quite large, but once you imported them, they will be on your
account and you do not need to
repeat this process. Inside the file. You
find material to work alongside me in the videos, but I also added some instructions
so you can always come back in your own time and
try out and practice. I am working with Google
fonts for most of my designs. So if you're working
with the Figma app, then you don't need
to do anything or Google fonts are
preloaded automatically. If you want to work with
Figma in the browser, then you just need to search the font that it's showing
you as missing e.g. Poppins, I use a lot. And then you can directly
download this font, install it on your computer
and you're ready to go.
4. NEW! Config 23 Updates: In late June 2023, during a Figma
conflict conference, a few updates to
Prototyping were released. Everything still
works as before. However, there are
few extras like that. We have an infile, a preview. Our prototyping menu is now visible right next
to our connectors. And we can prototype
with variables. Please make sure
that you're download the latest version
of the Figma file. Here you also find clearly mark what's new and where
to find everything. Let me quickly run you through
the new features so you aware of any changes
throughout the videos. So just as before, if you select any frame and you click
on the Play button, then this will open
preview for you. However, we now also have
another way to preview, which is if we click
on the little error, you can see Preview in file. So this means we get a little
preview window right in our file to see our prototype and Action
which is super handy. There is also a
shortcut for this. Simply hit Shift
and the space bar, and this will open the
preview window for you. And other changes that if
you click on any connector, then the prototyping menu
will now be right where your interaction is happening before this would open a
window on the top right. Inside the menu, you still
find everything as before, it just has a slightly
different layout. There are some new
elements that were added, which are variables
and conditions. Everything else has
been there before. I recommend if you want to use variables and conditionals in Prototyping that you first
familiarize with variables, which is a brand new
feature in Figma and I have a separate
course on this. And then you can jump right into prototyping with
those new features. That's pretty much it. Have FUN Prototyping
5. BASICS: 01 The Figma prototype workspace: So let's get started
with some basic around the workspace when
dealing with prototyping. So here we have
some design setups for mobile and some for desktop. And put default, we're going
to be in the Design tab. Next to the design tab, you find that Prototyping tab. Or you can also use the shortcut
to toggle between them, old 89, and by the way, zero would be inspect mode. So we're going to get to know this menu here in more detail. For now. Just know that if you
click on the gray canvas, then you setting the
overall prototype settings. So any device that
you want to set, gonna get to know more
about that later. And if you want to
change the background and that's going to be in
the presentation view, which we're going to have
a look at in a minute. If you ever select any
frame on your canvas, then you'll see that the
prototyping menu here changes. And this is where we're gonna be working most of the time. We're going to learn how
to set up different flows, how to set up interactions
and animations between different screen and even
within components sets. And we're going to talk
about scrolling behavior. And if you click here, then you're basically
going to jump back to your general
prototype setting. So this is the same menu as if I would just click on
the canvas background. Let's do that again.
I select any frame. Now you can see this a step further and prototype settings. So prototype settings is
just for the general setup before all the frames and
all elements in here. Now design file, this is where we're going to
set up the design and all the behavior
of our prototype. If we want to see our
prototype and action, then we need to hit the little Play button at the top right hand of your file. This then jumps to
presentation or preview mode. You hover over this. You're also going to be
shown the shortcuts. In my case, as I'm on a Mac, this is all to
Command and Enter. And you can see that this
is now opening a new tab. So in this preview,
you're going to see a single frame at the center. If you click on a
black background and you get some more
options up here so you could comment and share
comments with your team. And on the right-hand side
you get the sharing options. So with a link or by inviting, you can share and even get an embed code for
your prototype. And we're going to
talk about all of these sharing options in more
detail during the course. Here you have the
options of how you want your prototype
to be displayed. If you simply uses that, then you can toggle through the different options so you
can see different sizes, how you want it to be displayed. You can simply use
your keyboard keys to jump to the next frame, even if you have no
connections setup already. And note the order
that Figma users here. So this is really
handy because Figma actually picks the
first frame and finds, and then it goes through
the row of frames. If there's no more
frames and it's going to jump to the next
available frame. So this doesn't have
to be a clear role. It could be something like this, but Figma is going
to interpret this as a row and go through
the frame one-by-one.
6. BASICS: 02 Where should my prorotypes live? : Now where should you
set up your prototypes? Well, as we can jump
from the design to the Prototyping tab in Figma. You could just set them up
in your existing designs. That might be okay for a very small project,
but in general, I recommend that you make
a copy of your screens, then set up at least
an own page or even an entirely own file and
copy your frames over here. And I would now have
this designated place only for my prototyping. The reason for this is that if I'm working with prototyping, I'm going to set up probably
many versions and tweak my designs a little bit for prototyping to work
the way I want to. Meanwhile, I want my design
to stay pretty clean and just be an overview
of the existing pages. This is gonna make more
sense once we start building our prototypes and
also once we talk about documenting
different behaviors.
7. BASICS: 03 On screen device preview: In Figma, you can set
up a device preview, which is pretty nice. So if we select the screen here and let's jump
back to our Design tab. I can see that this green
is set up as an iPhone 14. I've, I jump back to
my prototyping menu. I can go to show
prototype settings. Or this is the same as if I simply click on the gray canvas. And then in device, I can choose the iPhone 14
from my preset devices. I can choose a color here, so let's just go for starlight. And I could also alter the
background color to my liking. So now let's hit play again. And you can see
that now my design sits inside this device. Be aware that once you
said a mobile preview, some triggers will change name. So click e.g. will
be called Tap, but it will work
exactly the same. Now, the only thing you
need to watch out for is if you're now going through
your different screens, that it's all perfect
as long as you keep on working on
this mobile size. As soon as you're reaching
your desktop view, which I have on the
same design file, you can see that it's
simply jumps here, but it's keeping those
prototypes settings because they're set
for this entire page. If you want to use
a device preview, I recommend that you set up a second page for prototyping. So I'm going to call
this prototype desk. And I quite like
adding some icons, but it's absolutely nothing
that you have to do. You can just copy them in. And I'm going to use this
little prototyping icon here. And now I'm going to call
this one prototype mop. So this is where my mobile
screen is gonna be. And I also like to do
sort of a separate app. If you're on the
free Figma plan, then you might not be allowed
to have that many pages. So then just leave
it all on one page and just don't use
the device preview. So now all I need
to do is I copy them over to my new page. And you can already
see that here. In the device setting
they're set to none. I usually leave desktop at none. But you could also
have a look if there is a device you want to use. So you can see 1280. So I have to check that would correspond to the MacBook Air. So I'm going to
prototype and I can now simply choose
the MacBook Air, and I would have this one here. Now as I'm playing, you can see that this page is
set up for the MacBook Air. If I'm jumping back and I'm
selecting my mobile view, then here, this one stays with
the device of the iPhone. So this is a really
important concept to understand that prototypes don't communicate
across different pages even if they're
in the same file.
8. BASICS: 04 fixed and scrollable elements: In Figma, we can set
up are designed in such a way that in
presentation mode, some elements of fixed
and some are scrollable. Let's have a look. Here. I have the design
of a mobile screen. I want the navigation
on the top to stay fixed while the
content scrolls. I have another Add
button down here, which are also like
to stay fixed. Let's have a look at
presentation mode, how this looks right now. If I press on the Play button, I can see my prototype. I can see that if
I try a scrolling, it absolutely nothing happens. So let's jump back
and set this up. For scroll to actually work. We need content that is
larger than the frame. So here I select the parent
frame called mobile. And on the right-hand side, you can see a little check
box called Clip content. If I uncheck this box, you can see that
my card group is actually much larger
than my original frame. And this is really important if you do not have content that you can clip and that will
basically overflow your frame. Then you cannot add scroll. You can have this
checked or unchecked. It doesn't make any difference. What do you need to do now is to jump into prototyping mode. So click on the Prototyping
tab on the top right corner. And then in overflow scrolling, choose vertical scrolling. Let's jump back into our presentation mode
and see what that did. So I can now scroll the content, but as you can see, my header and my button
here are not fixed. So let's go back
and set this up. Choose to element in my case, the header that you want to stay fixed and jump into prototyping. You will see under
positioned option to fix, stay in place. Notice that here on the child element you also get the option to set the
overflow behavior. So that would be that scrolling behavior within
this nested frame. In this case, we don't
want any behavior. We already said our
vertical scroll to the parent container. Let's also fix this
button down here. We're going to set
this to fixed, stay in place as well. And now let's hit Play and have a look what
this looks like. So my parent container scrolls nicely and all my fixed
elements stay in place. If you ever experiencing
scrolling not working, then make sure that you
check three things. First of all, in
your design tab, make sure that you have clipped content that is larger than the frame
you're dealing with. In the prototyping menu, make sure that your
overflow scrolling is set. Once you have the
parent element set up, now choose a child element
you want to fix in place, go to prototyping and then another physician choose
fixed, stay in place.
9. BASICS: 04 sticky elements on scroll: Sticky elements on scroll. You can also create
an effect at elements just stay sticky when they
reach the top of your screen. This is pretty much the same
setup as for fixed elements. So you need to make sure
that you've parent frame has clipped content overflowing
the frame for this to work. And this needs to be set
to vertical scrolling. Now unclip and then choose the elements that
you want to stay sticky. So in my case, this is the section called New and this section
called saved. And then I am jumping
back to prototyping. And now in position
instead of fixed, I'm going to choose sticky
stop at the top edge. What's important
for this to work is that you need to set up the order in your
layers panel in such a way that the position
that's coming last. So in my case, this
blue one here called saved is on top
of the other one. So it looks like
this one is first. But basically in my
layer hierarchy, in reality, this section two
is on top of section one. Now let's choose
the parent frame. Go back to Design clip again. And let's hit Play and
see if that is working. That looks just great. You might however, still keep your header at
fix and then have those sections stop below the header by simply
fixing the header. That would not work
because they would go after the same top edge. A little hack you
can use here is to draw a frame
around your section. So I called this here sticky. And then inside
you can see I have my normal section placed a frame around it
is a little bigger. So this distance here is the same distance then
the menu at the top. So I'm creating an
artificial offset. And I did the same for my
other section down here. So I did the same for
the blue one here. Let's clip this and let's
hit Play and have a look. And you can see that now it
buffers this little section, so it creates an offset to my menu and it's
working just fine.
10. BASICS: 05 Nesting frames for presentation: One of the great powers of
Figma is nesting frames. And this will also
unleash a lot of possibilities when it
comes to prototyping. So let's understand
this a little better. So here I have my
design and this is usually the screen that I'm
representing as a frame. And on here already
set up everything that I wanted to stay
fixed and scrollable. If I jump into my
presentation mode, I can have my scroll
up a prototype. So far so good. If I would however, draw frame around this one. So let's just draw a simple frame and let's give it another
background color. So we understand this
a little better. And I would now hit
my presentation mode. Then you can see that Figma
took the parent frame. So everything that is holding other frames
as my display frame. The great thing now is that everything I set
up in this frame. So all the fixed element and older scrollable elements
still stay in place. And we can make
great use of that. Because this allows us to present our prototype
in context. So what we can do, e.g. I. Set up here another frame. And on that frame I
can add a headline, some description bullets
describing my prototype. And I've also added an image, so a mock-up where I
will place my prototype. You don't have to add that. So now I'm going to jump over and copy my original design. And with it, a copy
all the setups, order scrolling and
fixed elements. And I'm going to paste it
inside my mock-up here. Let's round corners so
it fits a little better. So if I now select this frame and press
presentation mode, then it will show me
the entire frame. So the entire presentation
slides that I set up. And the great thing is that my prototype will
still be working. So it can really presented
in its environment. If you move your mouse to the top right-hand
corner of the screen, you get the Options drop-down. And he can choose
things like if you want a presentation to be fit to
screen for width and so on, whatever you choose here, if you then headed the
sharing prototype button, anybody viewing your
presentation with that link will then
have the same presets. You can also connect different
presentation frames. So just as a standard
prototype, this way, you can create a
presentation that includes a working and
clickable prototype. The size that this is a really amazing feature to wow everybody in a presentation, it's really great to understand how prototyping
and Figma works. Namely that you set the prototyping on the
individual frames. And this is something
that's going to help you a lot when we dive a little deeper into setting
up different directions.
11. BASICS: 06 Horizontal and vertical scroll: Let's investigate the
different scrolling directions in Figma a little further. So we have vertical, horizontal, and the combination of both that we want
to have a look at. Let's start with vertical, which is also the
most common one. Remember, for all of them, in order for scrolling to work, you need to have
clipped content. That means you need content
that overflows your frame. So if that is the case, simply jump into your
prototyping tab. And under overflow scrolling, set this to vertical scrolling. If we now hit presentation mode, everything will be scrollable. As we've learned before, we can also select
certain elements, jump back to Design and
fixed them in position. So if we jump back
to preview mode, you can see that now
the header will be fixed and just a body
would be scrollable. So, so far when ever we dealt
with scrolling content, we added to the parent frame. But the great thing
in Figma is then we can add it to any nested frame. So let me show you
the difference. First of all, let's select
the parent frame here. Jim, back to prototype
and take off vertical scrolling so
you can just set it back to no scrolling. Now, instead of
the parent frame, I'm going to select
the nested frame here, so the card group, and I'm going to set this
to vertical scrolling. So let's jump to our
preview mode and see if this works. Well. It's not really working it, this is where little
jumping movement, but it's not scrolling
this content. So let's see why that is. Now remember that we
need to clip content, so content that is
larger than the frame. In order for scrolling to work. Let's jump back to
our Design tab. We can see here that on the
parent frame that was true, our card group was
larger than the frame, therefore, it started scrolling. But now we apply the scrolling
to this nested frame. And you can see that
this is not going to clip because the frame that's surrounding it is actually holding that whole
content in one. So what I can do now is select this frame and I can
now re-size the frame. Make sure you activate
clip content. So you can see
that your frame is actually smaller
than your content. And I can now adjust it till the bottom of my apparent frame. So now let's try it again. Hit Play and you can see that now only the card
group is scrollable. Note how the search bar and everything else
stays in place. Understanding that you can apply the scroll behavior to
either the parent frame or nested frame is really important to unleash the
full power of prototyping. Let's have a look at
horizontal scrolling. So here again, we need to
select the nested frame, because if I would apply
scrolling to the parent frame, that would scroll
the entire frame. But I only wanted
this part here of the card group that has
horizontally stacked cards. Now let's try the
same as before. Simply select that group, go to prototype and change
it to horizontal scrolling. If I now press preview, that's again not
going to work and just gonna give me
this jumpy behavior. So let's do the same as we
did with the vertical scroll. Let's select a group. Jump back to Design and have a look what happens
with clipped content. I can actually unclip
the parent frame and then you can see the full
size of the nested group. So as you can see, this frame has the size that includes all the cards and
nothing can be clipped. So again, I'm going
to just select this frame and
re-size the frame. Now, if I toggle
clipped content, you can see the hidden contents. So now my content is
larger than my frame. Let's hit the play button again. And you can see that now my
horizontal scroll as working. Okay, so the last one is combining horizontal
and vertical scrolling. This is a typical
behavior that you would want on a map or
something like that. So if I unclip the
content of this map, you can see that it's actually much larger than the frame. So I select this map, which is a nested frame. Go to prototype, and select horizontal and
vertical scrolling. Now because the content
is already larger, I don't need to
do anything else. Simply select the
parent frame, hit Play. You can see that you can
move the map around. And because we're applying their behavior to
that nested elements, we could combine them. So we can have one scrolling
horizontally and vertically. And then we can add a completely different behavior
to the parent frame, e.g. so let's add some
vertical scrolling. So now as you can see, this is still in place, but I can also scroll
the entire content. So as you can see, applying this behavior
to nested frames really unleashes at the power of a mixing different
behavior in prototyping.
12. BASICS: 07 Linking screens: Linking screens and Figma is actually really
straightforward. So here I have a simple example. On this home screen. I have different colored shapes. And once I click on one
of these colored shapes, I wanted to jump to the
detail page for each color. Make sure you're in
prototype mode and then select any shape frame. Text, doesn't matter. Once you hover over it, you will see those little
bubbles appearing. You can just pick any bubble. It doesn't matter which
side you're selecting. Now, drag out a
connector and simply attach it to the frame he wanted to be connected
with and let go. And that's it. Figma will automatically open the interaction details
panel for you and he can further customize
your interaction. You can do this right away. Or if it's closed, just click on the connector or directly on the interaction in the panel and it
will open again. An interaction is always
made up of a trigger, an action, and a destination. So this is the top part
of this panel here. Onclick is our trigger that
are actin is navigate to. The destination is our
frame called Orange. Now I can alter
trigger action and estimation is simply
by clicking on them. So I could swap to trigger
from click to drag, hovering mouse enter and so on. If we want to change screens, then it's usually
going to be onClick. So I'm gonna leave
it at this for now and we're going to get to
know the others later. My action is navigate to. Figma also gives me the
option to swap overlays, close them and open
them and so on. Go back, scroll to an open links and we're going to have a look at this in a minute. Then the destination. I could also choose any other
frame from this drop-down. However, you'll notice as you're dealing with more frames, this is a bit tedious. So I prefer simply
selecting my connector and then choosing another frame simply by moving it around. Below is the animation part. So this is how our
things animated end behaving once the
interaction is happening. This is the fancy part, the part working set up
all this magic behavior. Things morphing into
one another and so on. Now we're going to have
a more detailed look, especially into Smart Animate. However, just a word of caution, micro-interactions
of really useful. However, I recommend that
you first make sure that your actual connection and your usability is working
and everything makes sense. And then later on with
your development team, you can think about
what animations and interactions you
would like to add. Because what sometimes just
a one-click and Figma, it's actually quite
difficult to set up and CSS. So just to have it
a little smoother, I'm going to go for the soul. He can set the time it takes to dissolve
into another screen. And we could also choose one
of the preset behaviors. Just going to leave it
at ease out for now, which is pretty nice. Let's have a look of
what that would look like in our preview. I'm going to select
the parent frame, and I'm just going to
add a mock-up around it. I'm working on an
iPhone 14 size. Okay, so let's hit Play. Here I see my home screen and if I now click on my orange shape, I can see that it
navigates to the sub page. However, if I'm
clicking on a bag, then nothing is happening. So let's set up the other
interactions as well. So let's jump back
to our Figma file. And here, first of all, I'm going to connect
the other tooth shapes. So I'm simply going to
drag out a connector. And you can see that Figma saved the presets that I just
used for the orange one. So this is really nice
and helpful usually. Now what I also want to do, if I click on back, I want to jump back
onto the home screen. So it's the same on
tab, navigate to home. And I can leave it at
the same behavior. So I'm gonna do that
for the other two. Um, by the way, if
you're wondering why it says tab and click anymore, That's simply because I
changed the device to iPhone. The action still works the same. So let's have a look
at our prototype. And that is working
just perfectly.
13. BASICS: 08 The back action: Let's talk about the back
action because this can actually help you to majorly
simplify our prototypes. So here I have an example
where I click on one of the shapes and then jumps
to the detail page. If I want to go back, I have a back button at the top. And that then again, it links back to the main page. Now that works just fine and you can absolutely use it like this. But there is a way that
you can get rid of all of these extra connections. Let's select our
back button here, then open our interactive menu. Here I can say onclick. And by the way, if you
set your prototype here, then this has gone to change. Two on top. Let me just show you
That's exactly the same. It's just if you
set a prototype is going to change the wording. So OnClick or on tab
instead of a navigate to simply choose back
from the Action menu. That's now going to jump back to the previously open frame. So let's have a look at this
in our presentation mode. And I can see that
if I click on here, I get to detail page, I click on back and I
simply go back here. So the same as if I have
a direct connection. Now a little tip, I can now either
select all of them and manually change
this to back. Or I can simply delete the connections and then have this one here
that I set up, copy it, and simply paste the behavior onto
any other element. This works because I'm
in prototyping mode. If I was in design mode, I would simply copy
the entire element. Now, back is fantastic, but don't confuse it
with a home button. Because as your design
becomes more complex, there is different places then navigate to the same screen. Therefore, back is really
there to always jump back to the last visited screen. And that's not necessarily
your home screen.
14. BASICS: 09 Scrollto: So, so far we've only been linking outside to
external frames, but we can also link to an
element within the same frame. So in my example, Let's just unclip the content. You can see that I have
down here a black square. So what I want is that if I
click on that black circle, that scrolls down to
the black square. So let's jump to
a prototype mode. And then I'm simply going
to connect my circle, not with an outside screen, but with the square on the same frame in the
interaction panel. You can see that onclick. And again, this is the
same as on tab if you have a prototype
set, scroll too. So this is simply
an action here. And then scroll to me. I simply named a
square scroll to me. Now here you have offsets
that you can also set and we're going
to have a look why we need them in a second. And just as with any other, you can choose
instant or animate. I'm going to go for animate because that's going to give it this nice little
bounds that you know, going to leave it at
ease out for now. Let's have a look at
our preview mode. So if I click on the circle, it scrolls down to
my black square. So place where you're going
to see there's quite a bit, is a one page or
website where you have the navigation that
doesn't link to separate pages, but two sections
within the page. So let's just unclip
the content here. And you can see that it
is quite a bit below. And he'll have my About
section and my new section. So what I want to
do now is I want to take the about from the menu, Jump to prototyping and then connect that navigation
menu with the section. And I'm gonna do
the same for news. So let's have a look in our preview mode of
that's going to work. So I click on About
Annette scrolling down, and if I click on new
sets, also working. But there's two things I
didn't like about this. First of all, I
have a fixed menu, so this is sort of
covering my About section. Also, if I click on blog, I need to go up because I
don't want to scroll back up. I want the same behavior. So back in my design, I first want to
connect the blog. I'm connecting blog with
my card group here. Now I want to fix this offsets. I know I'm going to
add some offset here, but I don't know the values yet. So in the about, my problem was the
height of the menu. So let's check that. And the height here is 90. So let's jump to the menu. Let's go back into
prototyping mode. And I'm going to add
an offset of -90. And I need to add -90. 90 because otherwise it
would push it further down. I wanted to go up. So that's why I'm adding
a negative value. And I'm gonna do
the same for news. And by the way,
you can also hold Shift and Command
and select multiple. So I could also just add the same value once here and
then have that for both. Now with a blog, I don't want 90
because I basically wanted to jump back
to the very top. So what I'm gonna
do is I'm going to zoom in here a little bit. And I'm going to measure
how much this value is. So this is from the very top to my section starting is 220. So in this case, I'm going to add
an offset of -220. Let's see if that works. So let's click on Blog. And yes, we're moving
all the way up. Then about is nicely scrolling down and news as also working.
15. BASICS: 10 Overlay: Let's have a look at
overlays and Figma. So perfect example of
an overlay is a menu. So it's basically
it's own frame. But if we click e.g. on work, we don't want the entire frame to
change this menu, but we want the menu to appear
below our navigation here. We've pretty much set them
up as any other connection. So let's select Work. Link over to the menu. And now onclick,
instead of navigate to, we choose Open
overlay, overlay menu. I can now choose the position. So center, top, left, bottom, and so on in relation
to the parent frame. Or I can also choose manual, which is what I would need here. I can now see this little
preview of my overlay and I can position it on
the frame as I need it. I can choose that it closes automatically when
someone clicks outside. So any area around here. And I could add a background for menu that doesn't
really make a lot of sense. So I leave it. And as usual, I can choose my animation. So I'm going to have this
also as dissolve as usual. Let's have a look
what that will look like. Let's hit Play. And I can see that if I click
on work, my menu appears. If I click again on work or
anywhere else on the canvas, is going to disappear again. So I can now simply
connect any of these sub menus here
to a new screen. Let's have a look
at another example. When clicking on the
subscribe button, I want to open an overlay that lets visitors subscribe
to the newsletter. Okay, let's select the
subscribe button and link it to the overlay and then
onclick open overlay. I want to keep it centered
and I wanted to close when clicking outside
because I actually don't have close icon here. I should have that
for good usability, but we're gonna go with just clicking outside
for this exercise. I also want to add a background. I'm actually going to
have this little darker, so at 50 per cent. Okay, Let's have a look. So here's my screen. I click on Subscribe
and overlay opens. If I click anywhere else, is going to close again. Now I have some more steps as my visitors add
their e-mail address. So as soon as someone
clicks in here, I'm going to say as soon as someone clicks into
the address field, I'm going to pretend
it's filled out. So I'm going to swap overlay
with this overlay to. Then as soon as they click
the Send button here, again, I'm going to swap overlay, and I just want this to go to
this confirmed screen here. So this just confirms
that everything was sent, but I don't want the visitor to have
to do another action. So what I'm gonna do here is I'm going to connect
this for now back to here and say after delay. So no action required
after delay of, let's say I'm just
going to put 2 s. It's going to navigate
back while I actually just going to set this
to close this overlay. Okay, Let's have a
look if that works. So click on subscribe. Then I add my e-mail, go. And after 2 s to
overlay is gone. There's just one thing I
don't like if I click here, if I swapped overlay, you can see this little flashes. And this is because here I am using this off and there is
a delay of 300 milliseconds. I'm going to swap
this to instant. And now let's go back
and have a look. And that should solve it. Perfect overlay done.
16. BASICS: 11 Linking to external pages: With figma prototyping,
you can only link to other pages
in your design, but also to external pages. So let's say in my navigation, everything links within my
design except the blog here. I want to link that to an
external existing block. So one way I could do this
is simply select this. If it's a text element, then click on the link up
here and paste the URL. If I have a look at this
in presentation mode, you can see that
it's now a link. And if I click on it, it opens the actual website. If you want to have
another link style and that is no problem. Simply selected text
and then YOU text menu, you can alter it to your needs. Now, this works
quite well for text. But the thing is that if I e.g. have another element,
let's say I have this card that I want to
link to a blog article, then I don't have the option to link it
because it's not a text. What I could do is use
my prototyping menu. So with this card selected, let's jump into the
prototyping tab. Now here I'm going to click
on plus next to interaction. So this is opening
a new interaction. If I click on that again, it opens their
interaction window. Now, I'm going to leave
this at Qlik for now. But you can already see that this also gives me the advantage that I could open an external
link with any other action, such as pressing a specific
key on my keyboard, mouse enter and so on. Then for the direction, I'm going to add open link at
the very bottom of my menu. And now here I can simply copy
the link I wanted to open. In presentation mode. If I click on this card, I'm now going to be redirected
to the external page. And by the way, this also
works the other way around. You can also copy the
prototyping share link. You can either do that via
the menu or simply press Command L and then link back from any external
page to your prototype. This is also a really
good way to link prototypes that are in different files or
on different pages.
17. BASICS: 12 Action triggers: Let's have a closer look at the different triggers
for animation. So here we have
our standard setup that we also been using so far. And it just works
perfectly if we just want to set up a
clickable prototype. So here we use onclick and we navigate to a new destination, which would be our
Detail screen. Now, with this little
drop-down here, we can see other options. So on drag is something
that in this case, it wouldn't make a lot of sense. So on drag is something you
find a lot on mobile screens. So here e.g. we have this switch between
articles and videos. And therefore I'm using on drag. So if I drag over here, then I'm going to
see the screen. And this is usually combined
with a push animation, something we're going to
learn more about later on. So inaction, it will be
something like this. I would drag to one side, get the videos and drag over
here to get the articles. Then we have a lot
of interactions like mouse and the mouse
leave mouse down, mouse up, and also while
hovering and while pressing would be part of that. This is really all
your different interactions with the mouse. Let's just say mouse enter and then navigate
to that new screen. That would also work here. So as I enter, I jumped to the new screen, but it wouldn't make
a lot of sense. So a place where you would use this and we're going to have a whole chapter on this is
interactive components. So here are the components
set with two variants, a button and then I say while hovering or let's
just say mouse enter. And it's actually
used while hovering. I am using Smart Animate here, which is also something we're
going to cover later on. And you'll see that
it doesn't navigate, but it changes too because it's inside of this components set. I can now pull out an instance. Let's just draw a frame around it so that we can see it better. And now as we hit Play, we can see that here
is my button and as I hover over it in an odd, it has this nice
little hover effect. A trigger that's used very little was actually
very impressive, is the keyboard trigger. So to show you an example, here I have a search bar and onclick that's going
to be filled in. That's also something we would usually solve with
interactive components, but let's just stay with a
simplified version for now. So now I'm selecting
this field in form now, now as I hit Enter, I want this to go to the result. So what I can say is
instead of onClick, I say key or gamepad. And now simply select
this field here and then press any key on your keyboard
and it's going to save it. So in my case Enter, I could have also pressed a e.g. then it will navigate
here and you can also choose the animation. So let's have a
dissolve animation. So let's see this in action. Here. I click on Search. Now I have it filled in. And now as I press
Enter on my keyboard, which you don't see, it's giving me the test results. The last one I want to
show you is after delay. And you might not always have
this for every situation. But if so, then you find
it down here after delay. And this basically simply moves from this screen to
screen after delay. And this becomes a
really powerful when later we will learn
about smart animate. So let's have a look here. We can set the speed. Let's set this to 2 s so that we can really
see our delay. And let's press Play. You can see it
takes its delay and then changes the screen. And this is also really
nice because you can chain it so you can
have different actions. Or you could also set
up something like a newsletter problems that would pop up after a
certain amount of time.
18. BASICS: 13 Figma animation options: Let's go through the
different animations that we have available in Figma. Let's start with the first
one, which is instant, and this is actually
your default animation. I actually don't use
this one quite a lot, but a good example where
I use it is a tool tip. So here I have an info
icon if I hover over it. So let's say what hovering. I want to open an overlay and I'm going to
have this open at instant. And let me just position
my overlay here. And now let's have a look. So
as I would hover over this, it would instantly show up. And I liked this to be
innocent and not have a delay because think about how fast people move
their mouse around. So you really want them
to notice that there is something more to explore. Another one that I probably
use most is the second one. So this is here on my list. Dissolve, the salt will
slowly fade in the new frame. You'll also notice that
you get more options. You can choose the way
it eases in and out, and also the time
that it will take. So if I set this one here, so this is milliseconds, let's set it to 5,000, so it would be super slow. And let's have a look at this. So let's click on
it and you can see this really slow transition
happening to the new page. Now when you start adding
animations to change pages, it's very tempting to add a high number here and make
it look a little more magic. But especially when navigating
between different pages, I recommend that you
leave it somewhere around this default
setting of 300. Because think about how
people navigate your page. They quickly want to jump
to different sections. So it's going to be
a real obstacle to always wait for a
slow transition. Let's have a look what
else we have here. The next one is smart animate, and this is a big magic one. Smart Animate looks for matching layers between your
original frame and the final destination. And it recognizes
the change and then applies a seamless animation. Because it's so powerful and a really big deal when it comes
to animation and Figma, I have a whole separate
chapter about smart animate. But just to give you
a little preview, Let's take this frame
and duplicate it because we need really identical frames. And then what I'm gonna do here, this is set up an auto layout. I'm just going to stack
those images here. So I'm going to select
this entire group connected with a frame. And if I click on it, I want to navigate to the other
frame with smart animate. And I said this a
little hired 800, so we can see it properly. So let's press Play. And I can see here
my stack of images. If I click them, there's
a nice transition. You can smart animate
between different colors, different sizes, positions, and it's
really, really powerful. Let's look at our
last transition, and this is the
moving transitions and you'll find them down here. We have move in, move out, push, slide in and slide out. Notice how with those
moving transitions, you have this little arrows on the right hand side and you can choose which way you
want them to move in. So from the top,
from the bottom, left or right, move
in and move out. They basically it's slider
frame in and out of the view. So this is really nice
for creating hierarchy. Push is really similar
to move in and out, but it pushes the frame
on the same level. Slide in and slide out is
very similar again, however, it will slightly offset
the frames as it dissolves while move
keeps its stationary. Best is to just play
around with them.
19. BASICS: 15 Sections and stateful design: Sections in Figma
are a great way to organize our design better
and create stateful design. Let's have a look
at what that means. So in my example here, I have a home screen. And on that home
screen I can press a sign up button that then leads me through an overlay with the registration process. So I can choose which
plan I want to have, add my personal details, choose a payment method. And then in the end
it's all confirmed. Let's have a look at
the actual prototype. So here's the home. I click on, Sign up. I can then choose any plan. I add my details. I sign up, choose a payment,
and it's confirmed. Now that seems all fine. But let's say I'm
starting the process. And then within the process, at some point I'm
closing my overlay. Now after awhile, I want to come back and finish my registration. However, if I click here, I'm always going
to be redirected to the very first screen. Now I don't want this, I want to go back to
this screen where our left and keep all the
information I already added. This is called stateful design. However, if we have
a look at our file, then there is no way that Figma can remember where I left. There is however,
a way around this, and this is where
sections come in. You find sections up here
under the frames menu. Or you can simply use
the shortcut Shift S. Just like a frame. You can draw a section
around a group of frames. We can now name this section, let's call it registration. And if you jump over
to the design tab, you could also change the
color of the section. As you will see here, you get some basic features, but there's no things like auto-layout constraints
and other features that you would see with frames. So sections are really there
for purely organizing. Sections are also ignored
by presentation mode. So if I choose a
section and press Play, it's always going to show me the first screen
within this section. Okay, great. Now we only need to
make a few adjustments. So let's jump back
to prototyping. And what I want to do is, I don't want this sign up here to connect to
the first screen, but I wanted to connect
to the entire section. So I'm setting up a new
connector and I'm saying on tab, navigate to, and I'm
leaving this and navigate to the section. I need to use. Navigate to open overlay
with a section will not work even though within the section I can keep
on using overlays. And now one last thing
I need to do it, which is a little confusing, is that I need to select all
my clothes buttons here. And I'm going to change them
from close overlay to back. This is going to allow me to jump back to my original screen. You could also just connect them directly with a screen
that is no problem. So let's have a look
at the prototype. So here we have our
home, we sign up, we choose any plan, fill in our details. And then here at
payment, we close. And then after a
while we go back. And you can see that
it remembers the exact stayed where we left and we
can just carry on from here. Now that we're working on our app and we're
adding more areas. We might have more sign-up
button from other places, but that is no problem. We can just connect them
to the same section. Now the only thing
we need to change is that once we finished a process, we might not want
to go back to home, but we might also just
want to have this set to back and therefore jump back to any frame that we came from. Let's have a look
if that's working. So here I'm starting the
sign-up process from home. I already added some details, but then I'm closing my overlay. I navigate further in my app. And then from some other place, I'm going back and you
can see that it remembers where I left and I can
just finish from here.
20. BASICS: 14 Easing and spring animations: Let's have a look at
the different easing and spring animations. Easing determines
the acceleration of a transition
between two keyframes. This could be the transition
from one screen to another, or a transition between
single objects. So e.g. changing color or
size when you're clicking. You'll see that transitions
are usually represented by graphs whereby time is the
x-axis and the transition, such as move in or slide or whatever you're
using is the y-axis. Linear is the default
acceleration and it's just a straight
line on your graph. So this means it will just
move in a constant speed. Figma has many inbuilt
presets that you can use. If we move from linear
to Ease In e.g. you can see that now
the animation starts slowly and then accelerates
towards the end. So here I have an overview of all the inbuilt
animations and Figma. So these are basically
just instances and you can see that I set them
all up down here. Let's have a look here at
this example is in and out. So I set a trigger
to after delay. And then it will smart
animate and it will use the ease in and out animation. And I just said 1 s so we
can see it a little better. And once that is done, the same is happening
backwards again. Okay, Let's jump back to our overview that
we find up here. And I'm simply going to select
this frame and press Play. Now let's just make
sure that we set this to fit width so we
can see all of them. And I can see all the
different animations next to each other. There is not one animation
as right or wrong. It's really about what
you're trying to build. What do you see down here? Gentle, quick, bouncy, and slow. Actually the so-called
spring animations. The difference between easing and spring animation
becomes a little clearer when we have a look at the custom options and Figma. Here you can see at the
last easing transition, we get accustomed busier. And if we pick that, you can see that here you get the curve that you can
now adjust to your needs. But it's really always
gonna be this curve. Now further down in my examples, I have the spring animation, then I have to custom springs. So let's have a look at this. Just as stiffness,
which is the number of bounces that the animation
can be adjusted to. I can adjust the damping which influences the level of
spring in the animation. And I can influence the mass. This will influence the speed of the animation and the
height of the bounds. So we can really pull
this curve and add a lot of bounds and a
lot of movement here. Let's have a look
what that looks like in our preview mode. So you can see you get this nice little bouncing
at the end of it. The best way to master
them is as usual, get ready and explore.
21. BASICS: 16 Flows in Figma: You can create multiple
flows in Figma to focus on different segments of your
prototype. It's very easy. Let me show you. If you have any design
setup with connections, then you will find at
least one flow there. Figma automatically sets
up your first flow. As soon as you draw
your first connector. You can simply select that flow and attach it to any
other frame you like. Note that it doesn't attach two sections but
only two frames. You can double-click
the flow to rename it. You can also select any
other frame and then simply in a prototyping
panel on the top, click on plus and
add another flow. Let's call this one home. If you click anywhere on your canvas while in
prototyping mode, you can see an overview
of your flows down here. So right now we have
registration and home, and note that order. So let's press Play and see what that does
to our prototyping. Now, on the left-hand side, you have a little menu
that you can show or hide. Here the first flow
is registration. So it's going to show
me the screen first. If I click on Home, then I'm getting to
the home screen. I can still access my prototype
just as I did before. But this enables our users. So if you're doing user
testing to jump to different regions
of your prototype. Knows how we can also
add descriptions. This is really
handy for testing. It's a little hidden. So back in our design file, select any flow and then you get this little edited
Description icon on the right hand side. If you click on that, you can add text. So now let's jump back to
prototyping and you can see that our common was
adding to this specific flow. Back in our file. If you click on the canvas, you can also reorder
all of your flows. So we could have home e.g. first, if you click on
the little select frame, then it's gonna jump. Show you this flow. This is really handy if you
have a lot of flow set up. Another thing is that you can share a direct
link to your flow. So if you want someone
to open directly, e.g. in the registration process, then you can just copy the
flow directly from here. Also, if you click on
play in a presentation, then it's going to jump
directly to this specific flow. Flows are really great way to add a bit of structure
to your prototype. If you're directly
sharing from prototyping, then it helps visitors
to understand the different sections of your design and
also with comments, you can guide them
through general testing.
22. BASICS: 17 Adding videos to prototypes: In Figma, you can embed videos. Just be aware that this
only works on a paid plan. So in InDesign, just choose any fill and then
via the Fill menu, select from the drop-down video. You will see a preview
image of the video, and you'll see the
little video thumbnail in the layers panel. For this to work, your video
should be in an MP4 format. Gifts also work by the way, and it should not exceed 30 mb. As videos or simply layer fills, you can also alter them just as you would with any
other layer fill. You can change the size, you can add other
elements on top. You can use mask crop and so on. To see the video being played, you need to jump into
presentation mode. To change the place settings, select the video, jump into
the prototyping panel. And then here on the video, you can choose whether
it auto plays or not, whether it should loop, and you can choose where the sound should
be played or not. To save yourself
some frustration, be aware that
currently videos are not supported on the
Figma mobile app.
23. BASICS: 18 Preview on your mobile: Figma has a fantastic
app that lets you preview your
prototypes on your mobile. Go to the Figma website
and on the products, you find the tab downloads. Within downloads, you
can either download the iOS or Android version
of the app to your phone. Once you open the mobile app, you're prompted to login. For the login, just use
your standard Figma login. It's actually
important that you use the exact same login as you
do for your working files. Otherwise, mirror is
not going to work. You will then see an overview of the files on your account. However, have a
look at the bottom right and click on mirror. Once you click on Begin mirror, this will mirror
any frame that you select at this moment
in your desktop app. Any prototype settings will automatically be visible here. I love having this open while working on
my mobile designs. This allows me to see and test my design in a more realistic
way while designing. Just make sure that you check that the size of
the frame you're designing on is actually the correct size for the mobile
phone that you're using. So in my case, I have
a physical iPhone 14, therefore, my screen is also
set to those I mentioned. The app will scale up
and down your design, so it will look real even if
you're using another size. However, this can really
lead to errors when it e.g. comes to testing
touch target sizes. You can also share your mobile prototypes
and via the link, make sure that you copy the link from the
presentation view. It will then
automatically open in the Figma mobile app if
installed on a phone. Again, make sure that here, the size of your
prototype corresponds with the physical size
of the phone being used. You don't need to worry
about resolution in this case because the
link goes back to Figma, which takes care of that.
24. SMART ANIMATE: 01 Understand smart animate: Let's have a look at the
magic part of prototyping with Figma and that is
no doubt smart animate. So what Smart Animate does is that it takes matching
layers between different frames and
then recognize as the differences and
animates between them. So let's play with
this a little. So here I have two
frames and I'm simply going to connect them by setting smart animate to 2000 milliseconds to seconds that we can really see the animation. And I'm returning the favor
so we can click between them. So the first thing
I'm gonna do is I'm going to show you how
we can change the position. I'm simply moving my shapes. Now, let's click
presentation mode. And you can see that
they will nicely animate to their new position. Okay, Let's have a look
at what else we can do. The other thing we can do is
that we can change the size. So I'm just going to drag this a little smaller down here. And I'm also going to
make some changes here. I'm going to just enlarge this triangle and
squeeze it a little bit. And now I'm going to
leave it like this. And now let's have a look. I'm going to click on
my square and you can see that they're not
only changing position, but also adapting and size. Now, obviously the thing that we also want to
change is the color. And we can simply
change the fill anywhere between our
different frames here. And it will smart animate
between the new color. So let's click here. And you can see the color software changing
from one color to the other. We can also adapt rotation and this is
a really nice effect. You can use. Just make sure
to not overuse this effect. Let me adjust this a little
bit and let's have a look. So you get this
really nice twisting. One last little thing that's
really handy is if you want something to seem
like it appears from nothing and set it to zero, you do need it on
the first screen. Otherwise it's not
going to work. But if you set it to zero, then it seems like it's
appearing from nowhere. So in Figma, fancy
animations such as this, actually really
simple to achieve. And this is in
Figma, not as CSS. So all we really need
for this is e.g. for this twisting menu is that here we have a
menu with two lines. And then our cross is made
up of the exact same lines. Simply turned around and made
a little longer at one end. Then our background that appears is simply a
hidden background. Let me just change
the opacity here. And you can see
that this is simply a square that is growing
into a larger background. And I made this invisible, and therefore it seems like
it's appearing from nothing. Then our links that appear
to slide in from the left. If I unclip, then you can see
that they're on the frame, but they're moved outside
of the visible area. And with animation
is simply moved back onto the frame
into that position. So all that we need to do now
is jump to prototyping and then connect this menu
here with our new screen. And we'll leave it on
click Smart Animate. And I have 1 s here. And then if I click
on the menu again, it's going to jump back
to the original frame. And that's all I need to set
up this fancy animation.
25. SMART ANIMATE: 02 Smart animate and moving animations: We can also combine smart animate with moving transitions. In my example here
you see two screens, one containing all
articles and the other one containing all videos on
the top there as a filter. Now what I want to happen
is that if someone swipes to the left than
the videos or this place, and if they're
swiping to the right, then we're going back
to the articles. So I'm going to select
the article page and then drag out a connector. And I'm going to say on drag. And I want this to be pushed in. I could use move and actually, but I'm gonna go for pushed
in this case and now have to consider I'm pushing
to the left. So I want this to
move into the left. Now, from here, I'm going to
do the same and I'm going to connect this and I'm
going to say on drag. And now I want to push to the right and then
show articles again. So let's have a look in
our presentation mode, what that would look like. So I am dragging to the
left and I have my videos. And if I drag back my articles, so that looks pretty nice. But what I don't like is the top here my filters
are also swapping. I actually want them
to stay in place and simply activate the
corresponding filter. If I jump back to my design here and select my connection, you can see that as soon as
I choose a moving selection, you can see that I get this little tick box here called Smart Animate matching layers. And I'm going to activate this. And I need to do the same for the connection going
back to my articles. So let's have a look
what happens now. If I now swipe, you can see that my
menu is smart animating the rest of my design is still using the moving animation. For this to work, make sure that you
check two things. First of all, the
elements that you want a smart animate, e.g. in my case to filters are
set up exactly the same. So they use the same hierarchy and they use the
exact same naming. The part that I don't want to Smart Animate is
named differently. So this group is called
articles, and this group, which is actually
quite similar instead of instructor, is called videos.
26. SMART ANIMATE: 03 Limitations of smart animate: So smart animate is real magic, but it comes with
a few limitations. So as we learned, we can animate colors, size, position,
rotation, and so on. But what we cannot animate is going from one shape
to a different shape. So here I drew a square
and here I drew a circle. And now let's see
what would happen if I would smart animate this. So you can see as I click it, it still does animate nicely, but it doesn't really
grow into the new shape. In this specific case, there's a little
trick I could use. I could simply
select the square, copy it, and then let's
paste it here again. And so instead of just
drawing a circle, I'm going to turn this
square into a circle. So I'm going to use round
corners to do that. And now let's just change the color so we can see
this a little better. And let's jump back
into presentation mode. So now as I click, you can see this is working, but it is only gonna work
for a square turning into a circle if I would
want to turn this into a star or into a triangle, anything else that
would not work. What might also
cause you trouble is if you change the naming. So here I have two frames
holding a group and a frame. So this one here is the frame, this one here is the group. And they have identical content. If I smart animate that, then you can see that
works perfectly. Now let's go back and
change the naming. So I'll call this
one here group X. And I'm going to call
this frame here, frame y for that. And now let's play again. So even though the
hierarchy and everything, all the naming inside the
group stayed the same, the not recognized
as the same anymore. And that's also the case. If I keep the group and
the frame names the same, but change the name
of the content. And let's just add a little x here at the
back where each of them. And now you can see
as I animate again, the group itself animates
but not the content. So you need the same hierarchy, naming for everything to match. A little trick if you want
to see if things are set up in the same naming and hierarchy convention
to be smart animated, simply select any
element and you will see in the other frames
which one will be matching. So here you can see this
one is now matching. Now if I change the naming
and we selected again, you can see that it's now
not matching anymore. Let's return to
the original name. And now it's picking up. So this is a really nice way, especially if you have
hundreds of screens to quickly check if something
is out of order. Another limitation that
you might encounter is that when you're
opening an overlay, then you cannot smart
animate this shape. So e.g. here, everything is called ellipse one and it's
all the same shape. But once I say
onclick open overlay, you can see that in
the animation menu, I can choose between
incident and dissolve, but I cannot select
Smart Animate. So when opening and overlay, it cannot grow this bubble into the bubble on the overlay. However, once the overlays open and I am dealing with
swapping overlay, you can see that now a
Smart Animate is active. So let me show you. So here I have my home screen. I click on my circle and
it will open the overlay, but it won't smart animate. Now however, I'm on the overlay, I'm just swapping overlays. And you can see that now
smart animate is working. Another area that might
cause you trouble is background fills with
moving animations. So here I have a simple example. If I click on this
red rectangle, then it moves this
detail page in. And if I click on x, then
it moves it back out. And note I don't have smart
animate activated yet. So let's have a look what
that would look like. So if I click here, that moves it in, click
on x, moves it out. Seems pretty nice.
But what I want to do now is if I click here, I want the x to stay in place and be smart animated
with the menu. So that's very simple. I simply select my connectors
and set smart animate. So simply take that
little box here. But if I now play it again, you can see that it
works for the menu. But I'm having this
strange transparency happening in my tradition. To fix this, Let's go back here and select the target page. And then I'm simply going
to press R and draw a rectangle as sort of
a second background. And you can also name this. The best is to name this
background animation so people don't get
confused about it. And now let's have a look again. I press Play. And now you can see that
now it's working perfectly. So does this just a little
trick you have to use to make background transitions
work with smart animate. So let's sum up. You
can smart animate, color, size, position, rotation. And you can combine smart
animate with moving animations. You can not smart animate
into another shape. So e.g. a. Rectangle
into a star. You can not smart animated
when opening a new overlay. Make sure you have the same
naming and hierarchy for smart animate to kick in and be aware that background fills
with moving transition and Smart Animate will not
animate automatically.
27. SMART ANIMATE: 04 Let us build a smart animated app: Let's put what we've learned
into practice and let's build this photo filtering
app with smart animate. But let's start from scratch. So here we have the screens that we're going
to start off with. We have a home screen
with a filter and images as well as a menu
and a detailed screen. So what I first want to
set up is a splash screen. So I'm going to copy the
home screen over here. And I'm actually
going to get rid of everything except my menu. Now I'm selecting my menu, I pressed it K
button for scaling. You can also open skating
from the menu up here. And now I'm going to scale this Menu button up and
place it in the middle. I'm going to select
the menu strokes, and I'm going to
set them to zero. So this is gonna look like
they're going to like sort of fade in with the animation. Now the other thing I want to do is I'm going to copy this again. And here on my
very first screen, I'm going to twist this. And now I'm going to change
this into a animation. So I'm gonna jump
to prototyping and I'm going to take this
first screen here, connected and then
say after delay, because this is a splash screen. So I want us to
start automatically. And I'm going to set
it to smart animate. And I'm going to leave
it at this transition of 1.5 s that I have from
another animation before. And I'm gonna do the same here. So now let's have a look, what that will look like. Let's press play. And you can see the
splash screen turning. And actually we have
to go back here. Let's see why this is
not jumping over here. So this is still set to tap. Let's set this to after delay. And then let's
have a look again. And now it should be working. So turning, and then it's moving up and my menu is appearing. Right? Okay, next thing, so the
next thing I want to set up is my filters. So I'm going to, first of all take the screen and I'm going to set
my scrolling behavior. So let's have a look. If I set a vertical scrolling. So let's have a look what
that will look like. So this would move the entire screen except
my menu which I fixed. However, I really want this, I only want this part to scroll. So there's different ways
you could approach this. If you had more
content down here, then it would make
sense to actually fix this upper part as a header. However, as I only
have the images, I might as well take
off the scrolling from my main frame and then set up scrolling on this part here. Now remember for scrolling to work and you can see I've
already got an error here. I need the frame to be
smaller than the content. So I can resize this
and just be a little careful because I actually have this setup as auto-layout. So sometimes it's behaving
strangely and you might manually have to change it
from hug to fixed height. In this case, it's
working quite well. So now if I jump
back to my preview, you can see that
this is now having the behavior that I'm after. Okay, great. Let's set up the
rest of the filters. So I'm copying over
two more pages. Make some space here. And then let's have a look. Okay, so what I want to do now is on this one I want
to activate latest. So I'm setting this to 100%. And I am going to move
this little bar over here. And I'm setting this to 50. And I'm gonna do the same
for the last one here, set to active one to 100%
than the inactive one to 50. You can simply press the
number and then it will, as you can see here, turn
it into a percentage. And I'm also going to move this bar because I'm
using the same bar. It's just going to
move around once I use smart animate
on this navigation. I also want to change the
way the images are shuffled, so I need to select those ones here and unclip so
I can see them all. And now the great thing is
as a setup with auto layout, I can simply select an image and with
the up and down key, I can move them around. So let's do the same
for the last screen and just shuffle them randomly. Let's move this one up here. Okay, great. Now be aware we just unclicked
all of this content. So if I now jump into
preview mode and I scroll, then you will get this
scrolling behavior. So make sure that you select them all again and clip
the content again. Now, let's do the same again. And you can see now that
behavior is working again. Okay, so now what we
want to do is we want to set up that connections. So if I click on latest, I wanted to jump over here and I want to use smart animate. And I'm going to
leave this also at quite a slow animation so
that we can see it properly. Now I'm gonna do the
same for popular, and I have to do it with
those greens as well. So jump back to show
all from here go to popular In my last screen. The same. Actually this
one goes to the first one. And then this one
will go over here. Okay, so let's have a look. If that's working. This is set up entirely in smart animate and
you can see that not only the navigation here are our filters are
working nicely, but also our images
are being reshuffled. We could also the
speed a little bit, but I'm going to
leave it for now so that we can see it better. So the last bit
we're missing now is our detail page over here. What I want here is I want
some images in a preview, then I have my text and I
want a little closing button. There is different ways
that you could set this up, so feel free to play
with it yourself. Okay, let's start
with our images. So I'm taking this here and
I am copying the images. I'm deleting this place holder and I'm pasting them on here. But I want them to be
stacked horizontally. So S is a setup
with auto-layout. I'm simply changing
the direction. Let's unclip the contents
so we can see it better. And I can set this to a hawk. And now we have all the
images here in a row. I don't want to display
all of them, just a few. So I'm going to delete
these ones here. And now in order to set this
up as horizontal scroll, I have to make the
frame small n. This is what I was
talking about. Sometimes this will
be a little strange. This is because we're
working with auto-layout. So what we can do is we can
set the horizontal to fixed, and now we can adjust it. In this case, I also have
to change the alignment, and now I can change this. I actually want to
adapt the spacing a little bit so we
can see that there is more content
coming for scrolling. Actually, let's set
this back over here. And I am adding a little bit
of a padding to the left. Now I'm selecting this frame and I'm jumping to prototype. And notice how this is giving me an error because obviously there is no vertical
content to scroll. So as soon as I change this
to horizontal scrolling, now it's going to work. So let's have a look that's
doing what we wanted to do. So here's my content and I
can horizontally scroll this. Okay, great. Now I want to add
my button here, and I want this to be
not a menu anymore, but a closing button. So I copied it over. What I'm gonna do is
I'm going to select, I have to jump two. I'm still in prototype mode. I need to go to Design. And now I am adjusting these
lines from a menu to an X, so to a closing sign. So what we wanna do now, we want to connect this image
to open the detailed page. So let's jump to prototype, and then let's select
this and go over here. But what I don't want, actually, I don't want all of
this to smart animate. I want this to be pushed in or moving.
I'm going to choose. And I'm still going to
keep Smart Animate here selected because I want
the menu to smart animate. Now, let's see if that works. And little hint, it will not, but I'm going to show you why. So let's pray. Let's press Play. And then I am pressing this detail and it's
actually looking nice, but it's smart animating
every thing here. I don't want this. Why is it doing this? So you can see here that
this group is called images, and this group here
is called images and actually has a very
similar order. So I need to change the
name here so our color on a call, this image's detail. So now let's have a look again. So now let's press
on that image again. And you can see that
now it's moving in, but it's doing this
weird thing like this bit weird transparency and actually it's not closing. So let's fix that as well. Okay, So first of all, here, let's add an interaction
and let's say on tab, go back to wherever
you came from because we're going to connect
some more images here. And then the other thing
that we want to do is here, I actually wanted
this to move up, but it had this
strange transparency. So what you need to
do here is you need to draw a separate background. So I'm drawing a
white background here and I'm simply going
to add white and move this. This, this was sort of
an extra background into in my order here, my stacking order
to the very back. So this is really only
there for sorting out this little weird
transparency with my animation. Okay, so let's have a look. If that is working,
let's press Play. And now that looks just great. And if I press the X, have a look how nice that
animation is working. So here we have our
moving animation. And as we still have and smart animate set within
the moving animation, our menu that has
the same naming in the same hierarchy is
working with smart animate. So let's have a look and
set up our final design. So the only thing
I want to do now is let unclip those here again. And let's actually
look for this image. I'm going to move
it up a little bit. And now I also want to connect
this to our detail page. So here That's still has the animation that
we set before. From here. I'm
also joining this. And then I'm going
to clip those again, a little extra tip. Sometimes we might want to have elements stacks and
then opening up. So you can also do that if this is set up with auto-layout. Now, I can go down here and set the value to
a negative value. Then my images as stacking. And you will see now how on
one screen they're stacked. And once we choose
any other screen, then they're going to open up. Okay, so I think our
app is finished. Let's run through
the entire setup. So we have our splash screen. It's moving up here,
turning into an animation. Here you can see our stacking. And once I go to
any other filter, you can see that
it's on stacking. And then we can click on our image and we get
our detail page, which we can open and close. So we can also access this detail page from any
other point of our app. And because there's a setback, is also going to go back to
the page where we came from. So as we can see, it
only took us 10 min to set up this entire
Smart Animate app.
28. SMART ANIMATE: 05 Animate with purpose and code in mind: Now it's easy to get carried
away with smart animate and Figma because it's just
so easy and amazing, but always animate with
purpose encoded mind. So let's make sure we remember
a few important things. One, we designed for purpose. So every decision we make in our design should have a
purpose and guide our visitors. Animation, especially
micro-interactions, such as Hover states for
our button and so on, play a really important role
in our user experience. Let me give you an example. The principle of common fate. That means that two or
more elements behaving the same way are perceived
as part of a unit. Think of an accordion. If I click, I want this to open and click again
and it closes. I've learned that it works
this way and I clicked on one. So I expect all of the rest here to work exactly the same. So it'd be really
confusing if I clicked on one and suddenly an
overlay would open. That's the same for all
elements are using. So all buttons on
your page should look and behave
exactly the same way. Too. Don't overdo it. I know Smart Animate
it's flashing magic, but don't overdo it. Don't just add a
little bit here and a little bit there because
everybody says, wow, when you use it too much, we'll actually be
this encouraging and contribute to your visitors
cognitive overload. Make sure your design works in a simple clickable
prototype at all times. And that does not mean that animation should be
an afterthought. Think of a scrollable menu. I can click and then
jump to the section. So that works. Now I can add a smooth scrolling animation guiding my visitors
to this section. This helps me to
understand where I am and how to get back. So it really improves my design. Do I need elements flying
in and out while animated? They're probably not. Smart. Animate is not code. And this is really, really an important one
for several reasons, e.g. what might be really easy
and just one-click with Figma Smart Animate
might actually be really difficult if you're using
something like CSS animation. And also the other way around, they might be great
possibilities out there that you simply
cannot show in Figma. So that doesn't mean that
you need 20 meetings about every harvest aid or clickable box that you're
designing with Smart Animate, have a good idea that before you start to check in with
your development team, ask if there's a
person responsible for animation and you can plan
together from the beginning. Also ask if they're using a specific animation
library and you can familiarize with the
documentation and get realistic idea from
the library showcase.
29. COMPONENTS: 01 Interactive components: So far we've used animation
between different frames. And now I'm going
to show you one of my favorite features,
interactive components. They're basically
re-usable animations set inside your component. So as the name states
for this to work, we need components or rather components sets
with variant inside. If you're not
familiar with this, a variant said is
basically two components, two or more components actually. And you can see I use
naming convention, button forward slash default
button forward slash hover. So they're of the same
family that just a different state of the
same thing really. And then over here on
the right-hand side, I can say combine as variance. And the great thing
about this is if an arm pull out
an instance here, then you can see that
within this button, both instances are just
saved as different states. Across my design.
I'm going to use many instances of
those elements. So I can not only save the different states they
have within this instance, but I can also save to behavior. So I need to be on my prototype
settings and then e.g. to save a button behavior. So a hover state I
want to add and simply connecting my two buttons as I would do before with
any other frame. And now you can see
that in my menu it says OnClick or I'm gonna change
this to while hovering. And it has changed to set. This change to here
is only going to be active within
components sets. Now, I can use instant
dissolve or smart animate. I'm going to use smart animate
as it's simply a color. Now let's have a
look what this does, so that we can view this
in our preview mode. I need to draw a frame. And I can now add an instance
of my button to this frame. Now let's have a look. As I hover over my button, you can see that I have
this behavior safety and this is gonna be the same
wherever I use this button. Okay, now I want the
same for my switch here, but I want this to
be dragged over here and then turn
into this switch. Now in this case, I don't want the entire switch
to be activated, but I wanted to take
this little bubble here. So I want to take,
select this bubble, draw out an animation and
you'll see it will say onclick. In this case I want
on Drag change to, and I'm going to smart
animated over here. Now in this case, I need
to return the favor. So on brag, It's going to turn back into
my original state. Now what I'm gonna do is
I'm going to drag out an instance places on my frame. And let's have a
look of that works. So here's my toggle. I drag it and you can
see that it changes. The color was smart animate. Now I can animate between
more than just two. So here I have this check box and I'm going to drag
out a connector. And I'm going to
say onclick change to smart animated this. And then from here, I'm going to say go over here. And if I check again, then it's going to go
back to the beginning. Let's drag out an instance
of this checkbox. I'm actually going
to drag out a few. And now let's have a look. If I play this, make this larger,
I can check it. If I press again. It's like this. And so I can use this
across my design.
30. COMPONENTS 02 Nesting interactive components: Just like with any
other component, you can nest animated
components and combine them. So here I have my
button and my switch. If I go to prototype, we can see that they already
have their animation setup. And then I have another
component, a list component. And what I can do now, let's just drag over any instance from
this toggle switch. And I'm now creating an
instance of my list item here. So you can see that
this switch is nested. So if I click on
Original component, it jumps back and shows me the nested animated component
or variants in that case. And I can now just
to drag out a few. And let's combine
this into a frame. You can actually right-click and then go to frame the selection. So let's add some content and
let's also add an instance of our button down here,
Sita, background fill. Let's add this down here. And then a can, of
course, overwrite this. Let's add some images
with the Unsplash plugin. I'm just going to go for
some portraits here. And now let's have a
look and play this. Now you can see that
I can individually adjust those toggle buttons. And also my button is working.
31. COMPONENTS: 03 Easy hover and zooming animations: So interactive
components are also a great helper when it comes
to creating hover states. Where before we needed
to create many frames, we can now simply
add the animation to our component in any override would inherit that behavior. So here I have my card, default and hover state. So now I'm going to simply
in my prototyping menu, add wide hover, change
to and smart animate. And I'm now going to drag
out instances of that card. I can now override the
images and the text. For the images. I'm using
the Unsplash plugin, but you can use any. Let's have a look at this. So you can see that as I hover, they all inherited to
default and harvest date. But I can still add some more magic here
because remember, I can also smart animates size. So all I'm doing is
that in the default, I leave the image at
its original size. And then over here
on the hover state, I'm just going to slightly enlarge the image and
change your position. And now let's have a
look what happens. As I hover. I'm getting this really
nice little zoom in on the images. Working with interactive
component when it comes to harvest aids is
going to save you a lot of time beforehand to create a simple hover
carousel like this. You needed this
amount of screens. Because every state, so every
time it this would enlarge, we would otherwise
have to create an own page and then
link back and forth. Now, all we need is this, because what we have
here is we have an interactive
component that has an animation of while
hovering change tube. And then here we have simply
instances that enlarge node. If you want to use images that enlarge by using smart animate with
interactive components. And then next to one another, you need to add auto-layout. So here you can see I haven't
auto-layout around this. That means when this
image here enlarges, then it's going to push all the other images
out of the way. Another great thing is, let's say I want
to add something to all of those instances. Then I can simply add
this to my variant here, and it's then going to be
represented on all of them. So let's play this again. And you can see that
I have the plus, the only thing I don't like, it's sort of disappearing in a strange way instead
of simply dissolving. So remember we're smart
animate Figma is looking for the same elements
in hierarchy and naming from the start, the end. So that's exactly
the same between frames or within
components sets. Let's copy just this layer
that are called cross. And let's also add it
to our destination, even though we don't
want to show it here. Let's adjust the size to fit. And I'm going to set this
to zero only to cross. Okay, let's play this again. And now you can see the
cross is nicely disappearing because the smart animate is working within
the components set.
32. COMPONENTS: 04 video interactions: We can also use
interactive components to create video players. So in my example
here you can see that I simply embedded a video. So in my presentation mode, you can see that it is playing, but it's always
going to be playing. I want to change
this to having a still and only when I hover over it or after delay or whatever trigger I want to,
it starts playing. So what I'm gonna do
here is I'm going to create a second one. I'm going to detach the
instance, call it hover. And I'm going to turn it
back into a component. And I'm now combining those two into a component
set with variants. And I'm just going to add a
little bit of transparency. And what I want now is this, what's still equally play
the video because I have a video in the default
and a video and hover. So what I'm gonna do
now is I'm going to select the video
and I'm going to go Shift command and
see these copies a PNG. Now, I am simply going to replace the video with this PNG. Now, all I need to do is
to add some prototyping. So I'm connecting this, the default with the steel, with my video and I'm
saying while hovering, change to and smart animate. I'm now going to
select my frame. And let's have a look. Here. I have my steel
and as I hover over it, you can see that the
video starts playing. Notice how this always goes
back to where I left it. So if I go out, it's going to go back
here where I left it off. If you don't want
this and you want to always start from
the very beginning. Then what you can do is while you're setting your
interaction here, you can reset video position and then it's always gonna
go from start again. So this is a really great way of saving yourself some screens and having it all inside
your actual video. Because you can
set this to hover. You can set this
to after delay or when a certain key is
pressed on your keyboard. So this is a really,
really great for working with videos. Just remember that videos are currently only available
on paid plans.
33. COMPONENTS: 05 Interactive components and auto layout : One place where interactive
components become especially powerful is if we combine
them with auto layout. So here I have a component
said with two frames, a red one and blue one
of different size. I'm just gonna pull over
some instances here, and I'm going to place them
on my frame over here. And now I'm going to
add some prototyping. So if I click on the red one, then I say change to and smart animate into
the blue shape. And I'm going to return this from the blue shape
to the red one. So onClick change to
red and smart animate. Now let's have a look
what that looks like. And so far there is no auto
layout applied anywhere. So you can see that if I
click, then it changes. And you can see that
here becomes a larger. But they sort of run
into each other. And if I click again, then they go back to
the original shape. And the Smart Animate is working within This
click animation. However, let's have a look what happens if I select all of them. And now InDesign, I am turning that into an auto layout frame. Let's actually move that frame
up a little bit and give it some more space and
you'll see why in a minute. And now let's press play. So now you can see
my frame here. And as I click, you can see
that it shifts up and down. And the reason is that remember, auto-layout always takes up
all the available space. This is how I can Smart Animate and make other content
respect to the new size. I can really take
this to the extreme. So let's say that I am assessing this blue shape here to zero. And notice how Figma
never gives me zero, it always just gives
me this one here. So a little trick
around that is go 0.00 for something like this, and then it's going
to go to zero. So it's still here, my element, but it's hidden. So now let's play again. And now you can see
that if I click on this red one here,
then they disappear. The only thing is you probably
wonder if you can add a little plus button or
add again, then add them. Well, that's not really
going to work because theoretically they're
all here in Figma. Doesn't remember which one. You just click in
which when you didn't. You could however simulated. So you could add, let's say, let's just add a
little round button here and say this
is the plus button. So what we could do
is we could say, once they're deleted and
I click on this one, I'm simply going to copy the same aversion of the
already existing one here. And then I'm going to
connect this onclick navigate to and smart animate. And so let's have a
look at this again. So now I'm deleting. And then I can go back
to the original state, but I cannot select
individual ones to reappear. So you can really create quite impressive and
realistic actions with this. So here, e.g. on drag, it shows me a little
Delete button and I can then delete one of
those elements here. How did I do this? Well, it's exactly
the same principle. So here we have our
elements that are used over here and I simply
fill them with my content. And then within my
components set here, you can see that I have
my default element here, and it already contains
the Delete button. So if I switch off
this content here, you can see there's already down here and that's
really important. Because remember,
smart animate needs a beginning and an
end to function. So in my delete here, all I did, I moved this label
here to the left. So this will be my
dragging animation. And I simply connected them
with a drag animation. So on Drag change to
and smart animate. Then once this is
clicked and note how this is only linked
to this delete icon, not the rest of my element. So if this is linked, then it's gonna go here. And this one is set,
in this case 21. I could also set this to zero. And this is why it looks like it's deleting
because over here my instances are simply
set up with auto-layout. And therefore, if one
of them is set to zero, then all of them will shift up. I really encourage you to play with interactive components and auto-layout because
you can really create very impressive prototypes
with this technique.
34. COMPONENTS: 06 funnel components: I want to show you
a little trick that I call funnel components. What they basically do
is that they connect components in prototyping across different pages and files. Here's my design
that is made up of a homepage About page workshop
and a newsletter section. And as you can see here, I can navigate to all
of them from my header. Now, if we click on the header, we can see from the
purple color and the empty diamond shape
that it's an instance. If we have a look where
our main component is, then we jump over to a
separate component page. Or this might be even be in
a completely different file. Because usually it's
good practice to not store your components
together with your design. So for our prototyping, that now means that I have
to go through each page and then I have to make the
corresponding connections. So I'd have to go, first of all, through my page
here, my blog page. Then I have to go to my
About Us page and link back. I would have to do all of
this for each of the pages. Now, once I did this, which is quite a lot of work if I want to make any changes, let's say like the
newsletter I noticed, it opens a new page, but this is actually an overlay. Then I'd have to go
through each and every page and change this. Let's delete all of
those connections and find another solution. By the way, little trick, right-click on your canvas in prototyping mode and you can go to remove all interactions. That's also remove
this flow here, and let's have a look. So the first thing you
might want to do is jump into the main
component section. So what I really
want is I want to have this master here basically. And then whenever I
click on workshop, so let's say I add
an interaction. If I click, I want to
navigate to workshop. But as you can see, I cannot access currently
in Figma any other pages. And as I said here, we just stored the
component and another page, but this component might be in a completely different file. So we can use a little trick
whereby you can simply copy the component or
you can also use any of these instances
you already have here. I'm just going to
start from scratch and I create this instance. Now, I could connect
this instance, but the thing is this instance wouldn't give anything off
to the other instances. It needs to be a main component. So we're doing a
little trick here and selecting it and then packaging this instance
inside another component. So we're creating
a new component and I'm going to
call this funnel. So if we look inside
our final component, you can see that
it's simply contains an instance of our
main navigation. So if we would jump back here, I am back whatever
that is stored. Okay, so back in our design, what we need to do now is
that we're replacing all of our existing instances
with this final component. So I'm just gonna go here
and then components. And then I'm gonna go
right now is looking at a component page and I'm
going into design page, and I'm choosing
navigation funneled. You could also just delete them, make a copy of this, then it's an instance
and replace them. So now if I select any of these instances and I jump
back to the main component, then it jumps up
here to my funnel. So now all I need to do
is connect the funnel in my prototyping
with my screens once. So this one goes, let's set this to the
solve, to the blog. This one goes to the workshop. Then this one over here goes to about my Subscribe button. I want to open an overlay. So on click Open
overlay newsletter. So now we can see
if I click here, then the inherited all
of those connections. So all of these pages
automatically have the connection. And if I change
anything in here, they're gonna inherit this. Let's have a look at this
and this works just fine. I can click through
these and from anywhere I can access my newsletter. So I'm really only using those final components to
set up my prototyping. They have nothing to do
with the main components. So any changes in the design of the main component
would simply be picked up by my final component. As long as the naming and
hierarchy is not changed, then even the connections
would stay in place.
35. VARIABLES: 01 Prototyping with variables: Prototyping with variables. Let's start with the basics. Here I have three buttons
and I have a square. Now, I want to fill these
buttons with different sizes. And when I click them,
I want the square to change according to
the size that I chose. I said over Collection, which I called
Prototyping example one. And you can see that I said
the square size to 400, size 100, size to 300 size 3600. So what I want to do now is
I want to bind first of all, these numbers here
to the variables. So I'm simply going
to select a number. And then in our text
property fields, I can now find this depending
on how many you have, you might have to
scroll a little bit. So this is my size one. Then I have my size two. And this last button is
going to be my size three. So now I want to connect my
square with the square size, so I'm selecting it. And then in the
Properties panel, you can see it's
already set to 400, 400, what is my default? But I want to bind this
to the variables that I can pick this up and
change this size later on. I'm gonna choose the width
and I'm also going to bind the height
to this variable. Okay, great, So now we have our basic setup and we can
jump over to prototyping. So now I'm going to
connect this button. And what I want to do is I
wanted to tell it if I click, then change this width so the square size
to the new value. So from my drop-down, I am going to choose
set variable, and then I'm going to
pick the square size. So simply type in the name of that variable and
you'll see it here. It's already going to prompt you to what do you
want to set it to? And now I can search
in my dropdown and I want to set it to size one. So before we move further, let's see if that
actually works. I'm going to choose this frame, and I am now going to
open the file Preview. You can use a shortcut, Shift and Space-bar, or you can simply use
the drop-down here. I'm going to click on
my 100 and you can see that it works,
my squares resizing. So now I want to set up these sizes and I
also want to set up a return button to go back to
the original default size. I'm going to choose
my second button. And by the way, you can also
copy and paste interactions. I'm just going to go through
this bit by bit again so we get a bit used
to the process. So the square size, and we want to set this
to our variable to now. And now we do the last one. So we also again want
to pick set variable. We go for the square
size and we're going to set this to size three. Now I only want to set up my reset button to
jump back to 400.400. Now, what you might
be tempted to do is you might want to
add a connection. And by the way, I'm only
connecting to the square. To go back to set variable, you could also use a Interaction menu
up here to add this. Soon as you use a variable, you're gonna get this
little sign here and it's not actually connecting
to the square anymore. So what you might be
tempted to do is to say square size equals square size. Because this should
be 400, right? It's not. Because what happens now? If we open our Preview, then you can see it
changes all the sizes. But if I click on here
that it doesn't change. And this is because
we're feeding the new sizes into this
square size variable. Now you cannot see it
inside of your collection, but in the background,
this is what's happening. We can solve this by simply
adding another variable, which I am going
to call default. I'm going to set this
to my original 400. So I am now changing square size equals and I'm going to
set it equal to default. So now let's try this again. We can go through
the different sizes. And if I press Reset, then it's going to jump back
to my original default size. If I were to change
any of the sizes here. So for example,
let's set this one here to really small just five. Then you can see that
this automatically updates not only in my button, but also within my Interaction.
36. 02 variant swap with variables: Variant swap with variables. With variables, we can pull
in specific variants from a components and we can also make use of deaths
for prototyping. Here I have a
components set with three variants, a, B, and C. And up here I have an
instance of variant a. And I have three little bubbles. So if I click on orange, I want a to display. Then the middle one here, red is B and the
blue one would be C. So I set up a collection. And you can see that in
this collection I have a string variable which
are called selection. And then I have
orange, red, and blue. And this is actually the
name of the variance. So this is the only
place where you really need to be careful about the naming because
it needs to be the exact naming that
you gave your variance. I said F sub with
three different modes and I'm just leaving
that in add mode 12.3. Please note that you're
probably going to need a Figma problem or
above to set up note. Before we set up
any Interaction, I need to bind this
variable here, the selection to my instance. This needs to be on the
instance is not going to work inside of your components
set at this moment of time. So select the instance and
then in the right-hand side, in a properties panel, if you hover over
the instance name, then you're gonna get
this little symbol, assign variable. Now this feature is really new. So this still might be
moving around a bit, but it should be
somewhere around here. So use it dropped down and now choose the selection variable
that we just set up. So as I connected this with
the selection variable, it now knows that
inside it has orange, red, and blue variance. Let's jump over to
Prototyping and connect this. So I am selecting the orange bubble and
I'm using the connector. You can also just click on a plus here on Interaction
to set this up. And I switch over
to set variable. And now I am now saying
set the selection to, I'm going to need to
use the variant name. So in this case
the stated orange. And I'm now connecting
the red one the same way. So I go to set
variable selection, and I'm simply going
to set this one to red, the blue one. I'm gonna do the same
set variable selection, and I'm going to set this one
to blue. Let's have a look. If that worked, we
can either jump over to presentation
mode or in fall preview. I'm going to use that with
a shortcut Shift Spacebar. Now, if I click on my
little buttons down here, you can see that it pulls
in the correct Variant. So this is really
handy to set up things like showing different
styles of the same product. And notice I am using the exact same collection
for this example. And I'm binding this variant here again to my
variable selection. And the only thing I
need to be careful is that my variance
are named the same. So this one is still
orange, red, and blue. And so if I try this out, you can see that this works just as well as our previous example.
37. VARIABLES: 03 Expressions: Prototyping with Expressions. In Figma prototyping,
we can now combine the calculation with variables, so plus, minus,
divided and multiply. This could be something
quite simple, like a variable plus or minus another value
or another variable. But you can also chain this together for more
advanced setups. Here I have a setup
of a minus NA plus button and simply a number which is currently set to zero. Now already set up a collection. And you can see that
this is super simple. All I have is a number variable and the
value is set to zero. Now let's set this zero here
to our counter of zero. I select the zero and then in
the Text Properties panel, I'm going to go for
apply variable. And I'm gonna choose
down here, my counter. So if I hit this
Plus button here, I want one to be added
to my total value. And if I have minus,
I want one to be taken off my total
count a number. So let's jump to Prototyping. I'm going to select
the plus button first. I'm going to add an interaction and I'm going to say onclick, set the variable with
the name counter to. And now I need to reuse
this variable counter. And now I can add plus one. Let's see if that works. I'm going to select
the frame and I'm going to open my Preview. And if I click Plus, you can see that I'm adding one. So now want to do the same width minus just the other way around. So I select my minus button and then I add an interaction. And I'm going to set
variable to counter. And then counter is minus one. Great, okay, Let's have a look. Open up Preview plus and minus. I can use this on
pretty much anything. It doesn't have to be a number. So what I could do is I could
just draw a shape here. And let's just fill this. And now I can bind
any the height or width of that
shape to the counter. Note how this is zero, but it's going to jump to one because Figma doesn't exempt
zero as a value here. And I'm just going to make my steps a little larger
so we can see it better. So let's set them
two steps of ten. And now as we
opened the preview, you can see that the numbers, as well as my shape is changing according to the
buttons that I press.
38. 04 Chaining expressions: In Figma prototyping, we
can also chain expressions. In my example here, I have a sweatshirt, the price of 60, and I have
a minus N, a plus button. So I can add this. This would be the total
amount of sweatshirts added. And then I want to see what
the total cost would be. So 60 times whatever
number I have here. Already have my plus
and minus set up. The collection I'm using is
counter and a value of zero. And then you can see in
Prototyping that we set this one here to counter
and then counter plus one, the calculation
that we're having. And then this one here is set to the total
accounts are a number. So let's have a look at this
in our in file preview. So we can see if we had
plus, then this goes up. And if we had minus, then this number goes back down. Now we need to add
a little more. First of all, we need to add
the price to our collection, and we also need a variable
to hold the total. So let's open up our collection. So we're going to add
price as a number. And this is currently 60. Then I'm going to create
another variable, which is also a number variable, and this is gonna be the total, and it's currently set to zero. Let's now bind our numbers. So I'm going to take this
60 here and I'm going to connected with my price. And this one here
will be my total. Let's jump over to prototyping. Now, these buttons here,
I still might trigger. So let's open them.
And I currently have the plus button set
to counter plus one, so I'm increasing this number. Now what I want to do here
is to add another action. I want to set another variable. Because what I want to do is
I want to set the total to the current total plus price. So let's have a look at this. In the preview. We can now see that if I have
one, then it's 60. And I now always have
to total plus one. Great. So let's set up
to minus as well. So this works pretty
much the same way. I'm going to add another action, set the variable,
and I'm going to set the total, two, total. And in this case, minus
the current price. If we have a look at
this in our Preview, then you can see that now goes up and it's gonna go down again. If you're wondering,
why are we using variables and not
simply adding plus 60, then the great thing about this is if we set up
everything in variables, we could simply change
the price here. So let's say that we're
changing this price to at, and now everything would update. So it doesn't matter where
in your file up using this, everything would always
use the correct values.
39. VARIABLES: 05 Conditional statements: Conditional statements
with variables. So here we have
our counter again. So we have plus and minus. And let's just have a look
at the setup quickly. So the plus is set to counter increases every time
I press by 100. And the same for the minus, just that it decreases 100. Now here I have my zero. And this is said to the
variable of the counter. Down here, I have a bar, and in here I have a shape. Let's just grab this shape. And you can see that
this is x2 zero. So this is actually the
variable that I applied here. So I applied the
counter to zero. If we have a look
at a collection, I'm using a previous
collection here, but I'm really only using
this variable of counter. Now, what I want to happen
is that if this hits 500, which will mean that
my bar here is full, then I want to jump
over to the screen that says u1 hover. I want this number
here that wins to be set to the number
that triggers this. Now, I could do this by hand because I know I
want this to be 500, but it's much smoother. If I set this up as a variable, I'm going to add another one, which I'm going to
call threshold. So at this threshold
of currently I know I want this to
be five-hundred. This is gonna be when I'm
going to trigger my new event. And I'm actually going
to bind this one here, two to 500, just to have
everything nice and tidy. Let's just clean
this up a moment. Here we go. Let's just see what this would
look like currently. So I'm going to open the preview
with shift and Spacebar. And I can see that if I add
plus and if I add minus, it goes in steps of 100s. And at 500, this is what I want. This bar is filled. However, it would now simply
go beyond this number. And I wanted, once I reached is to switch
over to my new screen. Let's jump over to prototype and let's select
our plus button. Or we currently have is
that if we click it, it increases by 100. So let's click on plus
and add an action, and we want to add a
conditional action. Now here I can say if the
counter and you can see I get some presets is equal
to my threshold. Then what I want this to do
is I want to add an action, which is I wanted
to navigate to. And now I can choose here
the page when that I set up. I could also choose how
I want us to navigate. So smart, animate this off. I'm just going to leave
it at instant for now. Now you might be tempted with the else to add
something like this, to set the variable here and
then actually use this part. So use counter and
then counter plus 100. And then you could simply
delete this part up here. However, don't do that. It would still work, but what would happen is
that it would jump to 500 and only then
next time you click, it will jump over to our wind. So what you can do is
simply leave this empty because it matters in
which order things happen. So we first one to the counter
to increase if we click. And then we want Figma to check, are we already reaching
our threshold? Let's try this out. Let's select this
open are in fire Preview and you can see
we jump in steps of 100. Backwards still works. We don't need to
do anything here. And as we reach
the five-hundred, we're jumping to our new when. And notice how it really jumps the moment we're
reaching this number. I want to point out
something that you might run into when working with
conditional statements. So here I've an example
and it's almost identical. And I'm actually using the exact same
collection for this. So what's happening here
is I have a counter. Let's jump to Prototyping. And we use this one before you can see the council
goes up by one. The total goes up by the price. So this will be the total. I wanted to say. If the total price
reaches the threshold, which is still at 500, then jump over and say
that it's free shipping. However, if we have
a look at this, then you can see that this
is actually not working. I'm going beyond my threshold
at 500 and nothing changes. If you're working with
conditional statements, then you need to be
really, really precise. So all the setup is correct. However, it says
equal the threshold. So before that was
working, however, we will never reach exactly
500 as multiple of 60. So let's get rid of this and say the total is greater than. And now we can use
our threshold again. And now let's jump back
and see if that's working. You can see we're going up, we're reaching 500, and we're jumping over to the new
screen with free shipping. And now we would also need
to consider our minus. So if I click on whiners, I also have a conditional
statement here now and I'm jumping back
to my previous screen. Yes, we might even get away with one-page if we're adding some
booleans to the equation
40. VARIABLES: 06 conditional statements and booleans: Prototyping with
booleans and variables. So currently we have a setup
like this where we have, Let us run this. We have a sweatshirt
with the price of 60. We can add this to our basket. It will increase
the number and it will increase the total price. And then once we hit this
threshold of 500 with jumping over to this new
page, with free shipping. And if we reduce the amounts
than we're jumping back. So this works fine, but we can actually
reduce this to just one page if
we using booleans. So here I've one page that includes the free shipping
already and important, this is all set up
as auto layout. Let's have a look what's
currently happening here. So if I click plus, then I'm adding an item and the total price increases by the price of the sweatshirts. Now, let's open our collection. We can see we have the counter, which is this one here. Then we have the price, which is here, our total, which we bound to this one. As you can see, we
have the threshold, which we said at 500. Now I'm going to add
another variable, and I'm going to call this one, which is gonna be a Boolean
free shipping per default. I'm going to have
this set to false. Now first of all, I need to bind this free shipping to
this Boolean value here. Let's select it. And then in your Properties
panel under layer, click on the eye, but
don't click on it. Just like that makes
sure that it's a right-click and then you're going to get
the properties. And now click on free shipping, which is set to false. And this free shipping part
is going to disappear. You can still see it
in your Layers menu. Okay, now let's
set up some logic. So let's jump over
to Prototyping, and let's hit our
plus button here. So what I want to
do now is I want to add a conditional statement. And I want to say, if the total is larger than the threshold, then what I want to do is I
want to set the variable of free shipping from
folds to true. If I go back so minus, I wanted to do the same. So I want to add a
conditional statements. And I want to say if the total is less than
the set threshold, then what I want to
do is I want to set the variable of free
shipping back to false. Now let's close this and
have a look. If that wax. If I hit plus, we're moving up, we're hitting our threshold
and free shipping appears. And I can go further up. But as I go down and I
hit the threshold again, then it's gone to toggle
the free shipping off again
41. DOCUMENT: 01 Document prototypes with flows: So once you've finished
your prototype, you want to share
it with others. Let's have a look at ways
that we could do this. So here I have an
example of a prototype, and you can see that I am
working on the same page on my mobile design as
well as my desktop design. And you can also
see that I already have different flows setup. If I click on the gray
background while in prototyping, and you can see down here an
overview of all my flows. So what I like doing is I like giving them a bit of structure. So I use mop for mobile Flows and deaths
for desktop flows. And then I can have
the same flow, so login, so I have mobile
login and a desk login. And then two would be
at browse and add. And you can see you only have that setup for mobile currently. I can also shuffle
does so here, e.g. I. Can just move them
around and then I can sort them in the order or
rename them the way I need to. Now, we'll jump into
our presentation mode. You can see here on
the left-hand side, I have them nicely
ordered and so I can see it mobile and desktop along each other and I can simply click through all of
them and they will obviously connect with the
entire, the entire prototype. But I can still jump to specific sections that
I want to highlight. Now this is quite nice, but I can add an
additional layer of overview for everybody
entering my files. Note how when we hover
over one of these flows, we get a link here so we
can click on Copy link. So e.g. for the mobile login. And then what I like doing is I like to set up a
little overview. Here I have a one-page for my mobile view and
one for my desktop. And by the way, you might just have one if
you're just working on our mobile app or you might have several
foot tablet as well. That really depends on
what you're working on. And then all I do here
is I type out different flows that I want or so maybe some of them I
haven't worked yet. And then simply select
your text, link it, and then you can copy the link that you just copied
from the right-hand side here from the flows inside
of this little overview. So anybody entering my
file could directly click on those links so they don't
need to understand that they have to go to
Preview or anything. They simply click on here and then the Preview would open. And it will give an
overview of my prototype. It will always start directly on the flow that I
added the link to. The little bubbles
next to it is to something that I like using. So you can see here
in my design tab, this is like from
an external file. So let's just jump over there. Let's just open this file. And here I simply
have variants setup. So I can see in what
phase it is for testing and in what
phase the prototype is. So here I have the first one is that the
prototype is in progress. So e.g. view book, I haven't finished this flow yet and therefore it
needs to be tested. And here you can
see that the login to prototype has always been, already been finished and
it's currently being tested. You can absolutely customize
this to your needs. You could add a name
of responsibility, you could add date,
whatever you need here. I quite like this
because in this way, we can already plan all
the flows and order different steps that we want
to build as a prototype. And we can also see what
happens in testing. And here e.g. the
testing has already been done and therefore we need to go back and prototype
needs adaption. So there's probably
some feedback from the testing and I'm going to rework my prototype accordingly. Also, as this is
set up on a frame, I can simply press Play and use this as a
presentation slide. And also remember our
little trick that we can embed animated frames
inside presentation. So here, this is my
whole prototypes, so this is my vertical
scroll frame, and I simply placed this
into my presentation here. And now I can play this. Let's switch this one off. And I can scroll through this. I can click on single elements and I can really set up my
design like this. And I can also show my
overview with the flows. So I can have a presentation that includes my prototyping.
42. DOCUMENT: 02 Sharing prototype links: You can also invite
people to your file or just your prototype
by sending them a link. There are few things to
consider when you do this. You could invite
people directly via the share link to your
prototyping file. They would then need to hit the play button and they could see the
prototype in action. Now a lot of the
time you might not want people in your design file. You just want to present
them the prototype. And that might just be at
your prototype as such, imbedded in presentation view
with some different flows. Or it might be a
presentation that you set up and is viewable and clickable
in presentation view. So instead of sharing
the entire file, while in prototyping view, note how the button changes
to share prototype. So in our design file, you'll see it's
simply called Share. And then in our prototyping
View, Share Prototype, if we click on this, we will only share the link
to this prototyping view. It will include all the
flows that you set up. Now before we share
our prototype, we want to make sure that
it's set up exactly the way that we want the person at
the other end to view it. So under option, we can choose what size we want to
display our prototype. And then we can also
choose whether we want to show or hide our flows. And so everything
that we set up here will be stored in
our sharing link. And then the person
on the other end will get exactly those settings. That doesn't only include the settings in
prototyping view. If we jump back to our design, remember that we could
on the prototype, show prototype settings so you can hear set background color. And more important, we
could set a device. However, you have
to be a bit careful with this if you're
purely working, let's say in mobile view. And now let's jump back. Then we can add a
device around it, which is actually a really
nice for a presentation. However, if you're mixing
mobile and desktop, then notice what happens here
because our desktop view, we'll actually be squished
into this device. So if you're mixing devices, then make sure that you have
your device set to none. I'm going to jump back
to the first flow where I wanted to start. And I can now press
share prototype. So here I can invite via e-mail, or I can also set the
preference for link. And here you can choose
between can edit, can view, and can be prototype. Now, if you invite
with can edit, that means people have full access to your file
and can edit your design. This might also come with additional costs
for new editors. So be very careful when
and if you share this one. Can view is free, but it means that
people can view your entire design file. Now, we want to stay at
Kent view prototypes, so we're only sharing the prototyping view
including our flow overview. And I can now invite via email
or set the link as well, and just copy a link
and send it off. As soon as people
enter your file, you can also always
edit their rights. So anyone with the link can now simply open
this link either in their browser or it will jump into that Figma app
if they have it open. And you'll see that even
if they're not logged in, they get a little
preview and they can still like jump through
your prototype. With the link. You could also open
the prototype if you have a FIG my app installed
on your mobile device. Now, with this one, you just need to be a
little careful because this screen size that
you set up in Figma should be the same size that fits your physical
device you're using. Otherwise, it's gonna be
stretched or pushed together. And this might lead
to strange results.
43. DOCUMENT: 03 Documenting interactive components for handoff: Let's talk about how we could document interactions and Figma. So far, we had a look at how we communicate our setup for
prototyping in general. So how we can show those interactions from
one page to another. But I think that we also
really need to communicate and especially document
micro-interactions. So what happens on hover and all the different
states that are imbedded in our
interactive components. Your components
might be stored in the same file on
a separate page, or they might be in a
completely different file and you pull them in
wire shared libraries. So as I'm working with a
really simplified example just to show you how to
set up documentation, I just have a few
components here and I simply save them
on their own page. By the way, if you want to move components from one
page to another, then you cannot simply
copy and paste them. You need to select the
component or components said, right-click and then
go to move to page. And you can select the destination where
you want to send them. So we're going to use
this card here as an example and I'm going
to show you how to document this and how to
communicate the interaction and little animation that's
happening within the component for your
hand off to development. So this is a general
set of, uh, use, but you can absolutely
adjust this to your needs. But let's go step-by-step. So first of all, I am taking the entire
components said, and I'm moving it onto
this frame that I set up. And notice how it's
still a component set. But as soon as you move
it to a frame than the little components sign up
here is going to disappear. So I'm moving on
here and you can see that I have this setup. So I have a header
data always use. In this case, it's cool
card, I'll give it a number. And this is the documentation. I have a little stamp here. So this is also a
variant said that I set up openers for you
in another file. And so you can see here
there's different stages. And so I can go from a
proved too difficult, which happens quite a bit,
and progress and so on. So this one here
would be approved. Then because I moved my main component
inside of this frame. If we go to the Assets panel, you can see that he had
my local components, the one that I didn't move on a frame that is
floating around here. And as soon as you
move it to the frame, this is the name of
the frame up here. Then you can open it and it's going to be
nicely stored inside. So this is going to give a really nice order to
all your components. Then what I like doing is
just pulling out an instance. So I can also have the instance
here because here, e.g. if we would play this
documentation sheet, then we would see the animation happening here
in this instance already. You can also add other
information. So e.g. I, quite like having
a screenshot. So here you see all your
Component Properties. I'm just going to add this here, add a bit of an effect, and then you can get a
really nice overview. So even though
everybody can see this, if they click on a component, I'm still making
it very clear that this component contains
different properties. And one of these property is
the different states from default and you can
swap to a hover. So I'm just highlighting
this again. I don't want to talk much more about general documentation because that's a
different topic in a different course you can take. But just to show you then
I'll run through it. So I have my specs setup here. So you can see all
the measurement, how everything behaves. And I can always give a
bit of texts information. And this is actually a part
of interested in right now. So here I have my animation. And so what I do is I simply
have an instance here. So one default and
then the hover state. And I say here on hover, it will ease out
800 milliseconds. And then over here in
my information boxes, I can just add some
more information. Here I talk about the trigger. So in my case on hover and I described the action
a little bit more. Now, I am describing this already with a bit
of CSS in mind. This is not necessary. You can also just
describe what happens. But if you want a little bit of CSS notation or any
other code notation, you can simply jump
to the Inspect tab. And also note that
you're sharing with view mode only
with your development. So this is what they're
going to see automatically. And as soon as they
select any element, this is their information. So what I did, I simply copied the back shadow
CSS notation, e.g. from here, you can
also change over to iOS or Android depending
on what you're working on. If you're wondering where I got to transformation scale from, then I want to show
you a little trick. So right now in my
components said here that images are the exact same size. And then instead of just
manually changing this, you can do is select
the image and hit K. And the K button will
open the scaling menu. And now here you
can choose a size. You can also choose
where you want to start. So I'm starting from the
bottom in the middle, and then I am adding 1.2 e.g. and it will scale it by 1.2. And now you can simply
use this scale, which will be the same and CSS. And then what I like
to do is to add a little play button
because there's really nothing like a demo of the actual thing to
get your idea across. And how I set this up is, IS simply draw a frame and
I add an instance to it. So the instance contains all interaction you set up a new component said
Let me show you. If I jumped to prototyping, then you can see
here this is where my interaction is
set up and then this will obviously like
all other instances, inherit this behavior. And so now, if I click
here on the background, you can see that
this is called car's animation and the
flow is called card. And I can simply copy the link. And I can now add the link
to display animation texts. So as soon as someone
would click on play, then it would open in
this flow and they could see the Micro Interaction
as a little demo. You could of course, also
link to your entire document. So I have a separate
flow just here. And by the way, if you press Z, then you can toggle
through the view. So you could have
a overall view of the page or you could
just have a detail view. And you can see that
in the instance, all instances actually you're
using across your design. You would also see
their interaction. I would set up a page for each and every component
that I am using. And if there's an animation, I add the animation part. If you don't have
any interaction, and obviously you
don't need this. If you're wondering
this last part here is simply the responsive behavior. So this is just about how my component and would sit in the design as the
screen size is changing. So you can see here
I'm using a grid for my design and it would be
always the same component in simply change the number
of columns that it occupies. Testing and documenting
responsive behavior is a big separate topic. If you're interested, I have a whole separate new
learning course on this.
44. DOCUMENT: 04 Embedding in external documentations: You might use an external system to document your design and code in your Figma
file and the sharing, you can also select get embed code and then simply
copy this code to embed. Some applications also
connect directly with Figma. You can get a list of the currently
supported applications under the Figma website. Then click on Get Started, connect Figma to other
apps, embed Figma. And then at the very, very end of this page, you'll find a list of all the currently
supported applications. And note that this is usually
Browser-based applications. So you can have your
external documentation in Notion, Dropbox confluence. And the one I really
like is zero highs. So I'm going to show
you a little example on how embedding works
with their height. So one of my absolute
favorites for documentation was zero
heights is the example of the decade long
design system which you can access via decade
lawn dot design. Now here we'll click on digital. And this page that
you're seeing here, this is all built-in
zero height. So we want to see how they
documented their interactions. So let's click on Components and a really nice
detail here as well. You get first an overview
of all the components and their current state for
different versions. Let's just click
into the first one, a button and you can see that we can choose between
web, Android and iOS. So we're just gonna
go for web right now. Then here they set up
their documentation. And so we get a general
anatomy of the button, usage examples,
specifications, and so on. And there are hydrated, gives you the opportunity to build this the way
that you want to. You could have separate
pages for design and code, or you could have
it all together. It's really up to
you. And now what we want to see is how do they
show us the harvest aids. So you can see they
call it a showcase. And in showcase,
there is an embed. And you can see the different harvest
aids for this button. Now let's jump back into components and you
can see that e.g. let's go to card that. They also link all
of this to Figma. So he can see again
anatomy usage. And here unfortunately we
don't see the behavior. But what I have, which is
really nice to show you a little video on how
to use this in Figma. So here they also describe how
different states are used. And of course they also have
a section that explains how team members connect
to the Figma files. And by the way, you can
also have a copy of those Figma files
and play with them if you're not part of
the decade land team, simply go to the Figma
community section, search for Decadron and you can duplicate them and
play with them. So let's try it out ourselves. In their height. We can get one free project
and try it out for free. And this is my free
project and I can just customize everything
about this here. And in here you see
the view that's pretty similar already to what
we saw with Decadron. So what I did is in components, I added just a new page
called card and you can customize all of these
sections to your needs. So here you can
see that I already uploaded some things
and how this works is that you can connect
directly with your Figma file. And so I already
set this up here. You can see simply
have to add the link to your file in zero. It's going to prompt
you how to do that. And then you can go
through all your elements. So here I can go through
my colors, styles, important, my components,
my different pages. And so all I did here, I selected card and you can
see this is already edit. If I wanted to add the avatar, I could simply select
this press to add. And then you can see it would upload all the states
of the avatar. So it would also uploaded a default and the
hover state for me. Let's get rid of this
because we don't want this in this example. So here you can see
I have my card, so I have my different states. And also with the
layout settings here, you can customize this. So I could have different
ways to display this. And I can also add which I really like the
component properties. So here you have hover and
default right now and could also add more and
add nodes and so on. So I did add my specs here, but actually I wouldn't even
need them because you can just click onto any of those which you import it
from Figma and then it will open its
own inspect mode. So here you can just click on the different
elements and you get all the different
information in inspect view. So up here you can
also see that on this page I'm setting up everything from
design, from Figma. And then I would have a
separate page here where from code we could connect to now the card component
that it's coded. So it's really like
a fantastic way of bringing everything
into one page. And as I said, this is a setup
that zero height suggests. You can also mix all of this
on one page so you can have your Figma design and then the code connection below
that's really up to you. So further down here
you can see that I uploaded some examples. So here I have the images, so you can see how this
component is being used. We don't have and
what we want to add now is the interaction behavior. So first I want to
add my prototype. So if I click on Play, That's the prototype
I want to add. So if I click here,
then this goes to new page and it also has my
micro-interactions embedded. So I go to Share Prototype and now I need to copy
the link for zero height. I don't need an embed. Okay, Let's jump
back to zero height. And I can already see to display a prototype, use embed sections. So I click on here and then
I need to select not code, not design upload but in bed. And now I simply enter
my Figma link in here. And you'll see that it's
directly loading my prototype. I can now pull the window
to the size that I want. Let's get this a little larger because you
can see that this is sort of squished in the top. So now you can see it well. Now you can see that it is embedding my prototype and I
can simply click through it. If you have more
flows, by the way, and you copy the link with a
Flows tab open from Figma. Then it's also going to show
you flows in this preview. Now also wanted to just
add this little animation here of the component
in isolation. So I don't need this whole
documentation because I can set all of this up
in zero height. What I quite like doing I haven't in Figma and then I e.g. copy those elements over
20 height for explanation. But for now, all I
want is this one. So let's press play to get
to the Prototyping tab. And now I'm going to close my flows because
otherwise this would show and I just
want to show this. And let's go to Share
Prototype, copy link. Some actually going
to add this first. So again, I need to use Embed. And then I copy the link I
just got from my preview. And it's the same
as we did before. So now we can open
the window here. And this is going to stay the
way that you set this up. So now I have this
little interaction and then you can see my
component in action. So this is what our
page would look like to anybody visiting it so he can see we have our
components with Inspect. And then down here we
have our examples. And at the end we have our
micro-interactions showing, as well as our clickable
scrollable prototype here.
45. Thank You: Well done for
finishing this course. Feel free to reach out to
us at moon learning dot io, we're always interested
in hearing your feedback. You would also do as a great
favor if you could just take a minute and leave
a review right here. If you enjoyed this course
and also make sure that you have a look at our
additional courses. At Moody Learning dot io. We cover all subjects from
the very foundations of UX UI design through to Figma
and even some code basics. Make sure you visit our website
at Moody Learning dot IO, where you can also sign
up to our newsletter.