Modern design tools–both the vector and code kind–are amazing pieces of software that in recent years have transformed the design profession, but none of them seem to really understand the context that we currently design for. The remnants of fixed dimensions are still visible, and the tools are not helping us with the considerations and trade-offs that designers have to make in their work. Here are some of the features that my ideal design tool would support natively.
Design libraries should work for agency designers
Libraries in applications like Sketch, Figma, and Adobe XD work well for product designers, but much less so for agency designers.
To understand why, let me explain the difference between product and agency designers. Product designers are people who work on a single, or a couple of products that their company creates. Think of the design team at Airbnb or indeed, companies like Sketch itself. These designers might have a single design system or style guide that they work from, with a single or couple of projects built on top of this design system.
Agency designers on the other hand are the designers that work in web agencies, where at any time they might be working on projects for a half-dozen clients, each with a different design system (if at all) or style guide and varying levels of design maturity. These designers switch between projects often and might even have to hand over assets to a new designer depending on their project planning.
For product designers, the current implementation of design libraries works well. They might have just one or two (web and mobile, for example) design libraries that share their overall style. Since all design libraries are available for all design files, this works out well.
Agency designers on the other hand, might have 10 or 20 different libraries. Some will be current project but some will be projects they have recently finished, but might have to work on again in a next revision. Because of this they will need to be constantly diligent about using symbols only from the right design system, or they must consistently activate and deactivate design libraries when moving between projects. As you can imagine this is not a nice experience.
Many agency designers will either not use design libraries at all, or use generic design libraries like UX Power tools to support system design work, which leads to more generic designs for their clients.
Coupling design libraries to specific designs would be a first step in making design libraries more useful for agency designers.
The other issue is creating these design libraries. Agency designers would benefit greatly from having design libraries available for them, but not every client has them, and agencies often don’t have the time or budget to create one for each project.
As a particularly motivated agency designer, you could create a design library in tandem with the design you’re working on, but continuously switching between a web/mobile design file and a design system file is cumbersome. Being able to “send component to design library” while you’re designing would make creating a design library a much lower friction activity, making it accessible to far more people.
Design libraries should become design token libraries
Design libraries are also limited in the type of things they share: just components or symbols. This works great if all your design work is just clicking together new screens with the same components, but anything new will see designers clicking into components and copying over things like colors, font variants, and checking spacing just to copy that over into new components. When you copy over things, you’ll invariably make mistakes (we’re just human after all).
If design libraries offered a UI to choose from as well as the provided symbols, then creating new components in your design would be faster and less error-prone. Which leads me to the next point:
Limit options to design tokens
The most telling UI problem for this is the color picker. By default, your favorite design tool color picker will let you pick colors from the entire RGB spectrum. The same for fonts, and the same for spacing (a literal infinite number of options there). This puts the onus of maintaining consistency fully on the designer. This is insane, because computers are far, far better at this.