Home iOS & Swift Books App Design Apprentice

5
Reusable Elements & Data Written by Prateek Prasad

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.

Getting started

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.

Using masks

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.

Key points

  • 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.

Challenge

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.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.

Have feedback to share about the online reading experience? If you have feedback about the UI, UX, highlighting, or other features of our online readers, you can send them to the design team with the form below:

© 2021 Razeware LLC

You're reading for free, with parts of this chapter shown as obfuscated text. Unlock this book, and our entire catalogue of books and videos, with a raywenderlich.com Professional subscription.

Unlock Now

To highlight or take notes, you’ll need to own this book in a subscription or purchased by itself.