Blog Post

Optimizing Icon Design: Our Journey to the Baseline UI Icon Set

Illustration: Optimizing Icon Design: Our Journey to the Baseline UI Icon Set

We recently undertook an exciting project to redesign the icon set in our Web SDK. In this article, we’ll share insights on preparing an icon set for optimal use in design software, specifically in Figma.

Moreover, we’ll offer tips on preparing for the handover process to smoothly integrate these icons into our design system, Baseline UI.

In recognizing that our customers frequently customize the SDK to align with their branding guidelines or create new icons for specific functionalities, this article aims to provide practical advice for achieving these goals efficiently and effectively.

The Motivation behind Our Icon Redesign

BeforeAfter

In late 2022, we introduced a new icon set to our mobile platforms. In extending this set to our Web SDK, we aimed to harmonize the style of icons across all our products, ensuring a more cohesive and consistent cross-platform experience.

Unlike the previous set, which utilized varying opacity levels, the new icons feature a uniform, full opacity. This deliberate shift simplifies color customization, enabling adjustments in a single step, while also ensuring compliance with accessibility standards.

Moreover, the integration of this new icon set into our Baseline UI design system reflects our commitment to a cohesive design framework that evolves in tandem with our products. This ensures that our iconography remains aligned with the latest design standards and user expectations, contributing to a seamless and intuitive user interface (UI) across our platforms.

Our Process for Redesigning Icons

Designing icons can be approached in many ways, and we’d like to share the process we followed to create a cohesive set for our design system.

Establishing a Single Source of Truth

The single source of truth for our designs is the Baseline UI design system, which matches the designs prepared in Figma exactly. To maintain consistency and save time, the first recommendation is to collect all icons in a single Figma page. This approach provides a clear overview of the available icons and ensures a unified design language.

Sizes

Our design system includes icons of various sizes: from Extra Extra Small (8 × 8 pixels) to Large (24 × 24 pixels). Before creating a new icon, verify the required size to ensure it fits seamlessly into the existing set.

We use a combination of outline and filled icons, with a stroke width of 1.5 pixels for the outline icons. Lines have rounded caps, and corners are rounded as well. This consistency in style helps maintain a uniform look across the set.

Step-by-Step Icon Creation Guide

1 — Create the Frame

Start by creating a frame of the desired size.

2 — Design the Shape

Design the desired shape by following style guidelines. Test the icon at 100 percent zoom, try it in the UI, and make adjustments if needed.

3 — Save the Work File

Save this version as a work file without creating a component.

Information

Tip: Our approach to immediately differentiating the working icon files from the final icon set is to use a different color — violet in our case.

4 — Prepare the Icon for Final Use

  • Duplicate the frame with the icon you’re happy with.

  • Select all layers in the icon’s frame and right-click them. A dropdown menu will appear on the screen, from which you’ll select Outline stroke.

  • With all the layers selected, go to the main menu and select Object > Boolean Groups > Union selection.

  • Flatten the selection by right-clicking the layer to merge all the strokes into a single shape.

  • Ensure there’s only one path in the SVG tag by going into dev mode and selecting the frame. If multiple paths exist, copy the icon as an SVG, paste it into Adobe Illustrator, make a single compound path, and then copy and paste the icon back into Figma.

  • If needed, repeat the flattening step.

Flattening is important for several reasons. First, it allows you to save the individual path of every icon instead of saving the entire SVG, which significantly reduces the file size and saves space. Second, animating an icon with a single path is much easier compared to dealing with multiple paths, leading to smoother and more efficient animations.

5 — Name the Layer

To ensure the icon will inherit the specified color styles when used in the design system components, it’s essential to always name the single icon layer in all icons the same thing. We simply name the layer “icon” in lowercase.

6 — Constraints

We aren’t scaling the icons in the UI, so we set all constraints to center.

7 — Color Tokens

Use the correct color token (e.g. color.icon.primary) to ensure the icon inherits styles correctly. Read more about design tokens in this article.

8 — Create the Component

Create a component from the frame.

9 — Naming

Name the component according to your conventions. We follow a few simple guidelines:

  • Use kebab-case.

  • For composite names, the main noun is the first in the name.

  • Name an icon based on what’s in the shape, not what it represents — for example, “sun” and not “brightness.”

  • Our icons are, by default, outline icons, but we do have a few icons that have matching filled versions that are needed in our UI. To those icons, we add the -filled suffix.

Using these master icons when designing components makes it easy to swap out icons while preserving any style overrides.

Streamlining Developer Handover

For integration into Baseline UI, we export icons in .svg format. SVG is an XML-based vector graphic that supports transparent backgrounds and scales without quality loss. To ensure the fill color is programmatically defined, we set the fill of the single path inside the SVG to “currentColor” using the SVG Export plug-in in Figma. Select the master components, open the plug-in, and choose currentColor from the presets dropdown.

For a detailed guide on using Baseline UI icons in your project, see here.

Conclusion

Redesigning our icon set was a crucial step in enhancing the visual consistency and accessibility of our products as well as streamlining our processes internally. By including it in the Baseline UI design system and simplifying the customization process, we aim to provide a better experience for both designers and developers. We hope these insights and tips will help you create and integrate your icon sets more efficiently, ensuring a seamless fit with your branding and functionality needs.

Authors
Maša Majce Designer

Maša is super fond of the challenges of the digital day and age. Her approach to design is driven by curiosity. You might also find her at a dance studio or exploring the streets to find inspirational architecture and design.

Petra Bukovinski Designer

Petra loves to take on complex design problems. She believes that good design is a reflection of a company’s vision. When not designing, she can be found in nature or experimenting in the kitchen.

Explore related topics

Share post
Free trial Ready to get started?
Free trial