{"id":28522,"date":"2024-08-02T05:00:00","date_gmt":"2024-08-02T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=28522"},"modified":"2024-08-05T08:53:55","modified_gmt":"2024-08-05T06:53:55","slug":"harmonizing-design-and-development-design-tokens-in-ux-ui-dev-collaboration","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/en\/harmonizing-design-and-development-design-tokens-in-ux-ui-dev-collaboration\/","title":{"rendered":"Harmonizing design and development \u2013 design tokens in UX\/UI-Dev collaboration"},"content":{"rendered":"\n<p>As design systems become a hot topic in the industry, it is worth taking a closer look at design tokens \u2013 a tool many design systems, including the world\u2019s most popular Material Design or MUI, have introduced to optimize the implementation and management of UI components and a buzzword for what you, as designers and developers, might already be using in one form or another.<br><br><\/p>\n\n\n\n<p>Regardless of your role \u2013 a designer, a developer, or a knowledge-seeking manager, <strong>this article will help you get an overview of what design tokens are.<\/strong><\/p>\n\n\n\n<p>I will briefly introduce their history, explain the concept and its application to design and code, the role they play in streamlining the design-development collaboration, and how that transfers to organizations managing their branding at scale. &nbsp;&nbsp;<\/p>\n\n\n\n<p>If you still have no idea what I am talking about, no worries; this article will give you the basics to get started. Ready? Let\u2019s begin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>But why design tokens at all?<\/strong><\/h2>\n\n\n\n<p>As designers, we work towards answering user needs, as well as meeting certain business goals. Therefore, before we jump to explaining the article\u2019s subject, I would like to <strong>focus first on the business matter design tokens tackle.<\/strong><\/p>\n\n\n\n<p>Looking at the world\u2019s organizations, we can determine one thing they all have in common \u2013 branding. Developed at higher or lower levels, it is the visual language that differentiates one from another and allows them to communicate with their target audience in a particular manner.<\/p>\n\n\n\n<p>In modern times, when industries rely on far more diverse channels than they used to in the past, considering not only printed media but a myriad of screen devices, design systems \u2013 codified brand languages \u2013 come to the aid of everybody involved in the process of creating communication to help maintain branding usage consistency.<\/p>\n\n\n\n<p>We can safely say that your organisation\u2019s branding is the pillar of its communication and a key factor in building your audience\u2019s trust.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Let&#8217;s look at tokens as an example<\/strong><\/h3>\n\n\n\n<p>How would one react to mailing or a website of an institution they trust their funds with, if they saw an outdated logo or interface colours not matching the visual language of the brand. Would it not seem odd and rather suspicious?<\/p>\n\n\n\n<p>Now, to illustrate the importance of being able to apply branding decisions at scale, I am going to draw on a story that <a href=\"https:\/\/specifyapp.com\/blog\/introduction-to-design-tokens#:~:text=Let%20me%20tell,developers%20can%20use.\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Louis Chenais once used<\/a>.<\/p>\n\n\n\n<p>Let\u2019s imagine you are a designer at a large corporation. As the Head of Design, your new rebranding task is simple \u2013 it requires updating the main brand colour with a new one.<\/p>\n\n\n\n<p>The rebranding is finalized, and you \u2018only\u2019 need to apply it across all the corporation\u2019s product interfaces, which include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>company&#8217;s website,<\/li>\n\n\n\n<li>a web app,<\/li>\n\n\n\n<li>an Android app,<\/li>\n\n\n\n<li>an iOS app.<\/li>\n<\/ul>\n\n\n\n<p>\u2018No biggie,\u2019 you think, excited about reaching the goal, and ask the managers of the relevant engineering teams responsible for each product to update the colour from X (the old one) to Y (the new one), providing them with RGB (colour space) values.<\/p>\n\n\n\n<p><strong>That is where it gets a little wild<\/strong>. You start receiving questions about other colour formats to work on different platforms, and people trying to determine if the update should affect all the UI components. Some managers are not even responding, which makes the update implementation in their areas doubtful.<\/p>\n\n\n\n<p>Ensuring the correct application of this one change proves to be a daunting challenge without a common \u2018design language\u2019 both designers and developers could use.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>So, what business problem do tokens solve?<\/strong><\/h3>\n\n\n\n<p>Back in the day, large organizations wasted months on propagating branding changes to their digital products, which now provide products based on design tokens, taking minutes. What is the business issue that design tokens solve, then? <\/p>\n\n\n\n<p>Long story short, <strong>design token implementation saves your organization\u2019s money as you no longer need months and often hundreds of people\u2019s work to implement simple design decisions into code across various platforms, risking inconsistency and <\/strong>negatively affecting your brand\u2019s image.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Alright, design tokens&#8230; what?<\/strong><\/h2>\n\n\n\n<p>Let\u2019s take a step back to the birth of the concept of design tokens at Salesforce around 2015. Jina Anne on the design systems team, accompanied by Jon Levine on the engineering side, coordinated the conceptual, agnostic solution \u2013 a one-location design definition (the \u2018Single Source of Truth\u2019) propagated to all platforms \u2013 coining the term \u2018design tokens.\u2019<\/p>\n\n\n\n<p>Design tokens are the names that are used to convey design decisions, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>a colour,<\/li>\n\n\n\n<li>iconography,<\/li>\n\n\n\n<li>a typeface or a font size,<\/li>\n<\/ul>\n\n\n\n<p>in the design language of your organization. To be used and understood by everyone, those names should be a result of common decisions made by designers and developers with consideration of their workflows.<\/p>\n\n\n\n<p>We can describe design tokens as<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>(&#8230;) the visual design atoms of the design system \u2014 specifically, they are named entities that store visual design attributes.<\/em><\/p>\n<cite>Salesforce Lightning Design System<\/cite><\/blockquote>\n\n\n\n<p>If you are not familiar with the Atomic Design Methodology, the following illustration depicts the concept on the example of the Instagram interface piece broken down from a page to actual atoms, placing design tokens as subatomic particles, meaning the values that atoms consist of.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3.png\"><img decoding=\"async\" width=\"819\" height=\"340\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3.png\" alt=\"Atomic Design Methodology\" class=\"wp-image-28469\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3.png 819w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3-300x125.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image1-3-768x319.png 768w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 1 <a href=\"https:\/\/atomicdesign.bradfrost.com\/chapter-2\/#:~:text=Atomic%20design%20is%20atoms%2C%20molecules,parts%20at%20the%20same%20time.\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Atomic Design Methodology<\/a><\/figcaption><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em><em>Design tokens are a language for communicating intent between disparate parts of a system<\/em><\/em>.<\/p>\n<cite>Ethan Marcotte, &#8220;<a href=\"https:\/\/specifyapp.com\/blog\/introduction-to-design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Design-ish systems<\/a>&#8220;<\/cite><\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>And more clearly?<\/strong><\/h3>\n\n\n\n<p>To better illustrate the concept, let me use a metaphor.<\/p>\n\n\n\n<p>Imagine you have a dog. Your dog\u2019s name is \u201cCharlie,\u201d but you also call him \u201cLittle Rascal\u201d and \u201cMuffin,\u201d depending on the circumstance.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2.png\"><img decoding=\"async\" width=\"804\" height=\"524\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2.png\" alt=\"Metafora koncepcji tokena projektowego\" class=\"wp-image-28471\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2.png 804w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2-300x196.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image2-2-768x501.png 768w\" sizes=\"(max-width: 804px) 100vw, 804px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 2 Design token concept metaphor<\/figcaption><\/figure>\n\n\n\n<p>Regardless of what you call your dog, it\u2019s still the same pet (contrary to what you may think when it has just destroyed your favorite piece of furniture). Design tokens work the same. In place of using hard-coded values \u2013 like hex for colour, pixel for spacing, etc. \u2013 you name those values. It is like giving nicknames to your design decisions. Let\u2019s have a look at the colour analogy below.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1.png\"><img decoding=\"async\" width=\"806\" height=\"229\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1.png\" alt=\"Design token concept analogy on a colour example\" class=\"wp-image-28473\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1.png 806w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1-300x85.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image3-1-768x218.png 768w\" sizes=\"(max-width: 806px) 100vw, 806px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 3 <a href=\"https:\/\/thedesignsystem.guide\/design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Design token concept analogy on a colour example<\/a><\/figcaption><\/figure>\n\n\n\n<p>Design tokens are intended to be used in your design system and across your products. To enable that, you need to transform them for use on various platforms (Web, iOS, or Android) by different teams.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1.png\"><img decoding=\"async\" width=\"799\" height=\"380\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1.png\" alt=\"How design decisions are transformed into design tokens to be used in specific platforms\" class=\"wp-image-28476\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1.png 799w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1-300x143.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image4-1-768x365.png 768w\" sizes=\"(max-width: 799px) 100vw, 799px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 4 <a href=\"https:\/\/uxdesign.cc\/design-tokens-for-dummies-8acebf010d71\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >How design decisions are transformed into design tokens to be used in specific platforms<\/a><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>W3C Design Tokens Standard<\/strong><\/h3>\n\n\n\n<p>If we want to ensure successful design token adoption in multiple apps, we need a standard securing consistency. The World Wide Web Consortium (W3C), led by Tim Berners-Lee and Jeffrey Jaffe, in cooperation with a plethora of organizations and individuals, works to provide the W3C Design Tokens Standard.<\/p>\n\n\n\n<p>It would allow other tools to communicate in the same \u2018language,\u2019 for example, enabling tokens from Figma to be taken and used in Adobe Illustrator. Imagine how it would speed up the workflow between marketing and product design departments!<\/p>\n\n\n\n<p>To learn more about the standard, please explore the <a href=\"https:\/\/www.designtokens.org\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Official Design Tokens Community Group<\/a> and the <a href=\"https:\/\/www.w3.org\/community\/design-tokens\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >W3C Design Tokens Community Group<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>How do we build with design tokens?<\/strong><\/strong><\/h2>\n\n\n\n<p>Now that I have covered the absolute basics of the design tokens concept, why don\u2019t we move further and dive a little bit deeper into different types of tokens and how they serve us to build designs?<\/p>\n\n\n\n<p>Each digital product is a structure of features that consist of interfaces. Every interface is built of components and composed of design tokens.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5.png\"><img decoding=\"async\" width=\"812\" height=\"375\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5.png\" alt=\"Product structure diagram\" class=\"wp-image-28478\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5.png 812w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5-300x139.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image5-768x355.png 768w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 5 Product structure diagram<\/figcaption><\/figure>\n\n\n\n<p>Let\u2019s break down a button component. You can see all the elements that we would translate to design tokens.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6.png\"><img decoding=\"async\" width=\"886\" height=\"418\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6.png\" alt=\"The anatomy of a button component showing design tokens composing it\" class=\"wp-image-28480\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6.png 886w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6-300x142.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image6-768x362.png 768w\" sizes=\"(max-width: 886px) 100vw, 886px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 6 The anatomy of a button component showing design tokens composing it<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>Some examples of design tokens<\/strong><\/strong><\/h2>\n\n\n\n<p>Here are some examples of common design tokens used in industry-standard design systems that you could encounter:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Colour Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Primary Colour \u2013 used for primary branding elements and calls to action.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Secondary Colour \u2013 complementary colour for accents and secondary elements.Neutral Colours \u2013 shades of grey used for backgrounds, borders, and text.<\/span><\/li>\n\n\n\n<li>Error\/Warning Colours \u2013 distinct colours for indicating errors or warnings in the UI.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Typography Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Font Family \u2013 primary and secondary typefaces used for headings and body text.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Font Size \u2013 different sizes for headings, subheadings, body text, etc.Font Weight \u2013 variations in font weight for emphasis and hierarchy.<\/span><\/li>\n\n\n\n<li>Line Height \u2013 consistent spacing between lines of text for readability.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Spacing Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Padding \u2013 standard padding values for buttons, cards, and containers.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Margin \u2013 standard margin values for spacing between elements.<\/span><\/li>\n\n\n\n<li>Grid Spacing \u2013 a grid layout system&#8217;s spacing between columns and rows.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Border Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Border Radius \u2013 standard border-radius values for rounded corners on elements.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Border Width \u2013 thickness of borders around elements.<\/span><\/li>\n\n\n\n<li>Border Colour \u2013 standard colours for borders around elements.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shadow Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Box Shadow \u2013 standard shadow values for adding depth and dimension to elements.<\/span><\/li>\n\n\n\n<li>Text Shadow \u2013 shadow values for enhancing readability and contrast of text.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Icon Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Icon Size \u2013 standard sizes for icons used throughout the UI.<\/span><\/li>\n\n\n\n<li>Icon Colour \u2013 default colour for icons or variations for different states (active, inactive, etc.).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Animation Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Transition Duration \u2013 duration of transitions between different states or interactions.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Animation Timing Function \u2013 easing functions for smooth animation effects.<\/span><\/li>\n\n\n\n<li>Animation Keyframes \u2013 keyframes for more complex animation sequences.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Accessibility Tokens<\/strong>\n<ul class=\"wp-block-list\">\n<li><span style=\"color: initial;\">Contrast Ratio \u2013 minimum contrast ratio between text and background colours for readability.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Focus Indicator \u2013 styles indicating focus on interactive elements for keyboard navigation.<\/span><\/li>\n\n\n\n<li>Screen Reader Text \u2013 hidden text for screen readers to convey information to visually impaired users.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Types of tokens<\/strong><\/h2>\n\n\n\n<p>We divide tokens into three categories (types). Each token type signifies a level of assigned context.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7.png\"><img decoding=\"async\" width=\"813\" height=\"370\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7.png\" alt=\"Token types on examples\" class=\"wp-image-28483\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7.png 813w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7-300x137.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image7-768x350.png 768w\" sizes=\"(max-width: 813px) 100vw, 813px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 7 Token types on examples<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Global tokens<\/strong><\/h3>\n\n\n\n<p><strong>Tier 1 (global) tokens \u2013 primitive values <\/strong>\u2013 are basic, contextless units of a Design Token System<strong>.<\/strong><\/p>\n\n\n\n<p>Whether you are a designer, a developer, or a project manager, you probably work with the brand colours of your organization, and there is a high chance that you operate on the hex (or any other) values in communication regarding those colours.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8.png\"><img decoding=\"async\" width=\"805\" height=\"149\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8.png\" alt=\"Hex applied directly to UI elements\" class=\"wp-image-28485\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8-300x56.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image8-768x142.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 8 Hex applied directly to UI elements<\/figcaption><\/figure>\n\n\n\n<p><strong>Why is it not the most comfortable solution?<\/strong> Let&#8217;s see:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>unless you know your hexes by heart (and let&#8217;s be honest \u2013 you might be the only one in the organization), <strong>the hex code does not describe the actual colour<\/strong>, making it unrecognizable,<\/li>\n\n\n\n<li><strong>it does not give any information about the design decision behind this colour<\/strong> (where it is supposed to be used, etc.),<\/li>\n\n\n\n<li><strong>it is easy to misspell the hex<\/strong>, leading to visual inconsistencies within the product.<\/li>\n<\/ul>\n\n\n\n<p><strong>Global tokens<\/strong> are names you give, for example, to hex values, to give an initial, consistent, and contextless description of those values that would be understandable to everybody working with them. This allows avoiding any &#8216;fifty-shades-of-grey&#8217; situations \u2013 accidentally ending up with several shades of your brand colour used in your product.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9.png\"><img decoding=\"async\" width=\"797\" height=\"239\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9.png\" alt=\"Global (core) token example\" class=\"wp-image-28487\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9.png 797w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9-300x90.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image9-768x230.png 768w\" sizes=\"(max-width: 797px) 100vw, 797px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 9 Global (core) token example<\/figcaption><\/figure>\n\n\n\n<p>According to the scheme above, naming your hex value &#8216;colour.blue.600&#8217; instead of using the hex value benefits you in several manners:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>colour is easily recognizable now,<\/li>\n\n\n\n<li>tokenized value is now defined as a variable in code, so any misspelling will be signaled as a code error.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10.png\"><img decoding=\"async\" width=\"812\" height=\"598\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10.png\" alt=\"Example of global tokens (Lightning Design System)\" class=\"wp-image-28489\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10.png 812w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10-300x221.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image10-768x566.png 768w\" sizes=\"(max-width: 812px) 100vw, 812px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig 10 Example of global tokens (<a href=\"https:\/\/www.lightningdesignsystem.com\/design-tokens\/#category-color\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Lightning Design System<\/a>)<\/figcaption><\/figure>\n\n\n\n<p><strong>Despite the obvious advantages<\/strong> of using global tokens, this <strong>is still not the perfect solution<\/strong>, and relying only on this type of token does not convey information about use cases of the colour nor allows automated, narrowed-down colour changes, affecting only particular groups of components. Instead, the dev team would have to look for suitable use cases and change the colour manually. What a waste of time, right?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>Alias tokens<\/strong><\/strong><\/h3>\n\n\n\n<p>Here comes the next design token type. <strong>Tier 2 (alias or system) tokens <\/strong>\u2013 context-specific names referring to design decisions behind values (what they &#8216;do\u2019). <\/p>\n\n\n\n<p>#0E6EE0, now called \u2018colour.blue.600&#8242;, will also exist in the system under different aliases, depicting its use cases. For example, \u2018colour.interactive.primary.background\u2019 would mean this colour is supposed to be used for the background of primary, interactive UI elements.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11.png\"><img decoding=\"async\" width=\"805\" height=\"284\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11.png\" alt=\"System (alias) token example\" class=\"wp-image-28492\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11-300x106.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image11-768x271.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 11 System (alias) token example<\/figcaption><\/figure>\n\n\n\n<p>As you can see in the example above, in case of any colour change, this operation would only affect the background of the primary interactive elements of the user interface, eliminating those without a blue background.<\/p>\n\n\n\n<p><strong>Introducing alias tokens to code results positively in:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>elimination of possible mistakes when copying to code (just like global, alias tokens are variables in code as well),<\/li>\n\n\n\n<li>making the token\u2019s purpose clear to both design and dev teams,<\/li>\n\n\n\n<li>speeding up the update process significantly, enabling devs to update component properties at a large scale easily,<\/li>\n\n\n\n<li>empowering developers and designers, allowing detection of potential incorrect use of properties (like text colour applied to icons) and correcting such errors by developers themselves or in communication with design,<\/li>\n\n\n\n<li>making designers rethink the need for additional values, such as colours, in the design system, reducing potential clutter and unnecessary system complexity.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12.png\"><img decoding=\"async\" width=\"813\" height=\"608\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12.png\" alt=\"Example of alias tokens (Lightning Design System)\" class=\"wp-image-28494\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12.png 813w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12-300x224.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image12-768x574.png 768w\" sizes=\"(max-width: 813px) 100vw, 813px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig 12 Example of alias tokens (<a href=\"https:\/\/www.lightningdesignsystem.com\/design-tokens\/#category-color\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Lightning Design System<\/a>)<\/figcaption><\/figure>\n\n\n\n<p><strong>When should you reach for alias tokens?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For example, tokenizing every colour across your design system would result in a giant global token set to maintain.<\/li>\n\n\n\n<li>If global tokens apply to text, icon, background, or border across multiple pages.<\/li>\n\n\n\n<li>If you have a multi-brand\/theme\/mode design system.<\/li>\n<\/ul>\n\n\n\n<p>Example:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13.png\"><img decoding=\"async\" width=\"807\" height=\"181\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13.png\" alt=\"Multi-theme design system alias tokens example\" class=\"wp-image-28496\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13.png 807w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13-300x67.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image13-768x172.png 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 13 <a href=\"https:\/\/thedesignsystem.guide\/design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Multi-theme design system alias tokens example<\/a><\/figcaption><\/figure>\n\n\n\n<p>Of course, using alias tokens comes with the responsibility of maintaining a larger set of colours and requires thorough and thoughtful system planning; however, in the long term, the perks prove to be worth the additional effort.<\/p>\n\n\n\n<p>There are cases when it is not advisable to rely on alias tokens. For example, if there is a colour that you need to use in your product, but it is not part of your brand&#8217;s visual language, or it would be used only once or for one particular UI element that should not be affected by global design decision changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong>Component specific tokens<\/strong><\/strong><\/h3>\n\n\n\n<p>For unique UI elements, it is appropriate to use Tier 3 (component-specific) tokens <strong>dedicated to distinct components and their properties<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14.png\"><img decoding=\"async\" width=\"805\" height=\"361\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14.png\" alt=\"Component tokens example\" class=\"wp-image-28498\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14-300x135.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image14-768x344.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 14 Component tokens example<\/figcaption><\/figure>\n\n\n\n<p>All of the above names (design tokens) mean the same hex value but in different contexts or regarding a different design system component \u2013 when you apply component-specific tokens, any possible design decision changes \u2013 e.g., colour updates \u2013 applied to it will affect only this component and the property the token refers to. In our case, it would be only the background colour of the primary button in its default state.<\/p>\n\n\n\n<p>As you can see on the diagram below, where I switch blue to pink, this is how tokens allow me to be specific about design decision modifications. You can apply particular changes (like colour) to selected tokens, affecting only particular UI elements.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15.png\"><img decoding=\"async\" width=\"807\" height=\"254\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15.png\" alt=\"Exemplary design token structure \u2013 from a core token to components\" class=\"wp-image-28500\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15.png 807w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15-300x94.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image15-768x242.png 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 15 Exemplary design token structure \u2013 from a core token to components<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16.png\"><img decoding=\"async\" width=\"805\" height=\"259\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16.png\" alt=\"Exemplary design token structure \u2013 colour change\" class=\"wp-image-28502\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16.png 805w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16-300x97.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image16-768x247.png 768w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 16 Exemplary design token structure \u2013 colour change<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Okay, but how do we come up with token names?<\/strong><\/h2>\n\n\n\n<p>I will not tell you exactly what naming convention to aim for when establishing a tokens system for your product, as it should be tailored to your product&#8217;s specifics and team preferences. Naming takes time, as teams need to invest effort into finding the perfect logic for them. Although looking for inspiration in open design systems is good, you need to remember that what works for one product does not necessarily have to be an ideal solution for yours.<\/p>\n\n\n\n<p>I will not elaborate too extensively on token naming, as it is a vast topic, worth in-depth exploration once you embark on a design token system building journey. However, let me share some good practices to consider while developing a design token naming system that would serve an organization well.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Token names \u2013 best practices<\/strong><\/h3>\n\n\n\n<p>Most importantly, token names should be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>as short as possible \u2013 to not overcomplicate the system,<\/li>\n\n\n\n<li>meaningful \u2013 to communicate design decisions clearly,<\/li>\n\n\n\n<li>easy to understand \u2013 for easy orientation and potential onboarding to the system,<\/li>\n\n\n\n<li>modular \u2013 for simplicity of building the system,<\/li>\n\n\n\n<li>consistent \u2013 to reflect the design system properly and facilitate understanding of the naming convention.<\/li>\n<\/ul>\n\n\n\n<p>When setting a naming convention for alias tokens, a good start will be building names about:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>category \u2013 the attribute a token refers to, e.g., colour, typography, spacing, shadow, border radius, etc.,<\/li>\n\n\n\n<li>concept \u2013 a situation a token describes, e.g., Information, warning, success, etc.,<\/li>\n\n\n\n<li>purpose (property) \u2013 where in your UI a token will be used, e.g., text, icon, background, border, heading, body, etc.,<\/li>\n\n\n\n<li>variant \u2013 potential variants of a token, e.g., states (active, inactive, disabled), sizes (XL, L, M, S), etc.,<\/li>\n\n\n\n<li>component (to be avoided unless specifically needed) \u2013 a component that will be affected by a token, e.g., button, checkbox, link, etc.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Token names \u2013 examples<\/strong><\/h3>\n\n\n\n<p>Such convention could look like this:<\/p>\n\n\n\n<p><strong>Category.purpose.variant&nbsp;&nbsp;<\/strong><\/p>\n\n\n\n<p>For example:<\/p>\n\n\n\n<p><strong>Colour.background.active<\/strong><\/p>\n\n\n\n<p>(describing the design decision made to assign a particular colour to the background of active UI elements)<\/p>\n\n\n\n<p>Next, you should focus on providing as much context as you can. Remembering that keeping token names as short as possible is worth making a token name a bit longer if it reflects the design decision well. After all, design tokens are not UI elements that end users would see but text information stored in code that developers operate on. Therefore, the more context they convey, the better.<\/p>\n\n\n\n<p>Design token naming conventions, especially those for multi-brand design systems that require multiple themes (visual language sets, e.g., specific brand colours, typography, iconography, etc.), may consist of many naming levels.<\/p>\n\n\n\n<p>For instance, if you need to distinguish tokens across brands in your design system, you may need to introduce product namespacing, which might look like this:<\/p>\n\n\n\n<p><strong>brand<\/strong><strong>.product.colour.information.background<\/strong> Namespacing allows developers to distinguish tokens in code and operate on them more comfortably.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>We have the system established. How do we manage it all together?<\/strong><\/h2>\n\n\n\n<p>Now that you know the basics of the design tokens concept and token naming conventions, it is time to present how using them streamlines design-dev collaboration.<\/p>\n\n\n\n<p>For better contrast, let me introduce you to the design handoff process in its classic shape, with no use of design tokens.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Classic process<\/strong><\/h3>\n\n\n\n<p>Commonly, we complete the following handoff steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The designer delivers the UI design in <a href=\"https:\/\/www.figma.com\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Figma<\/a> (the most popular collaborative interface design tool).<\/li>\n\n\n\n<li>The designer prepares UI specs (design documentation with handoff notes for dev).<\/li>\n\n\n\n<li>The designer hands off the design file and has a call with the developer\/dev team, who will be implementing the design, to discuss the specifics.<\/li>\n\n\n\n<li>Developers inspect the file and start coding.<br><\/li>\n<\/ol>\n\n\n\n<p>It seems quite simple at this level, considering the design will never change. However, product design is about evolution, and design changes are inevitable. Therefore, the above process does not end on the fourth step. Over time, as the brand evolves, there are more steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Let&#8217;s say the brand colour changed, and the designer needs to update the design; let developers know so they can update the code accordingly.<\/li>\n\n\n\n<li>There are also times when developers need to change something in the code, so they need to inform the designer to reflect those changes in the design.<\/li>\n<\/ul>\n\n\n\n<p>The more steps and iterations, the more space for mistakes. And let\u2019s be honest, overall, this amount of communication back and forth for just one colour update is a lot considering the daily workload.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17.png\"><img decoding=\"async\" width=\"801\" height=\"422\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17.png\" alt=\"Classic design handoff process (simplified scheme)\" class=\"wp-image-28505\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17.png 801w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17-300x158.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image17-768x405.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 17 <a href=\"https:\/\/designstrategy.guide\/design-system\/design-tokens-101\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Classic design handoff process (simplified scheme)<\/a><\/figcaption><\/figure>\n\n\n\n<p>We want this process to be as simple and automated as possible (like on the diagram below) to save valuable time for both design and dev teams.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18.png\"><img decoding=\"async\" width=\"810\" height=\"411\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18.png\" alt=\"Enhanced design handoff process using tokens (simplified scheme)\" class=\"wp-image-28507\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18.png 810w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18-300x152.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image18-768x390.png 768w\" sizes=\"(max-width: 810px) 100vw, 810px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 18 <a href=\"https:\/\/designstrategy.guide\/design-system\/design-tokens-101\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Enhanced design handoff process using tokens (simplified scheme)<\/a><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><strong>Introduction of design tokens<\/strong><\/strong><\/h2>\n\n\n\n<p>This is why introducing design tokens to the design-dev workflow is a game changer. Let me walk you through how we manage tokens and what a handoff involving them might look like.<\/p>\n\n\n\n<p>Assuming we have already brainstormed with developers and come up with the best naming convention to serve us all. We have tokenized the design system (translated design decisions \u2013 like colour usage for particular purposes \u2013 to tokens), we maintain and manage design tokens in one place (our single source of truth). This can be done using various tools and technologies. However, selecting the ones that best fit your team\u2019s workflow and target platform requirements and limitations is essential.<\/p>\n\n\n\n<p>Since Figma is our main tool of the trade and we hand designs off to devs as Figma files as well, it is key for the optimal workflow that we operate on design tokens in our native environment and that tokens used in code also find reflection in the designs that we pass on to development.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tokens in Figma<\/strong><\/h3>\n\n\n\n<p>In April 2024, in Figma, we are able to use tokens in two ways.<\/p>\n\n\n\n<p><strong>The first one incorporates the Tokens Studio for Figma plugin, which started as a tool to bridge the gap between Figma and code<\/strong>. It is a central place for designers to maintain a multi-brand\/mode\/theme design token library and seamlessly sync between design and code.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19.png\"><img decoding=\"async\" width=\"803\" height=\"473\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19.png\" alt=\"Tokens Studio for Figma \u2013 interface and code structure preview\" class=\"wp-image-28509\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19.png 803w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19-300x177.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image19-768x452.png 768w\" sizes=\"(max-width: 803px) 100vw, 803px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 19 <a href=\"https:\/\/zeroheight.com\/events\/design-system-awards\/finalists\/tokens-studio-for-figma\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Tokens Studio for Figma \u2013 interface and code structure preview<\/a><\/figcaption><\/figure>\n\n\n\n<p>Designers can easily build, store, and manage their design systems there. The plugin allows the application of the tokens to design elements, syncing between the plugin and Figma-style libraries. We can also sync with a remote repository, which streamlines the cooperation with developers as we do not need to even leave Figma to forward any system changes to the dev team to update code.<\/p>\n\n\n\n<p>Of course, it is not a perfect solution from the design standpoint, as we need to rely on the plugin instead of being able to apply design tokens directly via the Figma UI.<\/p>\n\n\n\n<p>Being a dynamically developed and updated software, in 2023 at their annual product conference, <strong>Figma unveiled variables<\/strong>, providing designers with ability to establish design systems directly within the Figma app.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20.png\"><img decoding=\"async\" width=\"796\" height=\"519\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20.png\" alt=\"Zmienne Figma obs\u0142uguj\u0105ce tokeny projektowe\" class=\"wp-image-28511\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20.png 796w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20-300x196.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image20-768x501.png 768w\" sizes=\"(max-width: 796px) 100vw, 796px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 20 <a href=\"https:\/\/help.figma.com\/hc\/en-us\/articles\/15145852043927-Create-and-manage-variables\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Figma variables supporting design tokens<\/a><\/figcaption><\/figure>\n\n\n\n<p>Figma does not fully support typography and text related tokens in variables yet, however we are able to store those tokenised properties as styles and effects directly in the app (still using the same naming as developers would in code). We expect variable support in this area to be introduced soon as well.<\/p>\n\n\n\n<p>Depending on the type of Figma licensing plan, we are capable of exporting tokens directly from Figma either, using an additional dedicated plugin to export a .json file (that might be imported to other Figma files and used by developers) or sync directly between Figma files (option available with the most advanced Figma licence plan).<\/p>\n\n\n\n<p>Once we have our design tokens workflow established on Figma level, to propagate those tokens across your organisation\u2019s platforms, you will need to transform them, for example with the most popular transformer \u2013 <a href=\"https:\/\/amzn.github.io\/style-dictionary\/#\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Style Dictionary<\/a> (by Amazon), which allows converting design tokens to CSS variables.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21.png\"><img decoding=\"async\" width=\"795\" height=\"673\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21.png\" alt=\"Colour tokens Figma-code flow\" class=\"wp-image-28513\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21.png 795w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21-300x254.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21-768x650.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image21-400x340.png 400w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 21 <a href=\"https:\/\/dev.to\/ainatenhi\/syncing-design-tokens-with-tailwind-css-theme-4d4d\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Colour tokens Figma-code flow<\/a><\/figcaption><\/figure>\n\n\n\n<p>For better understanding, let\u2019s have a closer look at the process of adapting design tokens to a form consumable by the downstream applications.<\/p>\n\n\n\n<p>Design tokens are exported by Tokens Studio in a .json file structure. I already mentioned that <strong>the Tokens Studio plugin is able to link directly to a remote repo (GitHub for example), which means that a designer can push changes to and pull from the master repository<\/strong>. It plays significant role in speeding up our workflow, since we do not need to manually export a .json file and forward it to the dev team to upload to the repo, which would require additional communication and time.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22.png\"><img decoding=\"async\" width=\"798\" height=\"190\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22.png\" alt=\"Design tokens transformation journey scheme\" class=\"wp-image-28515\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22.png 798w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22-300x71.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image22-768x183.png 768w\" sizes=\"(max-width: 798px) 100vw, 798px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 22 <a href=\"https:\/\/bootcamp.uxdesign.cc\/piping-design-tokens-from-figma-8a086a6ac17c\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Design tokens transformation journey scheme<\/a><\/figcaption><\/figure>\n\n\n\n<p>Having a working JSON structure, Style Dictionary is fully capable of meeting your requirements. Once it translates raw JSON data into a format specific to a platform, it can generate various output formats.<\/p>\n\n\n\n<p>To give you an example, you would use Style Dictionary to translate values from RGB in .css for web to RGBA in .json for iOS or to 8-digit hex (AARRGGBB) \u2013 for Android platforms.&nbsp;<\/p>\n\n\n\n<p>For even more consistency, teams often decide to not only store components in <a href=\"\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Figma, but<\/a> use Storybook as well.<\/p>\n\n\n\n<p><a href=\"https:\/\/storybook.js.org\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Storybook<\/a> is an opensource frontend workshop environment for building UI components and pages in isolation \u2013 it is a library that stores design system including brand\u2019s visual language, components and patterns. Since it functions outside of the main app, it can serve as a playground, allowing for building components regardless of the dependencies or the app\u2019s requirements.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23.png\"><img decoding=\"async\" width=\"616\" height=\"756\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23.png\" alt=\"Example of a component stored in Storybook\" class=\"wp-image-28517\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23.png 616w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/image23-244x300.png 244w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/a><figcaption class=\"wp-element-caption\">Fig. 23 <a href=\"https:\/\/storybook.js.org\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Example of a component stored in Storybook<\/a><\/figcaption><\/figure>\n\n\n\n<p>Many top companies and design systems, like IBM Carbon, Shopify Polaris, etc., use Storybook, benefitting from its multiple advantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>providing variables for the common CSS preprocessors<\/strong>,<\/li>\n\n\n\n<li>an XML format for Android,<\/li>\n\n\n\n<li>a JSON for iOS (you do not get that particular format by only exporting from Tokens Studio plugin).<\/li>\n\n\n\n<li><strong>one source of truth<\/strong>, reflecting design in actual coded components,<\/li>\n\n\n\n<li><strong>streamlining documentation<\/strong>, as you do not need to be a code expert to contribute and be able to maintain up-to-date documentation effortlessly; moreover, developers are able to provide context to components \u2013 ensure documentation of the best use and possible limitations before implementing the component,<\/li>\n\n\n\n<li><strong>allowing real time design-dev collaboration<\/strong> and awareness of whether the component is live or in building thanks to component status plugin,<\/li>\n\n\n\n<li><strong>facilitating design-dev communication.<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Such workflow, enabling you to translate design language into styles formatted to suit specific platform requirements, proves to be a scalable, technology-agnostic solution that is agile enough to accommodate any future direction changes for your organisation or product.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What are the improvements based on?<\/h3>\n\n\n\n<p>How would the initial classic workflow be elevated using design tokens?<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The designer finishes an interface design in Figma.<\/li>\n\n\n\n<li>All the information is already covered by design tokens, so the designer does not need to deliver complicated UI specs documentation, covering spacings, colours for particular button states, etc.<\/li>\n\n\n\n<li>The handoff calls are shorter or unnecessary at all, as design decisions regarding styling are already tokenised and stored in Storybook, being easily accessible to everyone.<\/li>\n\n\n\n<li>The dev team can inspect the file and implement the design seamlessly.<\/li>\n<\/ol>\n\n\n\n<p>What if there is a need of any change to the design, for example the brand palette needs updates? It is simple \u2013 a designer or a UX engineer updates the token system in the source, either exporting a .json filecor pushing changes directly to the repository. Devs take over and automatically propagate updates to code. So easy!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What design tokens ultimately give us?<\/strong><\/h2>\n\n\n\n<p>To summarise, let me highlight several overall key benefits that using design tokens brings to you and your team.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Solid foundations<\/strong><\/h3>\n\n\n\n<p>Steady design system, where decisions are well thought through and consistent. Implementing design tokens requires design system adjustments for proper functioning \u2013 you need to provide proper system organisation and UI element architecture. Moreover, a clear and understandable visual language is of great value for a brand to be able to communicate well and build trust.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Communication in the same language<\/strong><\/h3>\n\n\n\n<p>Imagine that you are Head of Design again and you need to execute a colour update in your product existing on several different platforms. You no longer need to use several different values (HEX, RGB, RGBA, etc.). You do not risk any mistakes upon propagating colour values to code. In design-dev communication you rely on the common naming convention that is understandable to everybody and elevates day-to-day workflow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Easy system maintenance<\/strong><\/h3>\n\n\n\n<p>In case of any design decision changes, you do not update every output package or a design system-related file separately. You edit in one place and it all gets updated at once securely. Managing a multi-brand\/themed system is easy now and you have full control over the scale of change application.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>One source of truth<\/strong><\/h3>\n\n\n\n<p>With a design token system, you have all your files and repositories synced. Potential changes no longer require you to communicate them to every product manager. Instead, you (or a UX Engineer responsible for that task) update tokens in the system, push the change to the repo and let developers handle it from there, being sure they have accurate information. Your designs will not be sacrificed because developers fail to correctly implement your work, nor will there occur inconsistencies across different platforms your brand exists on.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Proper methodology to collaborate between teams<\/strong><\/h3>\n\n\n\n<p>Design and dev teams agree on a naming convention, a tool set most appropriate for your workflow and product, as well as system maintenance rules to obey. This allows process automatisation and streamlines design-dev collaboration significantly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>All in all&#8230;<\/strong><\/h2>\n\n\n\n<p>Design tokens are a powerful tool, allowing for enhanced product teams collaboration, as well as brand consistency at scale across multiple different platforms. Surely, it is not a one-year-trend, and we will be hearing more and more of them.<\/p>\n\n\n\n<p>It is worth thinking of introducing design tokens to your product, when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>as a designer,<\/strong> you no longer want to see your work implemented incorrectly and you would like to handle a design decision comprehensively \u2013 from decision to deployment \u2013 seeing consistent visual language across platforms you design for,<\/li>\n\n\n\n<li><strong>as a developer<\/strong>, you are tired of manually applying design changes and values updates and you want to upgrade your experience of managing styles,<\/li>\n\n\n\n<li><strong>as a manager<\/strong>, you are fed up with all the styling bugs reported and you wish for design and dev to collaborate on a common ground at scale.<\/li>\n<\/ul>\n\n\n\n<p>For me personally, it has been extremely exciting to embark on the design tokens journey together with the UX Engineer and the Engineering Team I work with daily. It is already visible how our collaboration elevated just by searching for a common ground.<\/p>\n\n\n\n<p>If you find the object of the article interesting, I encourage you to explore further with the help of <a href=\"https:\/\/designstrategy.guide\/design-management\/the-ultimate-design-systems-resources-list\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >The Ultimate Design Systems Resources List<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bibliografia<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=q5qIowMyVt8\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u2018WTF are Design Tokens\u2019 a great video by Jina Anne<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=wtTstdiBuUk\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >A wonderful, simple video on design tokens by Hiro Matsui<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/salesforce-ux\/living-design-system-3ab1f2280ef7\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Living Design System&#8217; by S\u00f6nke Rohde<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dodonut.com\/blog\/design-tokens-what-are-they-and-how-to-use-them\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Adri\u00e1n Guerrero\u2019s article about design tokens<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/uxdesign.cc\/supercharge-your-design-system-with-design-tokens-55044fa29142\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Supercharge your Design System with Design Tokens&#8217; by UX Collective Jishnu Hari<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/medium.com\/fast-design\/evolution-of-design-tokens-and-component-styling-part-1-f1491ad1120e\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Evolution of design tokens and component styling, part 1&#8217; by Brian Heston<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/designstrategy.guide\/design-system\/design-tokens-101\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Design Tokens 101&#8217; by Romina Kavcic<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.uxpin.com\/studio\/blog\/what-are-design-tokens\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >\u2018What Are Design Tokens?\u2019 on STUDIO by UXPin<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/thedesignsystem.guide\/design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Design tokens&#8217; by The Design System Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/uxdesign.cc\/design-tokens-for-dummies-8acebf010d71\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Design tokens for dummies&#8217; by Louis Chenais<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.maxwell.work\/post\/brief-history-design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Brief History: Design Tokens&#8217; by Maxwell White<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/specifyapp.com\/blog\/introduction-to-design-tokens\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Introduction to design tokens by Louis Chenais<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/bootcamp.uxdesign.cc\/piping-design-tokens-from-figma-8a086a6ac17c\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Piping Design Tokens from Figma&#8217; by Tyler Mathes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dev.to\/ainatenhi\/syncing-design-tokens-with-tailwind-css-theme-4d4d\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Converting Design Tokens to CSS Variables using Style Dictionary&#8217; by Anna Popova<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/thedesignsystem.guide\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >The Design System Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/spotify.design\/article\/reimagining-design-systems-at-spotify\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >&#8216;Spotify\u2019s rebranding journey, based on design tokens&#8217; by Shaun Bent, Marina Posniak, Gerrit Kaiser<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.figma.com\/hc\/en-us\/articles\/15145852043927-Create-and-manage-variables\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Figma\u2019s resources on variables<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.figma.com\/hc\/en-us\/articles\/15871097384471-The-difference-between-variables-and-styles\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Figma\u2019s guide about the difference between variables and styles<\/a><\/li>\n<\/ul>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;28522&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;4&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 4)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Harmonizing design and development \u2013 design tokens in UX\\\/UI-Dev collaboration&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 4)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>As design systems become a hot topic in the industry, it is worth taking a closer look at design tokens &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/en\/harmonizing-design-and-development-design-tokens-in-ux-ui-dev-collaboration\/\">Continued<\/a><\/p>\n","protected":false},"author":657,"featured_media":28521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1319],"tags":[2630,1816,1526,1350],"class_list":["post-28522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-soft-development","tag-ux-design-en","tag-ui-en","tag-guidebook","tag-project-en"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/07\/Harmonizacja-procesu-projektowania-z-developmentem-\u2013-design-tokeny-we-wspolpracy-UX-UI-Dev.jpg","category_names":["Soft development"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/posts\/28522"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/users\/657"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/comments?post=28522"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/posts\/28522\/revisions"}],"predecessor-version":[{"id":28527,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/posts\/28522\/revisions\/28527"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/media\/28521"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/media?parent=28522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/categories?post=28522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/en\/wp-json\/wp\/v2\/tags?post=28522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}