Figma Prototyping: A deep dive, beginner to pro, for UX/UI Designer | Christine Vallaure | Skillshare
Drawer
Search

Playback Speed


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Figma Prototyping: A deep dive, beginner to pro, for UX/UI Designer

teacher avatar Christine Vallaure, UI/UX DESIGN, FIGMA + CODE

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      00 Intro

      2:12

    • 2.

      !!! PLEASE WATCH !!! New Figma UI in beta

      2:00

    • 3.

      MATERIAL: Download Figma File

      1:24

    • 4.

      NEW! Config 23 Updates

      2:01

    • 5.

      BASICS: 01 The Figma prototype workspace

      3:15

    • 6.

      BASICS: 02 Where should my prorotypes live?

      1:00

    • 7.

      BASICS: 03 On screen device preview

      3:03

    • 8.

      BASICS: 04 fixed and scrollable elements

      3:14

    • 9.

      BASICS: 04 sticky elements on scroll

      2:33

    • 10.

      BASICS: 05 Nesting frames for presentation

      3:22

    • 11.

      BASICS: 06 Horizontal and vertical scroll

      5:58

    • 12.

      BASICS: 07 Linking screens

      4:56

    • 13.

      BASICS: 08 The back action

      2:31

    • 14.

      BASICS: 09 Scrollto

      4:14

    • 15.

      BASICS: 10 Overlay

      4:13

    • 16.

      BASICS: 11 Linking to external pages

      2:26

    • 17.

      BASICS: 12 Action triggers

      3:56

    • 18.

      BASICS: 13 Figma animation options

      3:49

    • 19.

      BASICS: 15 Sections and stateful design

      4:38

    • 20.

      BASICS: 14 Easing and spring animations

      3:14

    • 21.

      BASICS: 16 Flows in Figma

      3:02

    • 22.

      BASICS: 17 Adding videos to prototypes

      1:20

    • 23.

      BASICS: 18 Preview on your mobile

      2:04

    • 24.

      SMART ANIMATE: 01 Understand smart animate

      4:06

    • 25.

      SMART ANIMATE: 02 Smart animate and moving animations

      2:44

    • 26.

      SMART ANIMATE: 03 Limitations of smart animate

      6:07

    • 27.

      SMART ANIMATE: 04 Let us build a smart animated app

      14:03

    • 28.

      SMART ANIMATE: 05 Animate with purpose and code in mind

      2:59

    • 29.

      COMPONENTS: 01 Interactive components

      3:45

    • 30.

      COMPONENTS 02 Nesting interactive components

      1:36

    • 31.

      COMPONENTS: 03 Easy hover and zooming animations

      3:24

    • 32.

      COMPONENTS: 04 video interactions

      2:26

    • 33.

      COMPONENTS: 05 Interactive components and auto layout

      4:59

    • 34.

      COMPONENTS: 06 funnel components

      4:58

    • 35.

      VARIABLES: 01 Prototyping with variables

      5:05

    • 36.

      02 variant swap with variables

      3:39

    • 37.

      VARIABLES: 03 Expressions

      2:57

    • 38.

      04 Chaining expressions

      3:31

    • 39.

      VARIABLES: 05 Conditional statements

      5:59

    • 40.

      VARIABLES: 06 conditional statements and booleans

      3:33

    • 41.

      DOCUMENT: 01 Document prototypes with flows

      4:47

    • 42.

      DOCUMENT: 02 Sharing prototype links

      4:12

    • 43.

      DOCUMENT: 03 Documenting interactive components for handoff

      7:46

    • 44.

      DOCUMENT: 04 Embedding in external documentations

      8:26

    • 45.

      Thank You

      0:36

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

1,062

Students

13

Projects

About This Class

Bring your design alive with Figma prototyping. In this deep dive, we will learn everything about creating basic prototypes, smart animating in Figma, re-usable interactive components, and how to share and document.

I will provide you with a Figma file, that lets you follow alongside me during the videos or return to exercises with detailed instructions in your own time.

This course is for you if you have a basic knowledge of Figma or if you are an advanced Figma user and want to improve your prototyping skills.

Prototyping Basics

  1. Config 2023 feature update overview NEW
  2. The Figma Prototype workspace
  3. Where should my prototype live? 
  4. On-screen device preview
  5. Fixed and scrollable elements
  6. Nesting frames for presentations
  7. Horizontal and vertical scroll
  8. Linking screens
  9. The back action 
  10. Scroll to
  11. Overlays
  12. Linking to external pages
  13. Action triggers
  14. Figma animation options
  15. Easing curves
  16. Sections and stateful design
  17. Flows in Figma
  18. Adding videos to prototypes
  19. Preview on your mobile 

 Smart Animate with Figma

  1. Smart animate in Figma
  2. Smart animate and moving animations
  3. Limitations of smart animate
  4. Let's build a smart animated app
  5. Remember: Animate with purpose and code in mind

 Interactive Components

  1. Interactive components
  2. Nesting interactive components
  3. Easy hover and zoom animations
  4. Video interactions
  5. Interactive components and auto layout
  6. Funnel components

Prototyping with Variables 

  1. Prototyping with variables NEW
  2. Variant swap with variables NEW
  3. Expressions NEW
  4. Interaction chaining NEW
  5. Conditional statements NEW
  6. Conditional statements  and booleans NEW

 Documenting and Sharing Figma Prototypes 

  1. Document prototypes with flows
  2. Sharing prototype links
  3. Documenting interactive components for handoff
  4. Embedding in external documentation

© moonlearning.io with moon learning / moonlearning

Meet Your Teacher

Teacher Profile Image

Christine Vallaure

UI/UX DESIGN, FIGMA + CODE

Teacher

Hi, I'm Christine Vallaure, founder of moonlearning a UX/UI design Figma learning hub. . moonlearning is my pet project that has turned into a full-time job, and I couldn't be happier about it. I love talking, teaching, and writing about UX/UI design and Figma, always encouraging UI designers and developers to be curious about each other's work.

Besides video tutorials, I also offer live and online workshops and speak at conferences and meetups. Connect with me on Twitter, LinkedIn, YouTube and via my newsletter, so I can keep you updated on future moonlearning adventures.

You will find a small selection of some of my original moonlearning courses here on skillshare. Content is shortened and adjusted to the skillshare format. Enjoy!

www.moonlearning.io

See full profile

Level: All Levels

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

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.