How to THINK LIKE A DEVELOPER using Dev Mode in Figma!

Design Pilot
26 Sept 202311:28

Summary

TLDRIn this video, the host dives into the world of Design Systems, focusing on the crucial aspect of 'Dev mode'. They explore the importance of maintaining parity between design and code to ensure a functional Design System. The host guides viewers through the process of examining components in Atlassian's design system, explaining how developers interpret and code using design tokens. The tutorial includes a practical demonstration of using Dev mode in Figma and Chrome's inspector panel, highlighting the significance of clear naming conventions and the impact on code structure. The video aims to bridge the gap between designers and engineers, emphasizing the need for a streamlined workflow that reduces miscommunication and enhances the development process.

Takeaways

  • 😀 The video is an ultimate guide to Design Systems, focusing on the importance of 'Dev mode' for developers and designers.
  • 🔍 Dev mode helps in achieving parity between design and code, which is crucial for the effectiveness of a Design System.
  • 💡 Design tokens are used to maintain consistency in design elements and are essential for developers to understand and implement correctly.
  • 🌐 The video demonstrates how to use design tokens in Figma and how they are reflected in the code, specifically in CSS and other programming languages.
  • 🔎 The speaker explores Atlassian's design system as an example, highlighting the importance of a clear naming convention for design tokens.
  • 👀 The video shows how to use the Chrome Developer Tools (Dev mode) to inspect and understand how design elements are coded, focusing on color values and variables.
  • 🛠️ Figma's Dev mode is introduced as a tool for designers to understand how developers interact with design components and how they are coded.
  • 📚 The video emphasizes the need for clear and concise naming conventions in design tokens to avoid confusion and repetition in code.
  • 🔄 The speaker discusses the impact of naming conventions on different programming languages, such as Swift UI and Jetpack Compose, and how they affect the coding process.
  • 🤝 The video concludes by stressing the importance of reducing miscommunication between designers and developers and ensuring that developers can easily implement designs as intended.
  • 👋 The speaker encourages viewers to engage with the content by liking, subscribing, and commenting, indicating a call to action for the audience.

Q & A

  • What is the main focus of the video script?

    -The video script focuses on explaining the concept of 'Dev mode' in the context of Design Systems, and how it helps developers and designers ensure parity between design and code.

  • What is the importance of having good parity between design and code?

    -Good parity between design and code is crucial because it ensures that the final product matches the design intent, which is the foundation of a successful Design System.

  • What does the video demonstrate about the Atlassian's design system?

    -The video demonstrates how Atlassian's design system uses design tokens and a specific naming convention for these tokens, which helps in maintaining consistency across the design and development process.

  • What is the significance of the 'Dev mode' in Figma?

    -The 'Dev mode' in Figma allows developers to see the specific properties and values of design components, which aids in accurately translating designs into code.

  • How does the video script explain the use of CSS in web and mobile app design?

    -The script explains that CSS is used for building websites and designing mobile apps, and it shows how design tokens are represented as variables in CSS.

  • What is the role of the inspector panel in Google Chrome when discussing Dev mode?

    -The inspector panel in Google Chrome, also known as Dev mode, allows developers to inspect and manipulate the HTML and CSS of a webpage, which is essential for understanding and implementing design tokens.

  • Why is it important for designers to understand how developers work with Dev mode?

    -Understanding how developers work with Dev mode helps designers create components that are easier to code, reducing miscommunication and ensuring that the design is accurately implemented.

  • What is the issue with repeating words in the naming convention of design tokens as shown in the script?

    -Repeating words in the naming convention can lead to confusion and unnecessary complexity, making it harder for developers to work with the tokens in code.

  • How does the video script address the problem of repeated words in naming conventions?

    -The script suggests simplifying the naming convention by removing repeated words, which makes it easier for both designers and developers to work with the tokens.

  • What does the video script suggest for improving the communication between designers and developers?

    -The script suggests using Dev mode effectively to ensure that both designers and developers have a clear understanding of the design components and their properties, which helps in reducing miscommunication.

  • How does the video script conclude about the benefits of understanding Dev mode for both designers and developers?

    -The script concludes that understanding Dev mode helps designers think like developers, making developers' lives easier and ensuring that the design is built exactly as intended.

Outlines

00:00

🖥️ Design Systems and Developer Perspective

This paragraph introduces the video's focus on Design Systems, specifically exploring how developers interact with them. It emphasizes the importance of parity between design and code, and the necessity of a well-structured Design System for effective collaboration. The speaker plans to demonstrate how developers view components, code, and design tokens, using examples from Atlassian's design system and Figma's Dev mode. The goal is to ensure that designers understand the developers' perspective and create components that are easy to implement correctly.

05:00

🎨 Understanding Design Tokens and CSS Variables

The speaker delves into the specifics of design tokens and how they translate into CSS variables in code. Using Atlassian's design system as an example, they highlight the naming conventions for tokens and how these are reflected in the code. The paragraph discusses the importance of clear and consistent naming to facilitate understanding between designers and developers. The speaker also demonstrates how to use Figma's Dev mode to view and adjust these tokens, showing how they affect the visual elements in the design. The emphasis is on simplifying the naming to avoid confusion and ensure that the code is clean and easy to manage.

10:02

🔍 Enhancing Design-Engineering Parity with Dev Mode

In this paragraph, the speaker discusses the benefits of using Dev mode in Figma for both designers and developers. They highlight how Dev mode can help reduce miscommunication and ensure that the design is accurately translated into code. The speaker shows how developers can use Dev mode to understand the properties and options of components, and how they can see the active states and variations of these components. The paragraph concludes with a call to action for designers to think like developers, making their lives easier by providing clear and concise design elements that can be easily implemented in code.

Mindmap

Keywords

💡Design Systems

Design Systems are a set of guidelines, components, and resources that ensure consistency and efficiency in product design. In the video, the main theme revolves around understanding how Design Systems facilitate a seamless transition from design to code, highlighting the importance of maintaining parity between the two to ensure the final product aligns with the designer's vision.

💡Dev Mode

Dev Mode, as discussed in the video, is a feature in design tools like Figma that allows developers and designers to inspect and understand the properties and code behind UI components. It is crucial for ensuring that developers can accurately implement design components, as it provides a clear view of the design's structure and properties.

💡Design Tokens

Design Tokens are the visual and functional attributes that define the look and feel of a design system, such as colors, typography, and spacing. In the script, the author explores how these tokens are applied and how they help maintain consistency across different design elements, which is vital for developers to reference when implementing designs in code.

💡Parity

Parity, in the context of the video, refers to the alignment between the design and the code. It is essential for a successful implementation of a design system, as it ensures that the final product matches the designer's intent. The video emphasizes the importance of achieving parity to make the development process more efficient and reduce miscommunication.

💡Naming Convention

A Naming Convention is a set of rules for assigning names to elements in a system, which helps in organizing and identifying them easily. In the video, different naming conventions are discussed, such as those used by Atlassian's design system, which is crucial for developers to understand and apply correctly in their code.

💡Inspector Panel

The Inspector Panel, also known as Dev Mode in browsers like Google Chrome, allows developers to inspect and interact with the elements on a webpage. The video demonstrates how to use the Inspector Panel to examine the CSS variables and values of design elements, which is a practical approach to understanding how designs are translated into code.

💡CSS Variables

CSS Variables, as mentioned in the script, are custom properties that allow for dynamic theming and styling in web development. They are used to store design tokens like colors and are easily adjustable, making it simpler for developers to maintain consistency across a website or application.

💡Swift UI

Swift UI is a user interface toolkit for designing iOS, iPadOS, macOS, and tvOS apps. In the video, the author shows how design tokens and components can be translated into Swift UI code, illustrating the cross-platform applicability of design systems and the importance of understanding different programming languages for developers.

💡Jetpack Compose

Jetpack Compose is a modern toolkit for building native Android UI, which uses Kotlin. The video script mentions it as an example of how design systems can be adapted to different programming environments, emphasizing the need for developers to understand the structure and naming conventions used in design tools to implement designs accurately.

💡Component Variants

Component Variants refer to different states or versions of a UI component that can be used in various contexts. The video explains how Dev Mode in Figma allows developers to see the properties and options for creating component variants, which is essential for building a flexible and consistent user interface.

💡Playground

In the context of the video, Playground refers to an interactive environment within Figma where developers can experiment with and see the properties of design components. It is a tool that helps bridge the gap between design and development by allowing developers to understand and replicate design elements in code.

Highlights

Introduction to the concept of Dev mode and its importance in maintaining parity between design and code within a Design System.

Explanation of how developers view and interact with design components, emphasizing the need for clarity in coding practices.

Demonstration of navigating Atlassian's design system to understand the use of design tokens and naming conventions.

The significance of consistent naming conventions for tokens to facilitate understanding between designers and developers.

How to use the inspector panel in Google Chrome to examine and understand the CSS variables applied in a design.

The process of identifying and modifying CSS variables to ensure they align with design intentions and coding standards.

A comparison between the design tokens in Atlassian's system and those in Figma, highlighting the importance of consistency.

The role of Figma's Dev mode in helping designers understand the developer's perspective and ensuring accurate implementation.

How to use Figma's Dev mode to inspect component variants and their properties, ensuring they align with design specifications.

The impact of clear and concise variable names on reducing confusion and improving the efficiency of developers.

The demonstration of how to adjust Figma variables to avoid repetition and streamline the coding process.

How to utilize Figma's Dev mode to ensure that component properties are correctly represented in the codebase.

The benefits of using Dev mode for reducing miscommunication between designers and developers and enhancing collaboration.

The practical application of Dev mode in examining and understanding the structure and elements of a design system.

How engineers can use Dev mode to identify and implement the properties and settings of design components accurately.

The importance of thinking like a developer in the design process to ensure that the final product matches the original design.

Encouragement for viewers to engage with the content, subscribe to the channel, and look forward to future videos.

Transcripts

play00:00

[Music]

play00:00

foreign

play00:03

[Music]

play00:06

ERS and creatives hope you're all doing

play00:09

well welcome to another video super

play00:10

ultimate guide to Design Systems in this

play00:12

video we're going to explore Dev mode

play00:14

now that we have created two components

play00:16

we have applied design tokens let's

play00:19

actually understand how all of this

play00:21

actually helps developers right because

play00:23

there has to be really good parity

play00:25

between design and code and if the

play00:29

parity is not then there's no point of

play00:30

having a Design Systems so in this video

play00:32

I'm going to show you what do developers

play00:34

actually look at what do they think and

play00:36

how do they code and what you need to

play00:38

know as a designer by looking at Dev

play00:40

mode I'm not going to just show you the

play00:41

features of devmod I'm going to explain

play00:43

how Engineers are going to look at your

play00:45

components and make sure that they do

play00:48

things correctly so without any further

play00:50

Ado let's get started now before I show

play00:53

you Dev mode and figma I'm going to show

play00:54

you something in atlassian's design

play00:56

system now here I'm in the design tokens

play00:58

section as you see over here I'm in the

play01:00

examples page all right I'm going to

play01:02

come down and I'm going to look at this

play01:03

dialog box all right

play01:06

now I'm going to come over here and look

play01:09

at the text over here basically the code

play01:11

over here now there is nothing to worry

play01:13

over here you don't have to focus on

play01:14

anything else just focus on this part so

play01:18

basically what they're saying is that

play01:20

they have three tokens as you can see

play01:21

they have three tokens and just the way

play01:23

we named our tokens in figma atlassin is

play01:27

using a different naming convention it

play01:28

doesn't really matter what the naming

play01:29

convention is it can be anything you

play01:31

want as long as you and your developers

play01:33

can understand it it's just that you

play01:34

need a token so here for the text which

play01:38

is called Model dialog oops all right

play01:40

they have a token called as color dot

play01:43

text right and it is n 800 right that's

play01:47

the reference value and we've called it

play01:48

color text now they also got background

play01:50

and Shadow tokens as well now I'm not

play01:52

going to look into that right we're just

play01:54

focusing on the color text now what I'm

play01:57

going to do is I'm going to open Dev

play01:59

mode in Chrome right we're going to look

play02:01

at Dev mode and figma but here I'm going

play02:02

to open devmod in Google Chrome and

play02:04

that's basically called the inspector

play02:06

panel so I'm going to right click and

play02:07

say inspect okay and now I'm going to

play02:09

zoom in here again okay and now I'm

play02:12

going to find that text item I'm going

play02:14

to click here okay now I've selected it

play02:16

now if I come all the way down

play02:19

here you can see the color value so if I

play02:22

turn that off you can see that the color

play02:23

changes okay and here the color value

play02:26

VAR basically stands for variable okay

play02:30

and hyphen hyphen DS hyphen text

play02:35

so this is how it's actually going to

play02:37

look in code now this is CSS now CSS is

play02:41

used for building websites

play02:43

for Designing mobile apps depending on

play02:46

the language the way these are

play02:48

structured will look different I'm going

play02:49

to show you that in Dev mode right but

play02:51

as you can see here it says hyphen

play02:52

hyphen DS stands for design system and

play02:56

they have text okay now

play02:59

I'm going to come over here and click on

play03:01

this button over here

play03:03

and I can click on this one

play03:05

and let's search for that color right so

play03:08

what we can also do is I'm going to just

play03:10

type in color over here and let's see if

play03:13

we can find it over here so here

play03:16

variable DS stands for design system

play03:18

hyphen text hyphen inverse okay this is

play03:23

how the naming convention is in the code

play03:25

base right but here in this case if you

play03:28

look at it and maybe we should look at

play03:30

the one on top right here this is the

play03:32

pretty this is pretty much the same

play03:33

button

play03:35

in design they called it color text

play03:37

inverse but here it is DS text inverse

play03:41

now it's fine that here it's color and

play03:43

here is DS that's irrelevant but for the

play03:45

majority you can see here it says text

play03:47

inverse and text inverse

play03:50

but what about the background you know

play03:52

let's look at the background right I'm

play03:53

going to click over here on the

play03:54

background

play03:56

and we're going to search for background

play03:59

here we set color background selected

play04:01

bold but here it says DS background

play04:04

background brand bold right now there's

play04:07

a little bit of a change now that's fine

play04:09

ideally they should be the same but

play04:11

atlassin is doing its own thing and

play04:13

that's absolutely fine right but what

play04:15

you need to understand here is this

play04:16

naming convention DS hyphen background

play04:19

hyphen brand bold right now let's go to

play04:22

figma's Dev mode and see how it looks

play04:24

for the components that we have made so

play04:26

far

play04:27

now here in figma let's turn on dev mode

play04:29

and see how this looks for developers

play04:31

and what is it that they actually want

play04:32

and care about and how do you ensure

play04:35

that you have done it correctly so that

play04:36

Engineers will not make mistakes okay

play04:39

so I'm going to turn on dev mode okay

play04:41

now I'm going to come over here and

play04:42

click on this we're going to focus on

play04:44

this one right

play04:46

uh yeah now the first thing it tells you

play04:48

that this is a variant of the component

play04:50

and if you click on let's say an

play04:52

instance in this case it says it says

play04:53

right that's fine

play04:56

now here it also shows you the variable

play04:58

for the various properties right this is

play05:00

no right so this sign

play05:02

it shows you uh all the paddings as well

play05:04

what we care about is the colors because

play05:07

that's what we added now we know that we

play05:10

added if I maybe turn this off for a

play05:11

second you can see that we added surface

play05:14

primary okay

play05:16

if I come over here and we are now in

play05:19

CSS CSS is the language used to design

play05:21

websites okay

play05:23

here in the style you can see that the

play05:25

code looks exactly same as how we saw it

play05:27

in the browser

play05:29

it's a background color

play05:31

variable all right

play05:34

surface surface primary all right now

play05:36

here we are repeating the word surface

play05:38

surface

play05:40

right now that's again very confusing

play05:42

now Engineers can actually see the

play05:44

values right over here if you want if

play05:45

you want to see the hex value you can

play05:47

see all of that and you can see all that

play05:48

information really clearly right but

play05:50

here it says surface surface primary

play05:53

okay

play05:54

if I click on this okay we have a border

play05:58

let's look at what the code looks for

play06:00

the Border

play06:02

here you can see that we have the Border

play06:05

radius the Border information and now

play06:09

the Border color variable right so the

play06:12

border is one pixel it's a solid color

play06:14

right but it has this variable which is

play06:18

border border transparent static

play06:22

which means that the word border is

play06:23

being repeated here and we don't really

play06:25

want that it should just be border

play06:27

transparent static you know it should be

play06:29

as simple as that

play06:31

now let's look at another component

play06:33

let's go to the navigation bar that we

play06:35

created all right and I'm going to come

play06:37

over here and click on this text all

play06:40

right now here you can see

play06:43

that this text actually we need to click

play06:45

on the text value yeah we clicked

play06:47

actually the text value right over here

play06:49

here you can see all the values are here

play06:51

the color is content content primary now

play06:55

let's look at other programming

play06:57

languages right so I'm going to click on

play06:58

this which is the surface now we added

play07:00

the surface primary which is the normal

play07:02

one and I'm coming over here change it

play07:04

from CSS to Swift UI now Swift UI is

play07:06

used to design iOS apps right

play07:08

you can come over here and you can see

play07:10

in the variables section all right it

play07:13

says surface surface primary and even

play07:15

here in the background it says surface

play07:17

surface primary now there's no hyphen

play07:19

over here and that's just how the

play07:20

programming language is structured if

play07:22

you come here and use jetpack compose

play07:24

which is basically used for Designing

play07:25

Android apps it's called jetpack compose

play07:27

but they just call it compose over here

play07:29

here again it says color is equal to

play07:31

variable dot surface surface primary

play07:33

which means we are repeating the word

play07:35

surface

play07:36

so what it means is the reason it's

play07:38

calling surface surface primary is

play07:40

because that's how we set up the

play07:41

structure in the figma variables what am

play07:44

I talking about

play07:45

if I come over here and open this up you

play07:48

can see that it is actually capturing

play07:49

surface surface primary

play07:53

right that's the problem

play07:55

so what that means is if I go ahead and

play07:58

just call it primary

play08:00

call it inverted call it static all

play08:05

right and now when I click on this

play08:07

it's now called surface hyphen primary

play08:10

and if I come down here to Dev mode

play08:14

and we can look at the CSS again

play08:17

here it just says hyphen surface hyphen

play08:21

primary which is exactly what we want

play08:23

and this is super easy for engineers

play08:25

because we're removing all those

play08:27

unnecessary words right and even for us

play08:30

designers all right if you look at the

play08:32

figma variables this is a lot easy and

play08:34

it's honestly quite fast to look at this

play08:36

right or as we're repeating this word

play08:38

content content content all the time and

play08:40

it's becoming a big mess

play08:42

so what I'm going to do is I'm going to

play08:43

come over here and just remove all of

play08:45

this unnecessary information I'm just

play08:47

going to call it primary secondary

play08:50

static

play08:51

and brand

play08:56

right and here this is going to be

play08:58

transparent

play09:00

static so we can actually look at that

play09:01

right so let's come down here and we can

play09:03

click on this button go to Dev mode and

play09:07

here in the Border you can see here it

play09:10

says border transparent static all right

play09:14

and here for the text uh or yeah let's

play09:17

click on the text we need to actually

play09:19

double click here and more yeah so here

play09:21

color content primary right

play09:25

and apart from that when we created

play09:27

these components what Engineers can do

play09:29

is they can see all the properties right

play09:32

now let's look at an instance right

play09:33

let's take an instance of

play09:36

um this right this one

play09:38

so here they can open it up in

play09:39

playground and they can actually see

play09:42

what were all the properties that are

play09:44

available and they will set this exact

play09:46

same thing in their code base as well

play09:47

right they can see what are the options

play09:49

that are going to be here what are the

play09:51

options that are going to be here and

play09:52

they can see to create this instance or

play09:55

this variant what are the settings right

play09:57

and this is super easy for them to

play10:00

actually build this in their code based

play10:01

and this is again going to bring parity

play10:03

between design and engineering and of

play10:06

course not just that it's going to

play10:08

reduce miscommunication right

play10:10

and it's not just that it even shows you

play10:13

what are the elements that are being

play10:15

used you can see that it's using uh the

play10:18

icon button component and it is also

play10:20

using the tabs component right so here

play10:23

you have the main you can click on this

play10:25

to go to the main component so people so

play10:26

that Engineers can go there if you click

play10:28

on that you can see it takes you over

play10:30

here and once you take it over here you

play10:32

when Engineers are building this

play10:34

component you know they can click and

play10:35

check all their values and whatever it

play10:37

is right and here again this is using

play10:39

components as well so let's say they

play10:41

want to see the active State they can

play10:42

click on that if you want to come over

play10:44

here and they're going to see all the

play10:45

information

play10:46

so that's how devmod helps you think

play10:49

like a developer because it's really

play10:51

important to understand how to think

play10:52

like a developer and make sure that

play10:55

developers life are also made much

play10:57

easier because if you are able to help

play10:59

developers they will be able to take

play11:01

your design and build it exactly like

play11:04

you have designed it right so that's

play11:07

pretty much it for this video guys thank

play11:08

you guys so much for watching hope you

play11:09

guys really enjoyed it if you did let me

play11:10

know in the comment sections down below

play11:11

make sure to leave a like And subscribe

play11:13

to the channel for more amazing awesome

play11:14

content and I'll see you guys in my next

play11:16

video so then take care and bye

play11:22

thank you

Rate This

5.0 / 5 (0 votes)

Связанные теги
Design SystemsDev ModeDesign TokensCode ParityDeveloper ToolsFigmaAtlassianCSSSwift UIJetpack Compose
Вам нужно краткое изложение на английском?