Domain Design System

Domain Design System

Domain Design System

Design System:
Rebuilding the LEGO for Success

Design System:
Rebuilding the LEGO for Success

Design System:
Rebuilding the LEGO for Success

πŸ’πŸ»β€β™‚οΈ Context

πŸ’πŸ»β€β™‚οΈ Context

What is design system?

What is design system?

What is design system?

A design system in UI/UX is like a Lego set for building digital products. It's a collection of reusable UI components (buttons, forms), design guidelines (colors, fonts), and code snippets that ensure a consistent user experience across all interfaces. Imagine a brand with a single design language – the design system is the toolbox that keeps everything looking and functioning the same, saving time and effort for designers and developers.

A design system in UI/UX is like a Lego set for building digital products. It's a collection of reusable UI components (buttons, forms), design guidelines (colors, fonts), and code snippets that ensure a consistent user experience across all interfaces. Imagine a brand with a single design language – the design system is the toolbox that keeps everything looking and functioning the same, saving time and effort for designers and developers.

A design system in UI/UX is like a Lego set for building digital products. It's a collection of reusable UI components (buttons, forms), design guidelines (colors, fonts), and code snippets that ensure a consistent user experience across all interfaces. Imagine a brand with a single design language – the design system is the toolbox that keeps everything looking and functioning the same, saving time and effort for designers and developers.

Is design system important?

Is design system important?

Is design system important?

Imagine you're building a Lego city. Here's why a design system is important, explained with Legos:

  • Consistency: Without a design system, your city might look messy. You might use different colored bricks for windows on different buildings, or have doors in weird places.

  • Efficiency: Building a city with Legos takes time! If you have to constantly hunt for specific pieces or rebuild things from scratch, it's slow.

  • Collaboration: Imagine multiple people building the Lego city together. Without a plan, things could get confusing.

Imagine you're building a Lego city. Here's why a design system is important, explained with Legos:

  • Consistency: Without a design system, your city might look messy. You might use different colored bricks for windows on different buildings, or have doors in weird places.

  • Efficiency: Building a city with Legos takes time! If you have to constantly hunt for specific pieces or rebuild things from scratch, it's slow.

  • Collaboration: Imagine multiple people building the Lego city together. Without a plan, things could get confusing.

Imagine you're building a Lego city. Here's why a design system is important, explained with Legos:

  • Consistency: Without a design system, your city might look messy. You might use different colored bricks for windows on different buildings, or have doors in weird places.

  • Efficiency: Building a city with Legos takes time! If you have to constantly hunt for specific pieces or rebuild things from scratch, it's slow.

  • Collaboration: Imagine multiple people building the Lego city together. Without a plan, things could get confusing.

πŸ₯Š Challenges

πŸ₯Š Challenges

Type of variant components is incompleted

Type of variant components is incompleted

Imagine your LEGO set only has bricks of one size and color. You can build some things, but it's limiting! In your design system, variant components are like the different LEGO pieces (bricks, plates, slopes). Incomplete variants mean you're missing essential pieces to create a variety of UI elements.

Confusing Component Properties

Confusing Component Properties

Imagine your LEGO instructions use cryptic symbols instead of clear pictures. Confusing component properties are like those instructions - hard to understand! Properties define how a component behaves. If they're unclear, designers waste time figuring them out.

Lack of Component Documentation

Lack of Component Documentation

Imagine getting a giant box of LEGO bricks with no instructions for any builds! A lack of documentation is just as frustrating for designers. They need to know how to use components effectively.

πŸ‘·πŸ»β€β™‚οΈ Process for the rebuild

πŸ‘·πŸ»β€β™‚οΈ Process for the rebuild

Define foundation

Define foundation

Define foundation

I started by defining the foundation that each component would need, including:

  • Atoms / Molecules / Components
    Reusable UI elements built from atoms and molecules (forms, navigation bars)

  • Component states
    Different visual appearances of a component (active, disabled)

Fixing properties option

Fixing properties option

Fixing properties option

The previous version also suffered from complicated and unclear property options.
Ex: The Button component are not got define well, some of the size got disable button but some them not

Old design

New design

Documentation

Documentation

Documentation

The previous version documentation is not very complete, which led to confusion among designers on how to use components that received special treatment.

Old version

New version

Dark mode

Dark mode

Dark mode

Lazada's implementation of a dark mode system necessitated a similar update for our design system components. To ensure a smooth workflow for developers, we adopted a token-based approach for our components. This makes implementing dark mode, along with other color schemes, a breeze. This is especially crucial as dark mode functionality has become an essential part of most development projects.

I made it 1 click for designer to easy to switch light mode or dark mode

Interaction

Interaction

Interaction

I am adding interactions to each component, along with a rationale for each interaction.

Stakeholder-friendly presentation

Stakeholder-friendly presentation

Interactive components allow for a clearer understanding of the design during presentations to stakeholders.

Increased design efficiency

Increased design efficiency

These components eliminate the need for manual interaction setup, saving designers time and effort.

Standardized interactions

Standardized interactions

This ensures consistent and user-friendly interactions throughout our designs.

Animation

Animation

Animation

Realized that sometimes there have a problem to explain to developer about how the animation works

The reason implemented that animation into the component, to make designer easier and don’t need to setup interaction manual anymore.

πŸ“’ Grooming Tracker

πŸ“’ Grooming Tracker

πŸ“’ Grooming Tracker

I also create a regularly grooming session for our components with developers to make sure they are all connected to developer tokens

πŸ”₯ Comparison

πŸ”₯ Comparison

πŸ”₯ Comparison

βœ… Takeaways

βœ… Takeaways

Rebuilding the design system highlighted the importance of having a well-defined foundation. This could include establishing clear design principles, component libraries, and a style guide.

Benefits of flexibility

Benefits of flexibility

Benefits of flexibility

The ability to customize properties (like dark mode) proved valuable. This flexibility allows designers to adapt the system to different needs while maintaining consistency.

Detailed documentation empowers users

Detailed documentation empowers users

Detailed documentation empowers users

Creating comprehensive documentation empowers designers and developers to understand and effectively utilize the system.

Developing a drag-and-drop interaction/animation library

Developing a drag-and-drop interaction/animation library

Developing a drag-and-drop interaction/animation library

Building a dedicated library of pre-built interactions and animations that designers can easily drag and drop could further streamline the design process.

Design System: Rebuilding the LEGO for Success

Frankim