Heads up... You're reading this book for free, with parts of this chapter shown beyond this point astext.
You can unlock the rest of this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.
In the last chapter, you created wireframes for the app and established a well-thought-out scaffold. These are essential steps in designing a product. Having set a general direction for your team, you’ll now start working on the finer details by fleshing the screens out with real data.
Among the more useful features in Figma are components, which you briefly touched upon in the last chapter. Even without going into detail, having an overview of components helped speed up the iteration.
In this chapter, you’ll take a closer look at components and how you can leverage them to create flexible designs. More importantly, you’ll learn the value of reusability when building designs — this chapter focuses specifically on building reusable components. You’ll also learn how to better organize your components and their variations.
Visualizing when to use components
A common question when you start using components is: Which pieces of my screen would benefit from being a reusable component? Frankly, it’s not a straightforward question to answer.
A lot of this boils down to the idea behind the product and its complexity. The more information your app surfaces, the more elements there are on the screen. But that’s not all. If there are variations in how you surface similar information, you’ll end up with more unique elements on your screen.
You might have noticed this with the app teardown exercises. Airbnb used just two components to build the entire screen, whereas Pocketcasts used multiple design variations to surface the same information. In both these apps, their underlying information was similar, but how they surfaced it varied.
So how do you decide on the component breakdown? A neat trick is to visualize the silhouette of the app. You did this in the teardown exercise. After tracing each screen, you hid the screenshot to view the app structure. Hiding the specific information helped you analyze how many components the screen uses.
Once you’ve built a wireframe of a screen, it’s easier to notice these details. In the future, any time you use an element in more than one place with slight or no variations, you can extract it out as a component.
From the project files for this chapter, load chapter-5-starter.fig into Figma. You can drag the file into the Figma window to import it.
Building the movie list item
Add a new Macbook frame (F) to the file. Name this frame Posters.
Customizing the text and fill color
Next, you’ll change the movie name to “Birds of Prey” and the weight to bold.
Iterating on the movie list item
Add a rectangle (R) to the Posters frame measuring 414x263. Click the Fill option on the Properties panel and select Image.
Organizing with pages
If you keep creating multiple component frames on the same canvas, your workspace will eventually get cluttered and difficult to navigate. It’s good practice to continuously tidy up your workspace and organize it. As the Boy Scouts say, “Leave the campground cleaner than you found it.”
Setting up your pages
On the Layers panel, click + to add a new page and call it Components.
Reusing and restyling components
You’ll now create the genre component. Instead of making it from scratch, you’ll reuse the wireframe’s genres component and style it.
Creating the rating component
Moving along, it’s time to build the rating component. Add a new frame (F) to the canvas measuring 250x50, give it a black fill and name it Rating.
Placing the new component in a screen
It’s time to now use this component in a screen. Go to the Cinematic App page, add a new iPhone 11 Pro Max frame (F) to this page and increase its height to 1578. Call the frame movie-list.
Testing the power of components
You may notice an abnormality in all six instances after you rename the movie’s title: The title text wraps over to the next line, overlapping with the movie info layer.
Exploring UI kits & plugins
When designing a product, it’s easy to get carried away and want to create everything from scratch. While that’s always an option, it’s certainly not the most efficient one.
Using a design kit
For the iOS status bar, you’ll use a design kit. Open https://www.figma.com/resources/assets/facebook-ios11-ui-kit/ in a different tab and click Open the UI Kit in Figma. The Figma file will open in a new editor.
Using an icon set
For the navigation bar, you’ll use an icon set.
Creating the navigation items
Add a new frame (F) measuring 450×90 and name it Bottom Navigation. Here, you’ll place navigation to bring the user to three different types of movies to browse.
Implementing the navigation bar
Now that you have the navigation bar looking the way you want, it’s time to use it in the movie list.
Designing the movie details screen
Moving along, it’s time to build the movie details screen. Add a new iPhone 11 Pro Max frame (F) to the screen and name it movie-details. Increase the frame height to 1680.
Adding details to the background
Add a rectangle (R) measuring 414×1314 and place it at a margin of 366 from the top. Give it a white fill and call it background-card.
Adding the movie picture
Add a 157×221 rectangle (R) with a corner radius of 8. Place it at a margin of 16 from the left and 323 from the top.
Adding the details
Copy the title and movie info text layers from the movie-card component in the Components page, then place them to the right of the movie-details-image with a margin of 28 from the movie-details-image.
When to use components
You could have made the movie-info and title layers into components, but that wouldn’t have any added benefit. Even if they were components, you’d have to:
Setting up the overview
Add a text layer (T) with the text Overview to the movie-details frame. Use Roboto-Bold as the font with a font size of 18. Place it below movie-details-image at a margin of 40 from the top and 16 from the left. Name this layer overview-header.
The synopsis text is way too long to show in its entirety on this screen. It would save screen space and look cleaner if you show the first paragraph and allow the user to expand to read more.
Fading out the visible text
Now, you’ll sprinkle some visual flair over this layer by making the text paler as it approaches the cut-off point.
Making the cut-off text readable
For the final piece of the overview section, add a text field (T) and enter Read More. Use the font Roboto-Bold with a font size of 12 and a letter spacing of 3px. Under the Type Details option, use Upper Case for the letter casing.
Adding the cast section
Next up, the cast section. Copy the overview-header and change the text to Cast. Place it below the overview-text group at a margin of 32 from the bottom of the masked layer and 16 from the left. Name it cast-header.
Installing and using a third-party plugin
Plugins are critical to a designer’s workflow. They help you automate your mundane and repetitive workflows, saving time and letting you concentrate on things that are more fun.
Adding the user ratings
For the user rating section header, repeat the same process as you used for the cast-header and change the text to Ratings — 4. Place it below the cast-images at a margin of 40 from the top and 16 from the left. Finally, name it ratings-header.
Adding movie recommendations to the details
For your next task, you’ll deviate a little from the mock-up. Wouldn’t it be nice to get recommendations for other movies within the movie’s details screen? It would go a long way toward increasing user engagement within the app.
All you need to finalize this screen is the Add to Watchlist button, a Back button and the status bar. Instead of giving you instructions on creating these elements, I’ll leave that out as a challenge for you. Here’s what they should look like.
- Organize components and designs using pages.
- Use compose components to build larger design elements and, when it makes sense, to create a component.
- Establishing naming conventions for components helps with instance swapping and logical grouping.
- The Figma community offers third-party icon sets and plugins to make your job easier.