Transcript
            
            
              This transcript was autogenerated. To make changes, submit a PR.
            
            
            
            
              Hello everyone. Today I'm going to talk about the biggest challenge that
            
            
            
              many designers and engineers and startups are facing
            
            
            
              is building a design system within limited time frames.
            
            
            
              So time constraints can make it tough to start,
            
            
            
              maintain, keep consistent and scale.
            
            
            
              So we'll explore strategies to overcome these obstacles
            
            
            
              over your approaches to protest components
            
            
            
              and dive into different plugins and AI tools to
            
            
            
              build design system faster. So first thing first,
            
            
            
              let me introduce myself. Currently I'm working
            
            
            
              at Poly AI and I'm designing better user experience for
            
            
            
              conversational AI systems. I have more
            
            
            
              than nine years of experience as a product UIx designer
            
            
            
              and also work with multiple design systems for large
            
            
            
              companies and tiny startups. Also in the past and
            
            
            
              right now, I have multiple degrees as an accountant
            
            
            
              and digital designer and I really love mentoring designers
            
            
            
              and help them at early stages of their career. But why
            
            
            
              design system? Probably you heard a lot,
            
            
            
              that design system is really helpful. It makes
            
            
            
              companies deliver feature faster, it helps engineers to
            
            
            
              reuse code and also it increases revenue and
            
            
            
              just reduce time spending on design
            
            
            
              components and tickets. It's really beneficial for
            
            
            
              companies, especially startups, to spend time on designing
            
            
            
              and creating building design system because using
            
            
            
              design system is all about saving time and money.
            
            
            
              But it's also challenging when you start working on
            
            
            
              design system, which means you, you should think about consistency.
            
            
            
              Also you usually have resource limitation
            
            
            
              and also communicational gaps and you need to align your stakeholders
            
            
            
              and other departments. And also usually you have technical constraints
            
            
            
              and issues with adoption. But when we're talking about
            
            
            
              startups, we have even more challenges.
            
            
            
              Like usually startups don't have time to anything,
            
            
            
              speed is really high and also roadmap is very
            
            
            
              dense. Usually there is no sign team to
            
            
            
              create design system and also there usually scalability issue with
            
            
            
              a platform and especially with the design system itself.
            
            
            
              And usually there is privatization conflicts due to roadmap.
            
            
            
              What you should do technically when you just create your company, when you
            
            
            
              start working on product, you can use happy
            
            
            
              path. And just by re already
            
            
            
              existing design system there is few platforms where you can
            
            
            
              make it happen. So you definitely should look at
            
            
            
              these platforms. There is a lot of design system
            
            
            
              for different type of products, for different size
            
            
            
              of company and different size of product. There could
            
            
            
              be a really complex design system for like hundreds of components
            
            
            
              and a really simple one for tiny startups who just
            
            
            
              start date path. So you can use
            
            
            
              this design system that already exists in.
            
            
            
              Usually they have Figma file and files
            
            
            
              for engineers and links to repository to use it and
            
            
            
              just use for your platform. But when we're talking about
            
            
            
              existing products, an existing team
            
            
            
              that already have design system or Uikit.
            
            
            
              It means that maybe they don't
            
            
            
              have this opportunity to use happy bug. Probably they can
            
            
            
              improve their existing design system or move forward creating
            
            
            
              design system. So first of all, what you should
            
            
            
              have to create very successful design
            
            
            
              system is to have roadmap and also long
            
            
            
              term vision. And your design system should
            
            
            
              be valuable for its users. So you definitely should have
            
            
            
              users. By users I
            
            
            
              mean engineers and designers and other teammates
            
            
            
              who can use the design system on daily
            
            
            
              basis. For example, usually it's designers,
            
            
            
              engineers, qi engineers or marketing team.
            
            
            
              And also it's all about value. So this
            
            
            
              design system should be really valuable to its users.
            
            
            
              And at the same time you should have metrics
            
            
            
              for a design system to check if this design system is okay.
            
            
            
              For example, this metrics could be satisfaction of your users and
            
            
            
              you also should create some specific adoption plan how to
            
            
            
              make these users used and love your design system.
            
            
            
              So when you realize that you have users
            
            
            
              and you need to create design system and it will be valuable,
            
            
            
              you should start from something. So you probably
            
            
            
              know that usually design system have really specific
            
            
            
              components, for example buttons, inputs, color palette,
            
            
            
              grids and icons. So you should think
            
            
            
              about prioritization, where to start, what components should go first,
            
            
            
              what element you should build first.
            
            
            
              In this case, there should be, there are existing
            
            
            
              few types of prioritization. First of all, you can use
            
            
            
              any prioritization tool you already use on your product,
            
            
            
              for example. So technically you have four
            
            
            
              columns, must have, should have, could have, and won't have where
            
            
            
              you can place any of your components. For example from
            
            
            
              experience, usually you should place color palette, grid system
            
            
            
              icons and fonts to must have.
            
            
            
              And for example, if you are early stage startup,
            
            
            
              so you probably don't need to think about creating
            
            
            
              some specific components like combo books or data
            
            
            
              pickers. So in this case it could be in a column
            
            
            
              of one half or one half right now.
            
            
            
              And there's another approach of prioritization.
            
            
            
              This is technically system methodology for designing called atomic
            
            
            
              design where you have subatomic components such
            
            
            
              as color palettes, typography and spacing,
            
            
            
              and also you have other components that is more complex
            
            
            
              like atoms. You see this could be icons,
            
            
            
              buttons, labels or inputs,
            
            
            
              molecules, organisms, and more complex elements
            
            
            
              such as pages. And usually work starts from
            
            
            
              subatomic and atoms. And then you go to
            
            
            
              the more complex one, one more prioritization thing.
            
            
            
              Prioritization methods is roadmap based.
            
            
            
              So technically you can see, just imagine this is your
            
            
            
              roadmap. You have features on this roadmap and it means
            
            
            
              that you can start working on design
            
            
            
              systems, you work on your feature. So technical case close
            
            
            
              to atomic design,
            
            
            
              atomic methodology,
            
            
            
              because at the beginning you should work on the
            
            
            
              most basic components such as colors, buttons,
            
            
            
              inputs, and then you go further with second
            
            
            
              feature, there could be different components, so it could be input.
            
            
            
              So usually with this approach, with this roadmap
            
            
            
              based approach, there will be lots of work. At the beginning
            
            
            
              with your design system and then closely
            
            
            
              closer to the middle of your roadmap,
            
            
            
              you will see that your design system is already ready.
            
            
            
              So most components are already used. I might say from
            
            
            
              my experience, I usually use atomic approach
            
            
            
              and roadmap based approach and sometimes I
            
            
            
              use something like collaboration
            
            
            
              mix of these approaches. But usually I start from subatomic
            
            
            
              components such as colors and color palette, and then
            
            
            
              I go with features and components that is
            
            
            
              connected to each feature. And I might say I really
            
            
            
              recommend these two approaches like roadmap
            
            
            
              based and atomic design approach.
            
            
            
              So since we agreed, and you agreed on moving
            
            
            
              forward with some specific approach of prioritization,
            
            
            
              it means you should think about process of
            
            
            
              creating your design system. So first thing first you
            
            
            
              should think about why
            
            
            
              do we need this component? So this is discovery stage,
            
            
            
              the same as working on every feature. You would have discovery,
            
            
            
              design development and release. And also you can go
            
            
            
              back and forward in some steps.
            
            
            
              And also you can see there's few additional steps
            
            
            
              in each of this phase. So there should be
            
            
            
              audit, discussion, scoping,
            
            
            
              kickoff. Then there should be exploration,
            
            
            
              user testing of course, and documentation at each
            
            
            
              step. And also when you release, you also should
            
            
            
              think about announcement because you have users and
            
            
            
              you should definitely share what's different,
            
            
            
              what's new in your design system. And also you should have metrics to
            
            
            
              check. Sometimes you may not have metrics.
            
            
            
              For example, there are five people who are using design system and
            
            
            
              the metrics you can have with just satisfaction.
            
            
            
              And technically yes, you have metric, but at
            
            
            
              the same time it's not that metric as you probably could have
            
            
            
              on your product because your
            
            
            
              metric is your user feedback, definitely.
            
            
            
              So what's next? We understand what
            
            
            
              approach to use, you understand what process can
            
            
            
              be. So next step is design phase.
            
            
            
              So color palette is the most basic
            
            
            
              element of your design system, but also time consuming.
            
            
            
              Work on color palette can take from few hours
            
            
            
              to few weeks, depends. So instead of
            
            
            
              spending time on this basic element, basic element
            
            
            
              of your design system, you should use these plugins on
            
            
            
              figma to generate your color palette.
            
            
            
              I will show on my presentation only plugins for figma
            
            
            
              because last five years I use figma only and I
            
            
            
              know that number for designers who are using figma is
            
            
            
              growing every year. So if you use sketch,
            
            
            
              I'm really sorry but currently I'm sharing everything about
            
            
            
              figma. So as you can see you can use this
            
            
            
              plugin on figma to generate your color
            
            
            
              palette. Then also you can use this plugin to
            
            
            
              create your color palette as the styles
            
            
            
              and variables. Or you can use this plugin that
            
            
            
              also have an AI to generate
            
            
            
              your color palette. Creates everything styles
            
            
            
              based on pictures or image or your printing
            
            
            
              guidelines. So I absolutely recommend to use any of
            
            
            
              this plugin to create your color scheme.
            
            
            
              Typography is also time consuming. You also
            
            
            
              can spend from hours today to create your typography
            
            
            
              styles and sometimes it's really
            
            
            
              challenging when you have already existing product and you
            
            
            
              need to gather everything together. So this plugin
            
            
            
              can really help you to save hours of your
            
            
            
              life by just some of
            
            
            
              them gathering all color styles that you already have on your mockups and figma.
            
            
            
              Some of them help you to create type
            
            
            
              scale specifically for your needs.
            
            
            
              So I definitely recommend to use any of this.
            
            
            
              Next is icons. Why icons?
            
            
            
              It's really interesting because designers already
            
            
            
              designed like thousands of different versions of
            
            
            
              home icon. You can find it everywhere.
            
            
            
              So instead of again spending hours on this basic
            
            
            
              element such as icon, you can buy already existing
            
            
            
              icon set on this website for example.
            
            
            
              Or you can use any of plugins that you can find
            
            
            
              on figma, for example material symbols or
            
            
            
              the same plugin from iOS. So it will help you save
            
            
            
              hours of your life on creation these icons.
            
            
            
              But again, there is a lot of other
            
            
            
              icons that you can find on different other websites.
            
            
            
              So I think you definitely could find something that's
            
            
            
              really suitable for your branding for your website to make a
            
            
            
              shiny and save time. What else?
            
            
            
              I would like also share my thoughts about these three
            
            
            
              plugins because these three plugins are just
            
            
            
              recently showed up and they're in beta version.
            
            
            
              But what they can do previously on previous
            
            
            
              slides I shared that you can create icons,
            
            
            
              colors and typography by using different plugins.
            
            
            
              And these plugins on this slide there can do
            
            
            
              everything, but you need to prompt,
            
            
            
              you just need to prompt what you would like to create.
            
            
            
              Unfortunately, these plugins again embedded version, it means they are not that
            
            
            
              functional as they can be. But in the future I
            
            
            
              see that by prompting them, by adding few lines
            
            
            
              of text, you can create your own design system.
            
            
            
              Currently they can create styles, color fonts and few really simple
            
            
            
              design components. Design system components, but that's it.
            
            
            
              But anyway, they're really powerful and
            
            
            
              instead of having like five or ten plugins
            
            
            
              for different reasons, you can use any of this and
            
            
            
              it's really could help you save time. And when
            
            
            
              we're talking about designing, it's not the end
            
            
            
              after design. Usually we should go to the development phase.
            
            
            
              So we should move up design for Figma two code.
            
            
            
              Unfortunately, and fortunately there is not that many plugins
            
            
            
              or tools that can help you move your Figma
            
            
            
              file or design on Figma to code because Figma already did
            
            
            
              it. Figma introduced depth mode that
            
            
            
              help you just copy this code
            
            
            
              that Figma generate and paste it to your repository,
            
            
            
              to your files and it's really helpful. Unfortunately, there is
            
            
            
              no other tools that can do something
            
            
            
              better and there is not that many tools that you can
            
            
            
              try really. But using dev mode is really
            
            
            
              beneficial for our team. So it definitely
            
            
            
              should help you to build your design system faster.
            
            
            
              And also when we're talking about building design system,
            
            
            
              usually I see that people and other companies and
            
            
            
              other teams use storybooks as a visualization
            
            
            
              of what you can find on Figma, what you can see on code.
            
            
            
              So it's really helpful. It helps engineers to understand what's going on,
            
            
            
              what other state, what other patterns or styles you should
            
            
            
              use, or it also help with version control.
            
            
            
              So storybook or its alternative is
            
            
            
              definitely really helpful to save time and help with
            
            
            
              communication between different departments.
            
            
            
              Also, when we're talking about design system, it's all about
            
            
            
              documentation and guidelines. I might say that
            
            
            
              when we're talking about documentation, first thing first, what we're thinking about
            
            
            
              is chat DPT. There is no longer need to
            
            
            
              have open tab of chat VPT because
            
            
            
              you can find this plugin and figma
            
            
            
              that also have chat DPT. So it means that
            
            
            
              you just open this plugin and prompt few
            
            
            
              lines of text about what you're gonna choose,
            
            
            
              what you going to generate and this plugin
            
            
            
              will do everything. I use it a lot in the past,
            
            
            
              I will use it already for my design system. I'm working on
            
            
            
              design system and it's really helpful. Also when we're talking
            
            
            
              about design system and components, it's usually all
            
            
            
              about anatomy of components, means you
            
            
            
              should use and you could use and I recommend to
            
            
            
              use this eight shaped specs plugin because it
            
            
            
              really helped to highlight these different measurements
            
            
            
              between components, space between components and
            
            
            
              everything and leave comments and
            
            
            
              some specific details for your
            
            
            
              engineer. Definitely should use it. And when
            
            
            
              we talking about documentation,
            
            
            
              these applications are hey is really helpful
            
            
            
              because this is perfect place where you can place
            
            
            
              everything, all documentation that you have for both engineers
            
            
            
              and designers and for third parties or other departments
            
            
            
              in one place. You just create one page
            
            
            
              where you explain everything about some specific component,
            
            
            
              or you can explain patterns or use cases for
            
            
            
              specific elements. So it's really helpful to use this
            
            
            
              app as a source of truth for everyone.
            
            
            
              And since we already discussed components
            
            
            
              and where to place it and how to move it from
            
            
            
              design to engineering, we also should think about
            
            
            
              scalability. Because yes, we have users,
            
            
            
              our design system is valuable and how to scale,
            
            
            
              because when you cannot scale, it means that your
            
            
            
              design system would be really hard, really difficult
            
            
            
              to maintain. You could spend a lot of hours
            
            
            
              on just creating new components and there will be no scalability
            
            
            
              at all. And eventually you can just
            
            
            
              lost your users and metrics gone wrong
            
            
            
              and there is no option at all. So you
            
            
            
              can try to make your design system scalable just
            
            
            
              to add a lot of collaboration between different departments and
            
            
            
              collaboration between users and people who are building this
            
            
            
              design system, because this collaboration
            
            
            
              can help to understand point of improvements
            
            
            
              or weak points or this strength of design
            
            
            
              system. So collaboration is essential for building
            
            
            
              scalable design system. And when we're talking about scalability
            
            
            
              is all about documentation. So everything should be documented
            
            
            
              and your design system should be flexible and modular.
            
            
            
              Because when you cannot create your design system,
            
            
            
              when your design system is not that scalable,
            
            
            
              not that flexible, sort, it means that
            
            
            
              every time when you need new component, when you need specific
            
            
            
              component, you cannot use existing one, you should create new
            
            
            
              one. And it means that you would end up
            
            
            
              with a lot of the same, very similar to each other components.
            
            
            
              You will end up with a lot of documentation for all of them.
            
            
            
              It's definitely should, you should definitely try to avoid
            
            
            
              creating a lot of components. And you should definitely think about
            
            
            
              adding flexibility to this component.
            
            
            
              And your design system is all about version control. Because if
            
            
            
              your design system is evolving, if you create a new
            
            
            
              component, if you add in documentation, you should definitely think
            
            
            
              about how to show versioning,
            
            
            
              how to help user to understand that this button
            
            
            
              is the most relevant one and previous one
            
            
            
              issue duplicated. So version control is everything too.
            
            
            
              And once you done with everything, you create
            
            
            
              scalable design system, next step is adoption.
            
            
            
              If your design system have value and also have users,
            
            
            
              it means that you should educate and train all users that
            
            
            
              can possibly work with your design system. Because training
            
            
            
              and education is the most essential one for adoption.
            
            
            
              Because people should know what to use and how to
            
            
            
              use this component. And also it's all about feedback.
            
            
            
              And if you would like to scale your design
            
            
            
              system and make it living and breathing,
            
            
            
              you should think about improvements and how to improve is
            
            
            
              just gathering feedback because user will say, will tell
            
            
            
              you what should be improved. And also to
            
            
            
              make your design system perfect for adoption
            
            
            
              is your design system should be
            
            
            
              impactful for users, for company,
            
            
            
              because if there is no impact, there is
            
            
            
              no chance that company will use it and users will use it.
            
            
            
              And we're talking about people who are
            
            
            
              creating Zen systems. So it's all about recognition because people
            
            
            
              who build Zen systems should be motivated and they
            
            
            
              should be recognized. So it's just tiny thing,
            
            
            
              but recognition is something that
            
            
            
              should be done for better adoption.
            
            
            
              So thank you so much for listening. My presentation about
            
            
            
              design system.