One year in Figma. Subjective tour through pros and cons

The performance evolution you won’t notice just by starting with this tool nowadays

During the last year I’ve been using Figma. You’ve probably heard of it before. Never used Sketch, so no comparison will appear in this article. I will walk through the advantages and disadvantages, based on my personal observations. Everything said will be subjective. I started to use Figma at the moment when the behavior behind the components was rather crude. The evolution was happening almost imperceptibly during the year. Today, the elements within the component interact with each other in a more logical and ordered way.

Evolution is impossible without the consumer participation

The Figma team listens to us — users, which means that we have faith in the perfect tool that Figma will eventually turn into. Using my own digital product as an example, I was able to see how the environment’s productivity has grown over the past few months.

They apparently didn't expect such a number of components

When I developed my first design system in Figma earlier this year, I ran into a performance threshold. “Oops, they didn’t seem to have expected so many components,” I thought, after another long wait, until the primary color redraws for all the templates in my product. It is used in more than a hundred components. It's because the system is huge itself: 1682 components, of which 1171 material icon and 511 design module. And it’s all broken down into 25 pages: Buttons, Inputs, Application barts, Bottom navigation, and so on.

Preview components http://setproduct.com/material/components

Now this system is still the largest. I recommend it to those who do not want to waste time on creating design system architecture from scratch. You just take my product, customize it if necessary, editing only the master components: colors, backgrounds and fonts (all changes will apply to hundreds of components automatically) and collect your prototypes like a puzzle. Everything is ready here! Stop redrawing all the same design elements every time. Learn more about design system for Figma

I literally felt performance improvements

Gradually, in the process of developing my system, I began to notice that many processes in Figma started to occur quicker. Since I constantly had to change a million little things for a variety of objects, I immediately recorded the moments when it began to happen faster. Then even faster. And faster!

I hope it happened due to someone from Figma management has bought my product and redirected it into development department to run some performance tests all over again. Now with tons of components at one system!

They were definitely optimizing something as if there had been no reason for that before. Figma is a cool product, but not devoid of drawbacks. I will list three main ones, which in my opinion reduce the speed of work:

Lack of global colors

So far, we have to invest color as a component in each module to get a design system that is flexible for customization. They already working on it, but nevertheless. I believe that the introduction of global colors can greatly improve the performance of a bulk atomic system. Hundreds of components will get rid of an extra nested element that needs to be redrawn whenever you change the color scheme.

No search by local components

The search becomes available only after you publish it into team library. For example, it is acceptable for teams. But it is unacceptable for an average freelancer who wants to use his design system for his own clients. He clones it for a new client and quickly customizes for his needs. And he, incidentally, also needs the search. And absolutely do not need the features of the team.

Without search, work in the ‘Components’ tab (Alt-2) becomes extremely difficult if you operate among 500+ design modules

Difficult work in Instance if there are many items

This becomes important when there are many components and they have many similar duplicates, but with small changes. For example, a dozen of cards, hundreds of icons. You will not be able to quickly find the desired card module in the drop-down list if they are called like Card 1, 2, 3, 4…. N. And it's not a very good idea to turn the name of the component in it’s description.

To be honest, I don’t want to scare you with these drawbacks. I perfectly understand that a team of developers has a huge to-do list and it`s impossible to please all the clients, trying to execute wishes of everyone. After all, the company has to balance between the movement on its own business trajectory and hundreds of new requests, which Feature request section in the chat is daily updated by. There are a lot of pros, I will mention only those which delight me personally.

The components principle

The very principle of the components is amazing. For example, you offset any element within a component and it is offset in tens or hundreds of subordinates. Bulk editing in just 3–5 steps.

Smart objects snapping

Snap is so well thought out and sensitive that you can work with multiple objects at once at a great distance. You will move and move them and without worrying about missing into the grid.

Progressive selection

I select a lot of objects and I’m not afraid to miss, because the selection is saved in the history of actions. And if you combine selections with pressing Ctrl/Alt keys, many routine actions go into semi-automatic mode.