A few new plugins for converting styles to variables came out last week, and I’m still trying to pick a favorite. The best part of Styles to Variables Converter is that after creating variables it updates existing styles to use them, so if you delete or detach styles objects will fall back to variables. A slightly more popular Styles to Variables plugin doesn’t seem to do this yet. I also wish these plugins let me map styles to existing variables, or at least specify a target collection.
An in-depth session with Designer Advocate Miggi, Software Engineer Ricky Rajani, and PM Garrett Miller on how to build even higher fidelity prototypes with less complexity.
Starting point for the new advanced prototyping in help articles.
See how variables, conditional logic, and expressions can let you build more realistic prototypes with fewer frames and connections. Available on Professional plan and up. “Prior to variables, prototypes that have changing states e.g. adding items to cart, required duplicating frames and connections to mimic those flows. Now, you can set and modify variable values with prototyping actions to create dynamic prototypes with as little as a single frame and couple of interactions!”
A short video tutorial on building advanced prototypes with variables and two new prototyping actions: Set Variables and Conditional.
“159 variables across 13 modes, totaling 1,843 values” — cheers to the Figma API!
🎨 How is @spotifydesign & Encore using the new Figma Variables?
— Shaun Bent 🇸🇪 (@shaunbent) June 22, 2023
159 variables across 13 modes, totalling 1,843 values, all algorithmically generated and pushed into Figma using the REST API triggered by changes made to our code source of truth.#Config2023 @figma pic.twitter.com/52B2SxACr7
Cool to see how Atlassian has already rolled out the variables support to their massive Components and Design Tokens libraries.
Zander Whitehurst shows how to switch color modes with new variables, supafast!
Switch designs from light to dark mode in @figma, supafast! ⚡️ pic.twitter.com/fZ2P0VK38h
— Zander Whitehurst (@zander_supafast) June 21, 2023
I was wondering what variables mean for Tokens Studio. Turns out the new version 1.37 already supports them, and the founder is very excited: “…this removes the need for the plugin to do all the heavy lifting itself. Applying design tokens should not be a plugin’s job, and I’m looking forward to Figma supporting even more token types and values!” Jan also answers some questions in this short video.
Today's an exciting day for anyone using design tokens! With today's Figma release there's going to be native tokens in the form of 🌶️ Variables! Now… will Tokens Studio support this? Hell yes! We just released 1.37 of Tokens Studio for Figma with support for Variables! pic.twitter.com/SK11FT3spI
— Jan Six (@six7) June 21, 2023
Developer Advocates Jake and Akbar made a couple of sample plugins for importing/exporting variables and converting existing color styles to variables. (Also, Ryhan provides an interesting insight into how Figma migrated from color styles to variables in their internal design system.)
🛠 Plugins to help you along the way
— Figma (@figma) June 21, 2023
Our developer advocates @jak___e and @actuallyakbar have published a number of plugins to help you get started.
👉 Variables import/export plugin: https://t.co/HpyNOJ0JGd
👉 Styles to variables converter: https://t.co/ud7XFW2NpU pic.twitter.com/69T42lPAKM
Confused by how variables are different from styles? Design Systems Product Manager Jacob Miller explains: “Styles can contain multiple fills as well as blend modes, and that restricts their use case for design-code alignment and where we can apply them. […] Variables are a single value. They’re more atomic. This means we will be able to use color variables anywhere you see a hex code.” This is my favorite way to think about it: “One way to think of it is a style is a CSS class (a group of values), whereas a variable is like a CSS variable.”
Styles can contain multiple fills as well as blend modes, and that restricts their use case for design-code alignment and where we can apply them.
— Jacob Miller (@pwnies) June 22, 2023
I.e. you can’t apply a style to the color of an effect or a gradient stop, because how would that work if the style were composed…
A starting point in help articles about variables: “Variables in Figma store reusable values that can be applied to all kinds of design properties and prototyping actions. They help save time and effort when building designs, managing design systems, and creating complex prototyping flows.”
Speaking of help articles, in Figma Beta Features you can see that additional variable types (images and typography), properties (strokes, effects, opacity), and extended collections (Enterprise-only) are coming later this year.
An in-depth session by Designer Advocate Luis Ouriach and Design Systems PM Jacob Miller on how you can level up your design system in Figma for better scalability, theming, and more using variables.
An interactive playground designed to help you get started with variables. These playgrounds are the best step-by-step guides to new Figma features.
This short video tutorial covers how variables work, and how to use them to represent design tokens and account for different modes and themes.
Dylan’s recap of all the updates from the keynote, in a brand-new blog. “Our vision is to build a new kind of design tool — one that is designed for the entire product development team. Today’s launches reimagine how design and development come together in Figma. I’m excited to introduce three ways we’re doing this: making developers feel at home in Figma with Dev Mode, connecting design to the language of code with variables, and putting a step in between a 2D design and a shipped product with advanced prototyping.”
If you have time for only one thing this week, this should be it. First, Figma CEO Dylan Field introduces new features — variables, auto layout updates, and advanced prototyping. Then, CTO Kris Rasmussen talks about rethinking product building from the ground up and how the new Dev Mode is bringing design and engineering closer together. In the end, Dylan talks about file browser refresh, font previews, and what AI could look like in Figma — wrapping things up by announcing the acquisition of Diagram.
I watched every Config keynote over the years, and this year’s announcements were the most anticipated and ambitious ever. It’s incredible to see how Figma is growing in depth and breadth at the same time, now providing incredibly advanced tools while covering an entire product-building process from brainstorming to design to development. Exciting time to be a maker.