Design System and Tokenization

Design System and Tokenization

Developing Semantics for user-centric design systems to empower users with control points, enabling seamless customization of their interface based on individual preferences. The system provides users the flexibility to adjust design elements, ensuring a personalized and tailored experience.

UX Research

UX Research

UX Testings

UX Testings

Problem Solving

Problem Solving

Continuous Iterations

Continuous Iterations

Dev Handoff

Dev Handoff

Octโ€™23- Janโ€™24 (Design, Developement in progress)

Octโ€™23- Janโ€™24

UX Research

UX Testings

Problem Solving

Continuous Iterations

Dev Handoff

Octโ€™23- Janโ€™24

About The Platform

A no-code platform for end-to-end app creation. It leverages data model/data operations(CRUD) and makes UI creation at the end. It also empowers users to build scalable apps. Implementation of Dynamic Design System for UI would be primarily focused on data first approach.

Backend

Neon(PostgreSQL)

Cloudfare Workers

Frontend

Tailwind CSS

React

The Problem

The current design systems had themes. A theme describes the fundamentals of Design Systems to elemental level, the tokens for colors were mapped with only few components.
There have been developments in building fundamentals, layouts, UI but the major problem faced that we lacked component system that mapped to UI.

Design Process

It takes 6 months or more for a complex app to develop, no-code/low-code
can reduce development time up to 50-90%.

It takes 6 months or more for a complex app to develop, no-code/low-code
can reduce development time up to 50-90%.

What the platform provides-

What the platform provides-

but how?

Data building/modelling

Pre-defining attributes and relationships with visual interfaces

Permissions

View Authorizations, Providing Domain names

Deploying UI

prioritizing functionality by visual approach from defining logic and workflows to button, forms etc

This is where Dynamic Design System starts

Writing down Fundamentals

Design elements are the basic building blocks of a user interface. The first step in creating a comprehensive design system is to define its base level elements. These elements combine to determine the components of your product.

Tokenisation includes setting up Values and Variables(explanation later in this section). Tokenization of individual fundamental was done which has to be different from Tailwind CSS. The nomenclature/ naming convention played an important role in the initial stages.

Typography

UX

Token Generation

Server Testing

Typographic scales in design systems ensure consistency and readability across various screen sizes. While offering users the freedom to choose their own size might seem appealing, it can lead to inconsistency in design language. To maintain a cohesive visual experience, we have provided predefined typographic scales within the system.

To use it, the user control points are common scale ratio(like Major Third, Golden Ratio etc) and text base value.

Type styles includes: Display, headline, title, body, and label.

Variable- Scale and Text Base

Color

UX

Token Generation

Server Testing

Color System follows an hierarchy where previous is dependent on the next. User can set colors(Primary, Secondary, Accent) which gets automatically assigned to every element of the UI. It had the following layers.

Color Palette

UX

Token Generation

The palette is generated with respect to the Primary/Secondary color chosen which is then assigned number nomenclature goes under Variant.

The palette generation was initially an Arithmetic series of HSL values taking user input color as base but the generation lacked accuracy when saturation is too low or high. Then came the Parabolic approach (in HSB) of palette generation that means the colors generated lie on the parabola with base variant at the vertex.
This generation took some serious brainpower (and coffee) to create!

Color Themes

UX

In simpler words pairing colors that would go well taking two main color at a time. An Extensive combinations of color Variants and Values were take through Color Contrast Test to arrive at a repetitive/common theme. The theme would not be a part of user selection, it will aid us in color roles.


Final Outcome

Max accuracy-

100-500>

100-500>

Primary on neutral

Primary on neutral

Pairing with 900,800 with 100,200

Pairing with 900,800 with 100,200

Primary

Primary

Pairing with 900,800 with 100,200 with buttons500

Pairing with 900,800 with 100,200 with buttons500

Primary & Secondary

Primary & Secondary

Color Roles

UX

Token Generation

Server Testing

Color Roles are set to define what color property goes where. Each color role follows the same logic for all tokens, but not all tokens are defined for each color role. Working on color themes has set bounds and eased the process by narrowing down the color set samples. It was essential since design token should map data sets UI.

Final Outcome with Tokens

Final Outcome -Visualization

Spacing

UX

Token Generation

Server Testing

Deciding control points for spacing was difficult since it would give too much freedom to the user, confusing and giving unsatisfactory results. This has minimum control points which includes base value and follows a fibonacci.
Spacing set includes Margin, Padding and Gap.
Token generation and assigning Variant was done is such a way that atom, molecules, Organism follows an hierarchy, for example gap between an icon and text in a button(atom) will be lesser than gap between two buttons(molecule) and so on.

Testing and Info gathering, tokenisation

Taxonomy

The naming convention derived from the taxonomy is ordered from the most generic categories to more specific. This is an intentional way of ordering each category to build upon one another, resulting in tokens that have natural, human-friendly names

Property

This specifies the UI object that the token relates to. It answers the question, โ€œwhat object uses this token?โ€. Eg. bg

Value

It signifies the visual hierarchy, or how much an element visually stands out. It answers the question, โ€œhow visually distinct is the object using this token?โ€Eg.primary

Variant

It signifies the quantitative element of the value . It answers the question, โ€œhow much of the value is used?โ€ Eg.300

Purpose

The general purpose that the token communicates within the UI. It answers the question, โ€œwhat is being said to the user?โ€ Eg. validation

State

It refers to current condition, which can communicate various things to the user. Eg.hover

Component System

UX

Token Generation

Server Testing

Component system combination of fundamentals, organism of its own. It offers a structured and efficient approach to building user interfaces by making it reusable, scalable and consistent.
While working on it, I was gathering different UI components which were used in our platform along with new components which were made by fellow team mates for clients.
Since the platform follows data first approach, API calls and design also plays an important role.
Diving further, atoms in a component system can be organized using hierarchical approach. There are different levels of complexity in components with different purpose

Starting with whatโ€™s there

Jotting down the list of components that were used in the platform and were available (outside the platform).

System generated Model Elements

Create

Create One

Get One

Read

Get Many

Edit

Update

Update

Delete

Delete

Create

Read

Update

Delete

Create

Create One

Get One

Read

Get Many

Edit

Update

Update

Delete

Delete

Known Components

Navbars

Footers

Hero Section

Contact

Pricing

Testimonial

FAQs

Teams

Blog List

Blog Detailed

Product List

Product Detailed

Forms

Sidebar

Sign Uo Login Pages

Tables

Stacked List

Grid List

Tooltip

Calendar

Charts

Carousel

Modal

Checkout

Navbars

Footers

Hero Section

Contact

Pricing

Testimonial

FAQs

Teams

Blog List

Blog Detailed

Product List

Product Detailed

Forms

Sidebar

Sign Uo Login Pages

Tables

Stacked List

Grid List

Tooltip

Calendar

Charts

Carousel

Modal

Checkout

Diving Deep

The platform uses terms like โ€œcreate oneโ€, โ€œget manyโ€, โ€œget oneโ€ widely, these were divided under the same umbrella to find common grounds

Categorisation

Making of Component System

Create One-Form

Create ones are mainly forms which are used to retrieve data from the user. They are generated by selecting model type as-Create-One

Next Steps

Forms can be of many types, which is more towards customization and will be next step of the process.

Nice to have second level of interaction intervention- like progressive disclosure.

Get One- Viewing Data with actions

Get one are viewing form the data we collected from users by Create One Model Type. They are generated by selecting model type as-Get One(Card) > choosing the model

Can also be get many

e-com product card

blog post card

Portfolio card

Calendar Event

Blog article

Social media Post

Blog list

carousel cards

So on (keep on adding)

e-com product card

blog post card

Portfolio card

Calendar Event

Blog article

Social media Post

Blog list

carousel cards

So on (keep on adding)

Findings from above sorting

Divided majorly into in order of preference-

Image(1),

Title(2),

Description(3),

supporting text(4)

Divided majorly into in order of preference-

Image(1),

Title(2),

Description(3),

supporting text(4)

Exception-Calendar( both time and day slot view)

Exception-Calendar( both time and day slot view)

1st level of Investigation

Where is the information getting filled from?

Where is the information getting filled from?

Can the info retrieved be boiled down to {more} common grounds?

Can the info retrieved be boiled down to {more} common grounds?

Answers

The props(eg prod price) fed in the model are the info seen on the card

The props(eg prod price) fed in the model are the info seen on the card

No Common grounds

Actions are wide and do not follow common ground

No Common grounds

Actions are wide and do not follow common ground

2nd level of Investigation

How will the system get to know what props goes as Title, Description, Supporting Text?

System knows img format

How will the system get to know what props goes as Title, Description, Supporting Text?

System knows img format

Answers

Props to be displayed can be controlled from right side panel that means all the props are displayed

Props to be displayed can be controlled from right side panel that means all the props are displayed

Can we train our system to identify these?

Image can be done

If not train ,

Take same text style for description, supporting text and

Take prop names with -Title as Subtitlexl

If not train ,

Take same text style for description, supporting text and

Take prop names with -Title as Subtitlexl

Final Outcome- System Generated Get One

Final Outcome-After Custom changes

Thanks for Visiting!

Create a free website with Framer, the website builder loved by startups, designers and agencies.