Why I’ve created a UI starter kit
This article explains why I’ve created Bica, a flexible UI starter kit. Read on to learn about my thoughts or get the kit directly here.
Product design shares several recurring elements and technics, so I found it might be a good idea to work with a starter kit to save some time. Unfortunately, most of the available ones didn’t satisfy me 100%, which drove me into creating Bica – my own UI starter kit built solely for Figma and its excellent features. In this article, I’d like to explain my perception of what makes a good UI starter kit, the limits of most available ones, and how Bica is trying to do things differently.
For me, a good starter kit makes it easy to wireframe quick concepts but is also helping when getting serious with a design by taking care of the following matters:
- Essential UI components
- Component architecture
- Library organization
Creating a typography system is mostly about assembling sizes of one or more typefaces with a suitable scaling method, setting a pleasant line-height, and incorporating different weights. It’s not a stretch to say that I wouldn’t overthink it. You don’t need numerous font-sizes calculated by a sophisticated ratio (like the golden-ratio or major-third, etc.) to create and design easily readable interfaces. A simple scale with 8 to 12 size options should suffice.
Most available starter kits organize their typography by modeling headings, paragraphs, or other specific text applications, which I found a bit inflexible. When I start designing, I want to play around with various options before committing to a particular usage. Bica is making no assumptions on how you might use its options. It provides multiple text styles without naming them after specific applications. So, you can sketch around without being forced into a rigid system.
Having a spacing system comes with many benefits: Consistent aesthetics, less decision-making while preserving a quality rhythm between elements, better multi-platform design, and better communication between designers and developers. As most popular screen sizes are divisible by eight on at least one axis, a 4- or 8-point spacing system is the favorable solution by many experts, including Google’s Material Design team. However, it’s also pretty okay to rock a 2-point spacing system.
Some UI starter kits do not provide any guidance if or how they implemented a spacing method. Bica encourages a 4-point spacing system that scales up from 4px to 256px along 12 steps, which you might want to use to lay-out items on a page consistently.
A beautiful and flexible color palette is key to every project. Where the evaluation of ‘beautiful’ is subjective, the classification of ‘flexible’ is objectively describable. For me, a flexible palette assembles tints and shades around a set of colors. Colors and their variations should be potentially interchangeable by having analogical hues. For example, switching between a light Purple and a light Blue should feel natural.
Several available starter kits organize their colors by naming them primary, secondary, success, or warning indicating specific usages. I found this too precise when starting a design. In contrast, Bica uses literal color names (like red, green, etc.) and a numeric scale (where 50 is light, and 900 is dark). This allows you to play around with colors of the palette before committing to a specific usage.
Effects in Figma are technically configurations of shadows and blurs. UI designs primarily make use of shadows to provide elevations and focus-states. In Figma, you can set effects as global styles, so a little collection of pre-defined effects is valuable when kicking-off a new design.
As most UI starter kits include elevations, most forget about focus-states. Besides different elevations, Bica includes also outline shadows to indicate focus-states for input fields.
Icons help to make interfaces appear visually more exciting and often help users to scan for interaction possibilities faster (assuming the designer considers widespread conventions). So, a consistent icon library with plenty of options is a helpful thing to have from the beginning. All icons should have the same aspect ratio and size so that they can be changed easily. It’s most common these days that icons get aligned, placed, and distributed in 24x24px frames.
My experience with other starter kits is that most of them include icons but not enough of them. I always needed to add icons to keep on working, which put me out of my flow. Hence, Bica includes Google’s Material Icons (Rounded), which are commercially free-to-use (Apace 2.0 License), giving you a complete suite of icons to start sketching without worrying about missing icons or consistency. However, you are always free to add your icon library of choice.
6. Essential UI components
Due to the rise of component frameworks, interfaces share a range of UI components that function predictably. For example, selects, sliders, input fields, or date pickers share common UX patterns across their respective platforms. Ideally, UI starter kits for graphic programs should recreate these concepts.
Some UI starter kits I’ve tested provide a pretty solid collection of essential interface elements, and then some overlooked to include basics like a date picker, for example. Some of them missed delivering their components with a complete set of states, and others just provided them in one size. In contrast, Bica is shipping a suite of essential components with variations for different interaction- and system-states in three different sizes.
7. Component architecture
Components should be easily customizable. Therefore, Figma provides a bunch of cool features: Foremost the way components and their instances work but also features like Constraints, and Auto-Layout help to create super-smart components. With these tools, the architecture of components could be split into two parts:
- Master components (also called primitives) to provide the overall structure.
- Re-componentizes instances to implement variations by hiding, changing, adjusting content, elements, or colors.
There are few to none UI starter kits out there that get this right which probably leads back to their compatibility with Sketch. However, Bica is built solely for Figma and therefore is able to inherit the above concept. For example, a master button component adds icons on the left and right sides of the text. Due to Auto-Layout, you can use this master to create all possible re-componentized variations by hiding icons on either side or changing text and colors.
Bica also takes care of the responsiveness of most components so you can resize them as you like.
8. Library organization
A UI starter kit should aim for a clear yet lightweight organization. It should be easy for users to find things and understand quickly how styles and components are organized. An unbranded (white-labeled) experience is beneficial to make a starter kit more adaptable.
Some starter kits provide (“automatic”) style guides forcing you into a linear system. In contrast, Bica tries to be more open by providing a clean but organized canvas without any assumptions.
There are many UI starter kits available, and most of them do a good job. I missed features in some, which I found better handled in others. I want to make clear that my UI starter kit wouldn’t be possible without the excellent works and concepts of other designers. Bica is taking in a whole range of different ideas by mixing them. Further, I added my views to create a unique experience that I, for myself, want to use, and I hope others will like my approach as well.