Design Systems Archives https://www.uxpin.com/studio/blog/category/design-systems/ Tue, 13 Aug 2024 12:55:30 +0000 en-US hourly 1 https://wordpress.org/?v=6.6.1 The Difference Between Design Systems, Pattern Libraries, Style Guides & Component Libraries https://www.uxpin.com/studio/blog/design-systems-vs-pattern-libraries-vs-style-guides-whats-difference/ Tue, 13 Aug 2024 12:55:25 +0000 https://www.uxpin.com/studio/?p=15981 You’ll often see the terms design system, pattern library, component library, and style guide used interchangeably. While these concepts are connected, they refer to different parts of a whole. There’s also confusion about a design system vs. a component library. Design systems have component libraries, but a component library is also a stand-alone ecosystem, like

The post The Difference Between Design Systems, Pattern Libraries, Style Guides & Component Libraries appeared first on Studio by UXPin.

]]>
design system vs component library

You’ll often see the terms design system, pattern library, component library, and style guide used interchangeably. While these concepts are connected, they refer to different parts of a whole.

There’s also confusion about a design system vs. a component library. Design systems have component libraries, but a component library is also a stand-alone ecosystem, like MUI, React-Bootstrap, and others.

Confusing? Don’t worry; this article will help define all of these terms and put everything into perspective. We also explore the benefits of design systems and component libraries and how designers and developers use these differently.

Integrate your design system directly into the design tool. Use UXPin Merge to design with dev-ready components and eliminate the discrepancies of design to code translation. This not only speeds up the handoff process but also ensures that your final product is visually consistent, user-friendly, and true to your brand. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Design System?

A design system is a complete set of design standards (style guide) and documentation accompanying a UI tool kit, including UI patterns, UX design principles, and components. When we look at a design system in this context, it incorporates everything designers and developers need to build and scale digital products.

Some other things you’ll find within a design system include:

  • Brand guidelines
  • Accessibility guidelines
  • UI Design guidelines
  • Governance
  • Best practices
  • Design system roadmap and releases
  • Code snippets
  • CSS variables & design tokens
  • UI kit (an image-based version of design system components)
  • Downloadable assets

Pattern Library vs. Component Library–What’s The Difference?

Another big cause for confusion is “the difference between a pattern library vs. a component library.” Most designers use these terms interchangeably. To some extent, that’s not incorrect, but it’s also not completely accurate.

The difference between components and patterns is best explained using Brad Frost’s Atomic Design methodology:

  • Atoms: The foundational design elements that you cannot break down further. For example, buttons, icons, forms, etc.
  • Molecules: Created by combining atoms to create larger UI components or patterns, like pagination, breadcrumbs, etc.
  • Organisms: Complex UI patterns comprising of atoms and molecules. These patterns shape a user interface with cards, navigation bars, logos, search fields, etc.
  • Templates: Complete layouts and wireframes which include atoms, molecules, and organisms. A template starts to resemble parts of a webpage or mobile application.
  • Page: A page brings everything together on one screen.
design system atomic library components 1

Using Atomic Design, we can define patterns and components as follows:

  • Component library (Atoms): A component is a reusable block of code that can stand alone or form part of multiple UI patterns–for example, a button. A component library is a collection of UI components within a design system.
  • Pattern library (Molecules & Organisms): A pattern is a group of components that designers use to solve usability issues–for example, a navbar with a logo, links, search form, and CTA button. A pattern library is a collection of UI patterns within a design system.

What is a Style Guide?

And lastly, we have a style guide. A style guide is a piece of documentation that provides context and instructions for a design system’s patterns and components–for example, color HEX codes, typography scales, usage, dos and don’ts, etc.

Design System vs. Component Library

When people talk about component libraries like MUI, React-Bootstrap, and others, things get even more confusing. Aren’t these design systems? 

Although these component libraries have extensive documentation and guidelines, they’re not design systems. Designers and engineers can use these open-source component libraries however they choose.

They can edit the library’s components without limitations (so that they’re indistinguishable from the original), build new patterns, combine with other libraries or create custom components.

A design system is different. Designers and engineers must use the components as building blocks. They must follow the system’s guidelines, style guide, principles, and other documentation to design consistent-looking user interfaces–like following the instructions to build a Lego set.

If team members want to change a component or introduce a new pattern, they must follow the design system’s governance procedures. In some cases, the design system team will have the final say about how to build that new component.

Design Systems in Practical Sense

Design systems might seem restrictive, but there’s a good reason for these processes and protocols. Let’s take Atlassian as an example. Atlassian has a suite of business tools with a global userbase.

The company’s biggest selling point is that organizations can use and sync Atlassian’s product suite for a cohesive, consistent experience across the company, from customer support to sales, design, and development.

It’s challenging to achieve that level of consistency when you have a global team of designers, product teams, and engineers. So, Atlassian’s design system stipulates how teams must design its products for a seamless user experience.

In another example, Shopify allows third-party applications, themes, and other integrations. These add-ons come from freelancers and agencies worldwide–which is even more challenging to maintain cohesion and consistency than Atlassian!

Shopify developed its design system Polaris to ensure a consistent user experience, which both internal and third-party developers use to build Shopify products. The design system includes a UI kit for designers and React component library for engineers. 

Polaris Design System

In this case, Polaris is the complete design system of principles, written content, visual properties, and UI components. The style guide is simply the static documentation on the Polaris website which describes how to use the design system. The pattern library is part of the “Components” in the Polaris design system.

The differences are subtle but unmistakably important when it comes to improving product development. A style guide on its own becomes quickly outdated since documentation requires maintenance. A pattern library lacks the instructions and principles for coherent implementation.

The design system ties everything together.

Creating a Design System

Now that you know what these terms mean and how they work together, let’s quickly review how to build a design system. Here’s a quick overview of the steps involved from our 50-page e-book Creating a Design System: The 100-Point Process Checklist.

design system 2

1. Create the UI inventory: First list and describe all of the design patterns currently used in your interface and note the inconsistencies therein. 

2. Get support of the organization: Present your findings and explain the utility of a common design language to everyone. As explained in our Evangelizing Design Systems templates, estimate the number of design and engineering hours wasted on redundant work and how product coherence can improve NPS scores.

3. Establish design principles: Codify your practices. You’re now starting to work on the style guide for the design system.

4. Build the color palette: When building the UI inventory, we found 116 different shades of grey that needed consolidation. Create the palette and its naming convention.

5. Build the typographic scale: You can optimize the scale to serve existing styles, or you might try to build a harmonious scale using the golden ratio or major second. When building the scale, don’t forget that you’re not only setting the size of the font, but also weight, line-height and other properties.

6. Implement icons library and other styles: Decide which icons from the UI inventory will become part of the design system, then standardize the implementation.

7. Start building your first patternsThis is the task that will never end. Patterns should always either reflect the truth about the product, or reflect the aspirational state of the product in the near future.

Learn More About Design Systems

We’ve defined and organize the terms design system, style guide, and pattern library into a hierarchical structure. We’ve also quickly described how to build your own design system.

For a step-by-step walkthrough of how to build a design system, download the 50-page ebook Creating a Design System: The 100-Point Process Checklist. All the advice is based on UXPin CEO Marcin Treder’s experience building the internal design system.

Once you build the system, there’s still things to do to ensure its success. We prepared a checklist of things that you should do after releasing a design system at your organization.

On Using a Component Library

design system library components 1

Component libraries provide design and engineering teams with a comprehensive collection of UI elements and components for digital product design. 

The most significant benefit is that teams don’t have to start from scratch–they can begin prototyping and testing immediately using a thoroughly tested component library.

MUI (based on Google’s Material Design UI), one of the world’s most comprehensive and widely used component libraries, even provides customization through theming, so you can separate your UIs from competitors–even if they’re using the same component library.

While component libraries are customizable, they also provide a single source of truth between design and development–something particularly challenging, especially in the early stages of a product’s lifecycle.

Using the same components as engineers gives designers some constraints to minimize drift. At design handoff, engineers simply copy the component library’s components and make changes according to the designer’s mockups and prototypes.

Another significant benefit of a component library is that it gives solo engineers and startups professionally styled UI elements to build products and prototypes, making it easier to enter the market and compete.

How Can Designers and Engineers Use Design Systems?

Designers and engineers follow the same design principles but the guidelines and documentation differ. 

For example, with Polaris, designers and engineers must follow Foundations and Experiences to understand the principles, brand requirements, and approach to designing Shopify products. This knowledge is essential to know before you can start designing and coding.

uxpin design system components states icons 2

Polaris also includes a Resources section with a UI kit, Polaris tools (icons set), Polaris GitHub page, links to Shopify’s blogs, additional developer documentation, and forums/communities.

Polaris’ Content and Design is designer-specific documentation for designing Shopify products. The Design section includes a style guide with Polaris’ design language, colors, typography, illustrations, sounds, icons, states, spacing, and data visualization.

Developers must familiarize themselves with Polaris’ design documentation (especially if it’s a solo developer) to understand the reasons behind design decisions and build layouts accordingly, but they have separate documentation under Components.

The Components section includes interactive example components with a code snippet and a link to open it in CodeSandbox. Devs can explore each component and use the snippet as starter code to develop a Shopify product.

Using Component Libraries and Design Systems with UXPin Merge

UXPin Merge allows you to sync any design system or component library hosted in a repository to UXPin’s editor. Instead of using a UI kit, designers build mockups and prototypes using fully functioning code components.

The design system team can set constraints and provide flexibility via the component’s props with our Git integration (for React) or Args with Merge’s Storybook integration (Vue, Ember, Angular, and more). Any updates the DS team makes to the repository automatically sync to the design editor, and UXPin notifies teams of the changes–creating a single source of truth across the organization!

uxpin merge component responsive 1

Designers can make adjustments to components via UXPin’s properties panel or switch to JSX to edit code directly–perfect for you designer/developers who want the best of both worlds. At design handoff, engineers copy each component’s JSX properties to develop the final product.

UXPin also generates an automatic design system with interactive components generated from your code. You can also include a style guide and other documentation, keeping your entire design language in one place. Instead of downloading and importing assets and components, design teams grab what they need from the Design Libraries Panel to build layouts. Discover UXPin Merge.

The post The Difference Between Design Systems, Pattern Libraries, Style Guides & Component Libraries appeared first on Studio by UXPin.

]]>
Design Consistency Guide UI and UX Best Practices https://www.uxpin.com/studio/blog/guide-design-consistency-best-practices-ui-ux-designers/ Tue, 13 Aug 2024 12:43:44 +0000 https://www.uxpin.com/studio/?p=16135 A step-by-step guide filled with examples.

The post Design Consistency Guide UI and UX Best Practices appeared first on Studio by UXPin.

]]>
Design Consistency Guide

One of the key design principles, no matter if your designing a mobile app or a desktop one, is to keep your UI consistent. But what does it mean? How do you achieve consistent user interface? Which design decisions you need to make to achieve that? It’s time to explore that.

Good UX design doesn’t come from following UX design best practices. You need to test your product to tell if it offers great UX and fulfills user needs. That’s where prototyping tools come in. With a tool like UXPin, design teams can prototype their product, and then optimize their design through series of iterations and usability testing with real users.

Maintaining consistency between design and development can be challenging, especially in complex projects. UXPin Merge bridges this gap by allowing designers and developers to work with the exact same components. With Merge, your design team can create complex interfaces using the same elements your developers use in production, ensuring that what you design is exactly what gets built. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What Exactly is Design Consistency?

Design consistency is what ties UI elements together with distinguishable and predictable actions, which is key for great product experience and an important thing to consider for UX designers. A way to simplify things is to think of it as a commitment that you make to your users (“whenever you see the light grey button in the pop-up on a homepage, you can assume that it will cancel and the pop-up will close”) so that they can easily interact with your product.

As they become more acquainted and become regular users, they begin to trust the product more and more, which is a reflection of the consistent design. To provide users with a consistent UI, here are UI and UX best practices I’ve found useful for product design.

4 Types of Design Consistency

There are four types of design consistency that comprise visual, functional, internal, and external consistency.

  1. Visual Consistency
  2. Functional Consistency
    • Interactions: Ensuring that similar actions (like clicking buttons or navigating menus) yield similar outcomes.
    • Controls and Components: Using the same design for similar controls and UI components (e.g., buttons, forms) across different sections.
  3. Internal Consistency
    • Within a Product: Ensuring all parts of a single product or system look and behave consistently, even across platforms.
  4. External Consistency
    • Across Products: Aligning design elements and interactions with other products in the same ecosystem or brand family.

What are the Benefits of Design Consistency?

Design consistency enhances usability by making elements predictable, and it also shortens the learning curve, improves aesthetics, reduces user errors, and strengthens brand recognition by using uniform visual and functional elements.

  • Improved Usability – users can predict how elements behave, leading to a smoother and more intuitive experience.
  • Faster Learning Curve – users familiar with one part of the system can easily navigate others, reducing the need for extensive learning.
  • Enhanced Aesthetics – a cohesive look enhances the visual appeal and professionalism of the design.
  • Reduced Errors – predictable interactions minimize user errors and enhance reliability.
  • Brand Recognition – consistent use of visual and functional elements strengthens brand identity.

How to Achieve Design Consistency

  1. Design Systems and Style Guides – develop and adhere to comprehensive design systems or style guides that outline standards for visual and functional elements.
  2. Component Libraries – use component libraries to maintain consistent design elements and interactions.
  3. User Testing – Conduct regular user testing to ensure consistency meets user expectations and needs.
  4. Documentation and Training – provide documentation and onboarding for new designers and developers to maintain consistency.

9 UI and UX Best Practices for Consistent Design

Start with research

Nothing is more important for a consistent experience than quality research.

This should not be underestimated or hurried. Time and budget are always a necessary consideration in product design. Without either of these, a product would never ship. Although they are important to the process, we can’t lose sight of who actually uses the product, what their customer journey looks like, whether they are desktop or mobile users.

Keep your users top of mind and don’t overlook UX research in the beginning stages of product design planning.

Define user goals

Get into the mindset of a new user. What do they want to accomplish? How will the application help them? List our goals and refer back to these throughout the UI or UX design process.

For example, let’s assume we’re building a travel app. This travel application allows users to select a vacation timeframe and find deals on flights and hotels within their budget. But it’s not just the standard travel site. It connects to your Facebook account, works its magic, and plans the top five vacations based on the content that you’ve shared. The user selects the vacation plan that they like best and all the details are taken care of.

Here are some of the user goals:

  • View vacation options within a specified timeframe
  • Compare different vacation options
  • Select a vacation based on users interests
  • Keep within vacation budget

Now that we know the breakdown of goals, we can design to meet user expectations.

Familiarize yourself with common UI patterns

Don’t reinvent the wheel when it comes to established UI patterns. Recurring patterns solve common UX and UI design problems.

Of course, UX designers shouldn’t just “copy” the entire layout of another similar web or mobile app. They need to filter and modify the patterns based on specific user goals.

Common UI Patterns  - UXPin for UX Designers

 A typical pattern in eCommerce is a product grid. With this pattern users can easily browse and see product information.

It’s safe to say that patterns have been evolving and users become aware of standard locations for elements. Most users would agree that when they want to search for something, they look for the search bar in the upper center or right since this is a common placement.

Establish design patterns for product UI and UX design consistency

One of the keys to a successful — and consistent — UI is the user performing tasks with the minimum number of actions is. If a task that takes four steps can easily be completed in two, the UI should always be modified for the shorter task flow. UI patterns can help with this… after all, this efficiency is why they became patterns in the first place.

Design hierarchy

Along with design patterns, having an established visual hierarchy of UI design elements does wonders for UI consistency. Whether users are aware of it or not, they instinctively pay attention to the order and priority of the elements they interact with.

When it comes to visuals and the human eye, some elements take precedence over others (bigger sizes, bright colors, etc.), depending on how “noticeable” they are. Think about your screen visuals in terms of what people will see first, second, third, and so on.

This allows UX designers to ensure users find primary functions faster than others, but they can also present secondary and tertiary functions with the appropriate amount of attention.

design Hierarchy - UXPin for UX Designers

UI elements

There is a multitude of design elements that go into an application’s UI, and each makes up the building blocks that form UI patterns. Keep an organized inventory and check that elements are used properly to maintain a consistent experience.

Branding elements

Stay consistent with the overall brand. Typography, logo, correct image styles, brand color schemes, etc. should be reflected in the application, just like the rest of the brand’s properties.

Is the correct logo used? Are branding colors consistent? Does the typeface match the others? Brand consistency helps new projects feel like part of the brand’s family, rather than a black sheep. Style guides usually provide all the information you’ll need.

Branding Elements - UXPin for UX Designers
Branding Elements - UXPin for UX Designers

Making sure colors and typography are on brand gives each of the company’s products a consistent look and feel.

Typography

Elements with the most visual impact like typography should always be “on brand.”

This visual element is especially important, not just for hierarchy, but for the entire UX as well. Changing the sizes, fonts, and arrangement of the text can improve scanability, legibility, readability, and even navigation.

UI components

During user research, become familiar with UI patterns and their components. Knowing how each component behaves, within the pattern and outside it, lets UX designers properly prioritize all elements on the screen without anything slipping through the cracks.

“Components” can refer to any number of elements that make up a pattern, such as:

Let’s say you’re considering adding pagination to long lists so the user doesn’t have to scroll far with long lists.

As you examine the wireframes, you notice that one list has pagination with 20 or more items, while in another part of the application, a list only has pagination with 40 or more items. Which is correct? This example illustrates how making definitive decisions about guidelines is the backbone of UI and UX design consistency.

Templates

If you’re having difficulty standardizing your site or app, try using templates.

Most applications allow them, and because the layout and elements look the same, they streamline UI features across the products. Plus, you can reuse the same UI templates over and over, even years down the line.

Using Templates - UXPin for UX Designers

Pattern library and design system

It may not be user-facing, but it is one of the keys to consistency. Today, many teams have a pattern library or design system as a point of reference to keep everyone on the same page.  Pattern libraries and design systems are the rulebooks that anyone on the team can reference at any time. For team-wide consistency, they are essential.

A pattern library may not be as robust as a design system since it’s limited to design patterns specifically. A design system has more information all around, including helpful documentation about all the UI patterns and various components. A pattern library can also be a subsection of a design system.

Make actions consistent

Everyone loves when an application is user-friendly. It saves time, avoids headaches, and helps users accomplish their goals by eliminating confusion — all requirements for creating satisfied customers.

Consistent actions remove the need for user discovery and therefore make their task flow run more smoothly. If a user knows how to use the functionality in one section, they know how to use it in all sections (as long as it’s consistent).

Users inherently transfer past knowledge to new contexts as they explore new parts of the application. Consistent actions become second nature and eventually, the user can use the application without even thinking. Furthermore, users bring these expectations into new features or aspects of the product that they haven’t explored yet, minimizing the learning curve.

Consistent actions - design consistency - UXPin for UX Designers

 “View” placement is not consistent. On most of the cards, it’s toward the top, but on the collection card, it’s at the bottom. This inconsistency might cause the user to pause for a moment to search for the “View” option, not to mention it undermines their own natural habit-forming processes.  

So what, specifically, should you consider when designing your interface? Ask yourself these questions during the entire process:

  • Do all parts of the application behave the same way?
  • How do interactions work? Are they predictable and consistent?
  • How much discovery is needed for a user to understand this interaction?
Sorting - design consistency - UXPin for UX Designers

The example on the left has inconsistent sorting; not all columns have the option to sort. Users may want to sort data in other columns. The example on the right has consistent sorting on all columns.

Review your content

It’s not just about the visual elements, but also the text throughout the application.

Consistent copy — especially consistent terminology — in each place in the application is another key. Using two different words for the same function makes them seem like different functions, causing a momentary pause in the workflow while the user sorts out the discrepancy.

Consistent copy avoids this confusion.

Content structure

Content plays a crucial role in UI elements, whether something as simple as navigation listings or as complex as product documentation. It’s not just the words themselves, but how to copy text is presented visually, such as body copy, list items, table content, etc.

In particular, pay attention to how content is handled in these areas:

  • Navigation
  • Dropdowns
  • Form fields
  • Validation messages
  • Tooltips
  • Charts
  • Image captions
  • Error messages
  • Loading screens
  • Confirmation pages
  • Product support documentation

Brand consistency in content

You know that feeling when a certain part of an application feels “off.” A lot of times the reason is an inconsistency in the content’s language, for example, if one button says “Logout” and another says “Sign out.”

Even less noticeable inconsistencies can create that “off” feeling.

For the Oxford comma fans out there, something as “minor” as comma usage is picked up subconsciously. After enough of these subconscious flags, the user’s conscious brain starts to notice.

Other writing guidelines such as title case and voice/tone also influence the user’s experience. While title typography is more empirical, voice and tone are a little harder to pin down.  The trouble escalates if most content uses a casual style that clashes with a more formal “brand language.”

Appropriate user defaults

By considering user goals upfront, you can set realistic defaults to reduce the burden on the user.

If the defaults are set to the most popular preferences, the user may not have to make any adjustments at all. Take the date picker on an airline or car rental site. Often the starting default date is sometime in the near future, the most likely choice according to past statistics.

Pay close attention to forms, too; they’re a great opportunity for defaults to reduce the amount of user effort.

Datepicker template UXPin - UXPin for UX Designers

Consistent communication

Search results, form submit messages, error windows — every interaction with your user is communication. For an app to be successful, it must speak to the user and keep them informed on what’s happening. And, as with everything else, the way you communicate should be consistent.

Changes in state and helpful information

Users appreciate feedback: a toggle that changes color to indicate “on” or “off,” for example, or a sound effect to verify a completed action.

Give visual feedback - design consistency - UXPin for UX Designers

Your user should never waste time wondering whether an action took place or not. Form field submissions are notorious for this, but it happens in other areas as well. In situations where it may not be clear, a quick success (or error) message is all you need.

Messages in forms design consistency - UXPin for UX Designers

Play it safe. Even when it’s apparent that the action was successful, a lot of users still prefer a quick confirmation.

Reduce user frustration

The most common cause of user frustration happens when it’s not clear what to do next. Some tasks are not so self-explanatory, but UI and UX designers are often too close to it to notice. Luckily, some instructional text — even just a line or two — can solve the problem.

Instruction in an online form - UXPin for UX Designers

For the same reason, error messages are useful too. While users may not like seeing them, they still need to know what happened and how it can be corrected.

visual cues - design consistency - UXPin for UX Designers

Which Design Tools Help in Maintaining Consistency?

There are several tools on the market that help designers and developers keep consistency. We will discuss three of them. If you want to learn about more tools, you can see our article with Design System Management Tools.

UXPin Merge

UXPin with Merge technology allows design teams to build interfaces with production-ready UI components that can be further used to build the end-product. It ensures that the user interface that you design stays consistent and functional with the end-product that gets developed.

This means that design and development teams can be on the same page throughout the full product development process, from early-stage prototyping to creating fully interactive prototypes, eliminating discrepancies and reducing rework by maintaining a single source of truth.

Merge also allows designers to create fully functional prototypes using actual, interactive UI components, leading to more accurate user testing and a seamless handoff to development. Overall, it speeds up the design process by enabling real-time updates and feedback using the latest components, making it easier to maintain consistency and quickly adapt to changes.

Read about dotSource case of using UXPin Merge in their process.

Figma

Figma is a collaborative design tool that allows teams to create, share, and maintain consistent UI design and style guides in real-time. Designers use it to design interfaces of websites, apps, and other digital products that are consistent and easily shareable with other designers.

Read how Porsche uses Figma and UXPin together to create consistent interfaces at scale: Code or Design – Which is a Better Source of Truth?

Storybook

Storybook is a tool for developers that use it to create and maintain UI components, enabling designers and developers to ensure consistency and proper integration of design elements. UXPin integrates with Storybook, so designers and developers can share coded components as a single source of truth.

The integration works by allowing designers and developers to use real UI components from Storybook directly within UXPin. Here’s how:

  1. Component Sync: UXPin imports Storybook’s components, enabling designers to drag and drop them into UXPin prototypes.
  2. Live Preview: Design changes in UXPin reflect in real-time, using the actual code components from Storybook.
  3. Shared Libraries: Both tools use the same source of truth, ensuring that design and development stay aligned and consistent with the latest UI components.

Read more about the integration: Storybook and UXPin integration.

Level up Design Consistency with UXPin

Consistency in UI is a huge undertaking, and it’s easy for some parts to slip through the cracks. The end goal is, of course, a perfectly consistent and in-sync interface, but that’s not always possible right out of the gate.

For startups, you can try an MVP (minimum viable product). Even if the product starts out with some inconsistencies, your team can iron them out one by one over time once you start receiving feedback.

If you’re making updates to an existing product, it can be more difficult to remain consistent. This is where the right prototyping software comes in handy. UXPin allows you to build interactive prototypes fast and keep them in line with your design system. Discover UXPin Merge.

The post Design Consistency Guide UI and UX Best Practices appeared first on Studio by UXPin.

]]>
Top 3 Design System Structures https://www.uxpin.com/studio/blog/design-system-structure/ Mon, 29 Jul 2024 09:47:03 +0000 https://www.uxpin.com/studio/?p=43894 Many teams envision creating a design system as a difficult, time-consuming project. It forces team members to audit their user interface, create a repository of design system elements and design guidelines and combine it in a way it’s usable for the entire organization It’s not the only way you structure a design system, though. There

The post Top 3 Design System Structures appeared first on Studio by UXPin.

]]>
Design System Structure

Many teams envision creating a design system as a difficult, time-consuming project. It forces team members to audit their user interface, create a repository of design system elements and design guidelines and combine it in a way it’s usable for the entire organization

It’s not the only way you structure a design system, though. There are some simpler methods of creating this toolkit that is meant to speed up the design process. Let’s explore the best approaches for arranging a design system structure that achieves these goals. 

Maximize the use of your design system in prototyping. Bring your design system’s building blocks to UXPin and design interactive prototypes that your devs can quickly translate to code. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Design System Structure?

A design system structure is a comprehensive framework that helps manage design at scale by providing a set of shared principles, patterns, and tools. It enables a consistent, coherent, and efficient design process across multiple teams and projects. The structure typically includes various components, each serving a distinct role in the overall system.

By having a well-structured design system, organizations can ensure a cohesive user experience across all products and platforms, streamline the design and development process, and foster collaboration among team members.

Design systems can be broadly categorized into three types based on their scope, usage, and complexity. Here they are:

  • Simple visual design repository
  • Atomic design system structure
  • Code-based design system structure.

Let’s explore them closely.

How Can You Structure a Design System? 

When you combine design elements with the relevant documentation and guidelines, the system should form a coherent repository of things that are important for building user interfaces for a brand. But to achieve optimal design efficiency and system effectiveness, first, you must arrange it into a discernible structure. One that best suits your team’s needs and your organizational design objectives. 

Simple visual design repository

This is the most basic of design system structures. As the NN Group explains, these visual design repositories come in various configurations, though the core focus here is simplicity.

At its fundamental level, a simple repository’s primary design system components consist of a style guide, a component library, and a pattern library. Together, these form the essentials for any functioning design system repository.  

color sample library

This structure only contains the essentials that constitute the system. It intends to provide the team members with what they need from the outset and allows them to create and add other assets and documentation as they go along. Shopify’s Polaris and Atlassian Design System use this type of design system structure.

Advantages: 

  • The arrangement is simple to create and implement.
  • It encourages the design system team to tell the system’s basic structure from commencement.
  • And decisions are made on the move, fast-tracking development.

Drawbacks: 

  • This arrangement lacks the structure provided by a strict hierarchy.
  • Teams tend to list the design system elements alphabetically or by their degree of importance, ignoring critical distinctions.
  • And it can be challenging to update and maintain this arrangement. 

Atomic design 

The atomic design structure was created by design systems advocate and author Brad Frost. It focuses on using order and a structured hierarchy to create an effective UI design system. 

The atomic design methodology approaches design system structure by separating the process into five stages. The first three are modeled around the chemistry world, with the subsequent two relating to aspects of the world we can see. We explored atomic design system and its components in a separate article, but let’s recap the most important information here.

design system atomic library components

Each stage uses the previous one as its foundation. Every level consists of aggregated items from the preceding one. Like atoms constitute a molecule and molecules form an organism, this structure considers the smallest elemental components before moving on to the larger ones.

  • Atoms – These represent the most basic components of the design system.
  • Molecules – When those ‘atomic-level’ individual elements combine into groups, you’ll start to see bigger elements, coming together like lego pieces.
  • Organisms – By developing combinations of elemental design components into molecular groupings, organisms emerge. These form more complex design system UI components.
  • Templates – The next stage departs the realm of chemistry and heads into a more ‘macro’ world. Templates are where organisms can be curated and compiled into a cohesive, recognizable design.
  • Pages – Once you take a template and customize it, you have a page. By replacing the placeholder content in templates with tailored design content, you obtain the final, tangible product of the design system. Pages may not need to be designed for each and every case, but ensuring that there exist a few variations is a good idea.

Advantages: 

  • Atomic design structure makes use of reusable components. Teams can divide various elements into basic atoms. These can then be applied and reapplied in different combinations and configurations.
  • Teams can easily spot those parts of a website or app that need various elemental components and create molecules and organisms accordingly. 
  • This arrangement enables designers to use a design language that clearly defines a separation between content and structure. 
  • This helps them be more creative and come up with different variants of the same components.

Disadvantages:

  • An atomic design structure can result in long, complex lists of components. 
  • In some instances, having only a few components means maintaining multiple categories for them is pointless. This can complicate the overall methodology.  

Code-based design system structure

This approach is among the most potent and effective for designing system structures. It is ideally suited for design teams working on digital product and new functionalities. Think about Material Design or Fluent UI design system.

design system components

This structure enables you to develop prototypes that look and behave just like the developer-built final product. This arrangement allows for more collaboration between designers and developers. The whole product team can count on a single source of truth informing their efforts. 

The code-based design system arrangement is considered a relatively new approach in digital product system design. With it, designers can now employ functioning, developer-approved coded UI elements to scale digital product design.

Advantages:

  • The structure improves designer-developer cooperation. 
  • It helps teams track changes in UI elements more effectively. 
  • It improves overall efficiency from prototyping through to design handoff. 

Disadvantages:

  • Designers need tools like UXPin with Merge tech to benefit from code-based design system.
  • Components can take lots of time to create.
  • Designers may require developer assistance to develop the system.

How Do You Choose the Right Design System Structure? 

Deciding on the right design system structure is essential to giving your team the framework they need to design more efficiently. A design system structure aligned with your product design objectives will help designers collaborate better. This assists them in producing the digital products they’re capable of. 

To ensure you’re picking a design system structure that aligns with your product team’s needs, ask yourself:

  • For whom is your design system being optimized? Is it for everybody across the organization, user experience designers, or, say, front-end developers only? 
  • How many components and content types – from design patterns, coded UI components, and design guidelines to rollout plans and best practice policies – are you looking to integrate into the system? 
  • At what stage of maturity is your design system currently at?

Effective design systems are dynamic entities capable of adapting to the challenges that come with growth and change. A design system’s inherent value lies in its ability to reduce the duplication of effort and facilitated collaboration

Why UXPin Prefers a Code-Based Design System structure?

Using coded components in a design system enables sharing among design and developer teams. This allows them to rely on a single source of truth and to collaborate more effectively.

code design developer

Teams across the organization can also manage all their design and prototyping projects simultaneously. This maintains a higher degree of consistency. In turn, developers can get stuck into translating design patterns into developer’s language.

UXPin Merge uses a code-based design system structure to design prototypes with a single source of truth. With it, designers can create prototypes for digital products that are consistent with developer’s workflow. Discover UXPin’s code-to-design solution.

The post Top 3 Design System Structures appeared first on Studio by UXPin.

]]>
Color Tokens in Open Beta – Simplify Color Management https://www.uxpin.com/studio/blog/color-tokens-in-uxpin/ Thu, 25 Jul 2024 10:09:40 +0000 https://www.uxpin.com/studio/?p=53888 As part of our commitment to help you create consistent user interfaces, we’re excited to introduce Color Tokens — a powerful tool that brings a new level of precision and organization to your design workflow. In open beta, you can set up a color token library, easily update your design system and control colors of

The post Color Tokens in Open Beta – Simplify Color Management appeared first on Studio by UXPin.

]]>
CT blog

As part of our commitment to help you create consistent user interfaces, we’re excited to introduce Color Tokens — a powerful tool that brings a new level of precision and organization to your design workflow.

In open beta, you can set up a color token library, easily update your design system and control colors of your components. In the future, you will be able to facilitate the full design process with colors. Follow along the advice posted in this article. Set up a UXPin account. Try UXPin for free.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

What are Color Tokens?

Color tokens are a set of predefined, reusable variables representing colors used in a design system.

cloud sync data

Instead of manually applying hex codes or RGB values across different elements, designers can now use these tokens to ensure uniformity, consistency, as well as simplify updates and maintenance of colors in their design system.

Learn more about design tokens: What are design tokens?

Why Are Color Tokens Important?

Color Tokens help keep designs consistent by using the same colors across projects. They make updates easy, reducing manual work. They also help teams use a common set of colors, so everything looks cohesive and in line with company standards.

  1. Consistency: By using Color Tokens, teams can ensure that the same color values are applied consistently across all design assets, eliminating discrepancies and maintaining brand integrity.
  2. Efficiency: Tokens streamline the design process by reducing the need for repetitive tasks. When a color change is required, tokens can help designers and engineers do it quickly, saving time and reducing errors.
  3. Collaboration: Color tokens facilitate better collaboration between designers and developers. With a shared language and defined color standards, design handoffs are smoother, and the implementation is more accurate.

How to Access Color Tokens in UXPin

color tokens uxpin

Before you can access Color Tokens, you need to set them up. You can do that manually or convert an existing library into a Color Token library. See UXPin’s documentation for detailed instructions: Color Design Tokens.

Convert an existing library

If you created a Color library in UXPin before July 17th, 2024, you can convert it to a token library and use the saved colors as token colors.

Open the existing library, click Library Settings and Click ‘convert library to use colors as tokens’. Save changes and you’re good to use those colors as tokens.

Set up a new library

To create a Color Token library, you need to navigate to Design System Library in UXPin. Open Design System Libraries (or press “cmd” + “2” to get there faster).

Then, at the bottom of the panel, click “+ New library”. Navigate to the colors section and get ready to add Color Tokens.

You can set up Color Tokens in two ways:

  • Copy colors from selected elements – select one or more elements on the canvas and click “+Add” in the library panel to add the colors as tokens.
  • Type in a color HEX code – enter the HEX codes to set up Color Tokens automatically.

The colors from your library will also appear in the Color Picker, so you can quickly apply them to elements on the canvas. Select the element that you want to switch a color of and choose an appropriate color from the library.

This trick works for setting up the colors for properties like fill, border, and shadow.

What Can You Do with Color Tokens in UXPin?

  1. Change colors of elements that you have on the canvas – Pick an element and add a color to it from the saved Color Tokens.
  2. Update colors in your design system – If you use a design system, you can now try new colors and change your design system library for a more modern look.
  3. Maintain a uniform look within a project – Access the same Color Tokens in every new prototype that you and your teammates create within a project.
  4. Share Color Tokens across your organization – Share your design system library with tokens across your organizations, so everyone can use the same Color Tokens.
  5. Manage Color Tokens as you like – Set up new Color Tokens, update existing ones, share them with your team, and more. 

A Step Towards Comprehensive Design Tokens

Introducing Color Tokens is just the beginning. At UXPin, we understand that Design Tokens extend far beyond color. As part of our commitment to creating a robust design system, we are actively working on expanding our token offerings to include typography, spacing, and other design elements.

This comprehensive approach will further enhance consistency, improve scalability, and streamline the entire design-to-development workflow.

Use code-backed components in both design and development. Build advanced prototypes effortlessly and generate production-ready code directly from the design. Try UXPin for free.

The post Color Tokens in Open Beta – Simplify Color Management appeared first on Studio by UXPin.

]]>
9 Best Design System Examples in 2024 https://www.uxpin.com/studio/blog/best-design-system-examples/ Tue, 23 Jul 2024 12:27:12 +0000 https://www.uxpin.com/studio/?p=30873 Design system is a set of components, rules, style guides, and documentation used to build a coherent and on-brand interface of a product. Most brands create their own design system and we prepared a list of nine most popular design systems that you can learn a lot from. Those and other design systems can be

The post 9 Best Design System Examples in 2024 appeared first on Studio by UXPin.

]]>
Top 8 DS

Design system is a set of components, rules, style guides, and documentation used to build a coherent and on-brand interface of a product. Most brands create their own design system and we prepared a list of nine most popular design systems that you can learn a lot from. Those and other design systems can be found in our design system repository called Adele.

Boost design system adoption and governance with UXPin Merge. Bring all interactive components from your design system to the editor, build fully interactive prototypes, and keep your designs consistent. Read more about UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Design System?

A design system is a collection of all design resources that a product team may use to build user interface of their app, website, eCommerce store or any other UI design they need to develop.

Design systems aren’t only for designers. They are also for developers, as they contain all code snippets and development resources with necessary front-end code together with documentation as well as design guidelines, relevant plugins, design patterns, style guides, reusable components, rules plus guidelines, and all other building blocks useful for web design and development workflow.

design system 2

These design systems are then hosted as websites online and can be publicly available (they are open-source design systems) or internal, whatever the brand decides.

We can think of a design system as a vast data library that acts as a valuable document with applicable instructions and examples, product design and coding guidelines, and a part of the UI kit all at the same time.

As you can see, there are many product design concepts related to design systems. If you want to learn to differentiate design systems from pattern libraries, component libraries, and UI kits, read our previous article on the topic: The difference between design system, pattern libraries, style guides, and component libraries.

Why Are Companies Building Unique Design Systems?

Companies like Shopify, Google, AirBnB, and other are building their own unique design systems because they want:

  • Consistency – design systems act as a single source of truth for design and development.
  • Transparency – developers can use the design system components directly, without needing to interpret design decisions.
  • Scale – designers are able to build prototypes faster and streamline developer handoff.
  • Reusability – design systems facilitate the creation of prototypes with consistent components that can be shared within the organization.
  • Clarity – design systems help ensure that design decisions are based on shared knowledge, making it easier for team members to understand and contribute effectively.

What is There to Learn from Design Systems?

The majority of design systems follow rather general setup patterns.

The system often features its top navigation with the main categories: Design, Code, Language, Components, etc.

Each of these main categories has its subcategories that discuss things in more detail, making the most out of the atomic design structure. For instance, these subcategories could be something like Typography, Color, Forms, Banners, etc.

Following this intuitive navigation can get you valuable information about best practices in terms of design.

The Benefits of Creating a Design System

With a well-built design system in place, businesses can considerably improve their teamwork and streamline decision-making process, but that’s not all that you can get from creating a design system.

Such collection of guidelines, elements, and data minimizes communication issues between designers and developers and minimizes the room for potential UX design bugs or acquiring UX debt.

What’s more, having such a reference-rich library significantly reduces the necessary time to go from a prototype to an actual product.

For example, PayPal uses Fluent UI together with Merge technology. This allows them to incorporate the interactive components to the UXPin library. That way, both designers and product team members alike can easily access these components and design with them over and over again.

Design systems are a great way to minimize the disconnect between designers and developers but are still not the ideal solution on their own. Thanks to the Merge technology revolution, product team members can easily use the same tools and improve their DesignOps workflow processes. This means that both developers and designers can access and use the same UI elements from one single source. 

Design System Challenges and Solution

Even when companies try to create their design system, specific issues and consistency disconnects can still happen, especially when maintaining all the elements, documentation and code. 

Learn more about design system challenges and solutions from one of the top design leaders – Johnson & Johnson. During our webinar, the J&J team shared all their best practices. 

Example 1: Porsche Design System

Zrzut ekranu 2024 05 29 o 13.25.31

The Porsche Design System is an exemplary model due to its comprehensive, well-documented, and high-standard approach to design and implementation, making it a valuable reference for anyone looking to create top-tier web applications.

The Porsche Design System stands out because it provides the essential design fundamentals and elements required for creating visually appealing and high-quality web applications. One of its key strengths lies in its pixel-based libraries for Figma and then coded ones in UXPin, which streamline the design process for digital creators. Additionally, it includes coded Web Components and detailed usage guidelines, ensuring that the implementation is as smooth and consistent as the design.

What truly sets this system apart is its adherence to the rigorous Porsche quality standards and corporate design principles. Every component is meticulously built and tested, guaranteeing not only aesthetic excellence but also functional reliability. This holistic approach ensures that the final products are both beautiful and robust, reflecting the esteemed Porsche brand.

Example 2: Google Material Design System

Google Material Design System example from website

One of the most popular design system is Google’s Material Design. Google created and publicly shared their Material Design System that goes into the tiniest details regarding everything there is to know about the design and design principles. Every UXPin user can easily use the Material Design components as they are one of the UXPin libraries. 

Thanks to this system, users can get valuable information that perfectly unifies UI and UX across different devices, platforms and input methods.

Material Design allows other brands and individuals to have a strong foundation for building upon when it comes to their own approach to atomic design, industry innovation and unique brand expression.

The main features of the Google Material Design System include:

  • Starter Kits
  • Design Source Files
  • Material Theming
  • Layout
  • Typography
  • Color
  • Components
  • Mobile Guidelines

Google’s Material Design System looks very mature. It has a lot of design guidelines, but it also contains documentation about UI components that are used in development. Did you know that such components can be used in design? Bring your developers’ components to design with UXPin’s Merge technology. Request access to UXPin Merge.

Example 3: Apple Human Interface Guidelines

Apple design system is called Human Interface guidelines and it is one of the best design systems

Apple has one of the top design system. It is called Apple Human Interface Guidelines and it presents a vast and rather valuable design system resource for the web design essentials and pattern libraries but downloadable templates. The iOS UI kit library is also available with a UXPin account. 

The system follows Steve Job’s design principles:

  • Craft with great precision and attention to detail
  • Emphasize user experience and connection with the users
  • Focus on what’s truly important on a larger scale
  • Generate wanted user reactions thanks to the specific design language and practices
  • Utilize the friendly aspect of high tech for both novice and advanced users
  • Simplify everything

Features of Apple Design System

Apple Human Interface Guidelines consist of practical resources, visual guidelines and style guides for both designers and developers for iOS, macOS, vOS and watchOS.

Its includes design system documentation about using:

  • Menus
  • Buttons
  • Icons and Images
  • Fields and Labels
  • Window and View
  • Touch Bar
  • Indicators
  • Selectors
  • Extensions
  • Visual Design
  • Visual Index
  • App Architecture
  • System Capabilities
  • User Interaction
  • Themes

Example 4: Atlassian Design System

Atlassian design system is one of the best

Atlassian Design System is one of the best out there. Atlassian Design System focuses on providing valuable assistance to teams from all over the world by making their collaboration seamless and easy. Atlassian Design Guidelines are also a part of UXPin’s library collection. 

Atlassian design philosophy is all about utilizing the digital experience to improve the productivity and overall potential of teams and individual team members, perfectly reflected in their globally used collaboration tools Trello and Jira.

That said, Atlassian Design System features agile practices and efficient tracking of every single step within a project that ultimately yields valuable results in terms of product delivery and development.

Features of Atlassian’s design system

Atlassian’s design system includes

Example 5: Uber Design System

Uber design system is the best design system for automotive

According to Uber, movement ignites opportunity and that’s how they structured their design system.

After all, Uber service bases on movement with ride-hailing, peer-to-peer ridesharing, food delivery and micro-mobility involving scooters and electric bikes.

For this type of service to work impeccably, from sub-brands to internal ones and products to programs, Uber requires an effective design system that the company shares with the rest of the world.

Features of Uber Design System

Main features of Uber Design System:

  • Brand Architecture
  • Composition
  • Tone of Voice
  • Motion
  • Illustration
  • Photography
  • Iconography
  • Color
  • Logo
  • Typography

Example 6: Shopify Design System Polaris

Shopify is the best design system because it contains guides and components that create a wonderful user experience

Shopify is a global eCommerce platform that provides everything a brand may need to run and grow its business in one place.

It’s no wonder that their design principles focus on creating a better and more accessible commerce experience.

Shopify’s public design system called Polaris encompasses the company’s core values:

  • Be caring and considerate to the users
  • Provide people with the right tools to accomplish whatever they set out to do
  • Enjoy the top level of craftsmanship that matches the brand image
  • Minimize the hustle by providing accurate and quick solutions
  • Always build upon users’ trust
  • Make the users feel comfortable with using the products

Polaris Design System provides an easy-to-follow and practical style guide for designing for the Shopify platform. It offers a vast knowledge base on utilizing UI components, visual elements, content, and design language for creating a better user experience and product in general.

Features of Shopify’s Design System

Shopify Design System Polaris includes main features that follow the practices mentioned above to a tee:

  • Data Visualization
  • Accessibility
  • Interaction States
  • Colors
  • Typography
  • Icons
  • Illustrations
  • Spacing
  • Sounds
  • Resources

Example 7: IBM Carbon Design System

IBM named their design system Carbon and here is its website screenshot

IBM operates on a global scale by meeting large enterprise IT needs.

Their services range from business consulting and financing, software development and IT hosting/management to software-to-hardware products.

IBM’s core belief revolves around making constant progress, be that human condition, society or a brand, by utilizing science, reason and intelligence.

According to IBM, a good design is not only a mere requirement but an actual responsibility to the users.

Features of IBM’s Design System

This is where their Carbon Design System shines with its main features, offering plenty of tools and visual resources for Adobe, Axure and Sketch designers as well as developers:

  • Data Visualization
  • Patterns
  • Components
  • Guidelines
  • Tutorials

UXPin users can conveniently find everything they need from Carbon in their account as well. 

Example 8: Mailchimp Design System

Mailchimp design system can teach us a lot about building long-lasting design systems

Mailchimp has come a long way from being a renowned email marketing leader to providing an all-in-one marketing platform that goes beyond email only.

Mailchimp has one clear goal: to help small businesses grow while remaining true to their brand identity and image.

Features of Mailchimpr’s Design System

That is also one of the many reasons behind creating the Mailchimp Design System and its main features that focus on creative expression, better user experience and top quality:

  • Data Visualization
  • Grid System
  • Color
  • Typography
  • Components

Example 9: Salesforce Lightning Design System

Salesforce has a great design systems

Salesforce goes above and beyond to deliver a personalized experience to its users through the integrated cloud-based CRM software.

The purpose of the Salesforce CRM is to improve marketing, commerce, IT, service and sales efforts – and allows their users to do the same with their users.

Their design philosophy is reflected in the Hawaiian word for intentional family, Ohana, with four core values that drive their company actions and overall culture:

  • Innovation
  • Equality
  • Trust
  • Customer Success

Features of Salesforce Design System

Salesforce has put out their own Lightning Design System that allows everyone working with content management systems to learn and benefit from its main features:

  • Design Guidelines
  • Platforms
  • Accessibility
  • Components (and a lot of them)

Lightning components are a part of the UXPin account libraries as well. 

Make the Most of Design System: the UXPin Merge Way

Merge tech is created as an adequate solution to common challenges that often happen when there’s a communication gap between design and development teams. So, various UI components, coding and documentation inconsistencies can arise, affecting the product’s efficiency and maintenance.

With the design system that organizes all of the necessary components as a first step in the right direction, Merge will then take all those UI elements right to the design editor.

You’ll save time and money by avoiding inconsistencies, not to mention the joy of seeing an end product that’s exactly the same as what you originally envisioned!

Merge tech focuses on design with code components, that is converting a code component into the design. In that respect, designers don’t simply create prototypes based solely on the visual aspect of the final product (while only faking the necessary interactions); instead, designers use already coded components to design the prototype image.

There’s no need to go back and forth between the design and dev team since the design team can take the already existing coded components, synchronize them with UXPin’s editor, and drag and drop the components they need to create new designs.

Essentially, designers don’t have to create fake interactions, add them or search for the right colors.

On the other end, developers get the prototype preview and continue to work with the available production-ready elements.

Which Design System Example is Your Favorite?

Design systems consist of tons of UI components and guidelines that are meant to optimize and improve the design efforts and promote consistency among the teams.

However, if the design system is poorly maintained and implemented, the said system can turn into nothing more than many clunky and confusing code snippets, libraries and components.

A design system can quickly help team members to promote consistency while also allowing designers to deal with more complex UX issues. And when you add revolutionary Merge tech to the mix, you can truly take your design system organization to the next level. Learn more about UXPin Merge.

The post 9 Best Design System Examples in 2024 appeared first on Studio by UXPin.

]]>
Design a System of Icons With These Techniques https://www.uxpin.com/studio/blog/design-system-icons-techniques/ Thu, 18 Jul 2024 12:09:04 +0000 https://www.uxpin.com/studio/?p=15490 Little icons have a big job. With limited real estate, they must convey meaning to people who expect to be informed about function or status. Maybe that’s why thousands of icons sets exist, many for free. But there’s nothing quite like making your own. Project-specific icons help the project to stand apart and convey meaning

The post Design a System of Icons With These Techniques appeared first on Studio by UXPin.

]]>
prototype vs final product min

Little icons have a big job. With limited real estate, they must convey meaning to people who expect to be informed about function or status. Maybe that’s why thousands of icons sets exist, many for free. But there’s nothing quite like making your own.

Project-specific icons help the project to stand apart and convey meaning unique to its functions. For example, most apps or dashboards let you create new records. But fewer systems will let you assign one record to another. That may require a creative symbol that people will come to recognize as they learn your product.

Their role in design systems leaves little room for ambiguity: meaning must remain clear in a variety of surrounding contexts, while fitting into the system’s overall aesthetic.

Unify your design and development team with a single source of truth – coded components shared across UI design and engineering. Bring your design system to the final level of maturity and speed up the entire product development process. Try UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What are Icons in Design System?

Icons in a design system are visual symbols that represent ideas, objects, or actions. They are a fundamental element of user interface that helps products have a unique look and feel. Plus, they indicate that an element is clickable. They can provide visual cues where to click or tap to perform actions like saving, editing, sharing, or navigating within the interface.

Examples of icons in design system include:

  • navigational icons – aid navigating through the interface, such as menus, home, arrows.
  • action icons – help users perform some task like arrow for adding an item.
  • media icons – indicate that users can manage media like play button or speed up button.
  • utility icons – represent settings, configurations, and other customization mechanisms.
  • status icons – show errors, loading, or approval.
  • communication icons – such as chat bubble, phone or envelope.

Why Icons are Part of Design System?

Iconography is more than tiny pictures. Together they form an entire family, not unlike a set of typefaces, that reinforce a brand.

They also prevent extra work. When you need an icon, just grab one from the project’s style library, or use the library as inspiration. To that end writing (and drawing) guidelines for new icons is important.

  • Make guidelines for icons. Part of your design system should include parameters on what your team can and can’t do with icons.
  • Practice style. One of the best ways to develop a visual language is to apply it to new ideas. As you invent icons, make sure they fit the same look — but don’t be afraid to modify that look early in your work.
  • Test each iteration. Do your icons make sense? Can people figure out what they mean? Getting stylish while retaining clear meaning requires showing your work to users.

Where to get ideas for icons

Where do icons come from? Your imagination is just the beginning. Seeking inspiration from outside sources can be critical to success.

  • Look up synonyms for the word or concept you want to represent.
  • Look for styles beyond the obvious. What inspiration might you find from, say, Polynesian symbols or Mandarin letterforms?
  • Doodle shapes at random, avoiding backgrounds like circles or squares.
  • Use the brand. Does your project’s logo have an eye-catching characteristic you can use? How about the project’s typography?
  • Create negative space. How can the interactions of three or four regular geometric shapes overlap to create new and interesting forms?

Base complex forms on the same shapes

Recognizability is the most important aspect of an icon. If people don’t know it at a glance, they may waste precious time deciphering it — or look elsewhere for a shape they associate with the function at hand.

With that in mind we start by defining icons’ silhouettes. But don’t just start drawing lines.

  • Use the same geometry. Here we make shapes based entirely on small circles and rectangles. When you base icons on the same general elements, they look like they belong to the same family
  • Use the same angles, e.g. 90°, 45°, 30°. Doing so will make them more legible and more consistent.
  • Same line weight throughout. Here, basing glyphs on the same few shapes will help keep your icons looking similar without looking derivative.
  • Stick to symmetry — or the same asymmetry. Tilting your icons is a great way to make them stand out from other sets. But if you do so, tilt them all at the same angle to reinforce that they’re part of the same family. Otherwise stick to good ol’ right angles.
Icons based on shapes

This example may stick to its base shapes a little too closely for practical design work, but demonstrates how simple geometry can create complex forms that look like they belong together.

Make a consistent color palette

Like using geometry to make icons look like a set, if you plan to use color, then you should use the same color palette. But which colors?

  • Seek inspiration from your photos. If you have final art for your project, make the icons look harmonious by sampling colors from that art.
  • Borrow from Google’s MDL palette. They’ve done a great job of selecting bright colors that stand out against a variety of backgrounds, yet rarely clash among themselves.
  • Make sure the colors work well together. Speaking of clashes, test every combination of your preferred colors to keep them from looking awkward when adjacent to each other.
  • Use one color per icon. The contemporary “flat” look works best without shading, shadows, gradients, or other details that detract from their silhouettes.
  • Use values. If you must use multiple colors, try to use different shades of the same hues.
  • Consider meaning. Should colors imply function? It’s up to you, but remember that many people associate color with actions, like red for “delete,” green for “create,” and faded (usually less opaque) for “disabled.”
Color schemes for icons

How much color is too much? How much is too little? Determine your color palette based on one factor: attention. If your icons need to grab people’s eyes, then make ’em bright. Otherwise aim for consistency.

Remember that symbols have preconceived meanings

People often associate certain “universal” icons with certain functions. The trash can, for example, means “delete.” Hamburger icons, though, aren’t universally understood … yet.

Using microcopy with icons is a good idea. Rely on shapes for quick identification, and text for folks who don’t get it.

Designing a system

Icons must do a lot with a little. In spite of running small, people expect to “get it” at first glance. That’s why silhouettes, consistency, color, and meaning all work together for a great, on-brand icon set.

The post Design a System of Icons With These Techniques appeared first on Studio by UXPin.

]]>
What Are Design Tokens? https://www.uxpin.com/studio/blog/what-are-design-tokens/ Mon, 15 Jul 2024 13:45:41 +0000 https://www.uxpin.com/studio/?p=36356 The design system revolution of the last decade has brought with it all sorts of tools and strategies to enhance product development workflows. Design tokens are one of those tools many design systems, including Google’s Material Design 3 and MUI, have adopted to make UI elements easier to implement, manage, and update. Announcement: UXPin’s design

The post What Are Design Tokens? appeared first on Studio by UXPin.

]]>
design tokens - what are they?

The design system revolution of the last decade has brought with it all sorts of tools and strategies to enhance product development workflows.

Design tokens are one of those tools many design systems, including Google’s Material Design 3 and MUI, have adopted to make UI elements easier to implement, manage, and update.

Announcement: UXPin’s design tokens for colors are in beta! Sign up to get notified when they will be officially released: Design tokens in UXPin.

Optimize your design operations across the entire organizations. Use UXPin Merge, a revolutionary design technology for helping teams use React components in design and development. Learn more about Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Design Token?

Design tokens contain UI data like colors, fonts, spacing, animations, assets, etc. for styling and building cross-platform user interfaces. Instead of hard-coding static values for every operating system, a design token contains multiple formats, allowing front-end developers to use the same variable, whether they’re building an iOS or Android, and even web application.

One of the challenges with cross-platform product development is that operating systems use different style properties and formats. For example, UXPin’s website uses yellow for CTAs. The hex code for this yellow is #FCC821, which you can represent in several ways:

  • RGB (CSS): rgb(252, 200, 33)
  • RGBA: rgba(252, 200, 33, 1)
  • Octal (Android/Flutter): 77144041

Instead of using these static properties, designers and engineers reference a token like “uxpin.cta.primary,” representing all four color codes. The color will always be the same regardless of the platform or programming language.

Types of Design Tokens

Organizations use these design tokens for many style properties, including color palette, size, spacing, assets, and drop shadows, to name a few. When we’re at it – here are the primary types of design tokens:

  1. Color Tokens: Define the color palette used in a design system. Examples include primary colors, secondary colors, background colors, text colors, border colors, etc.
    • Examples:
      • color-primary: #007bff
      • color-background: #f8f9fa
  2. Typography Tokens: Specify text-related properties. These include font families, font sizes, line heights, letter spacing, and font weights.
    • Examples:
      • font-family-body: 'Roboto', sans-serif
      • font-size-heading: 24px
  3. Spacing Tokens: Govern the spacing system, including margins, paddings, and gaps. They ensure consistent spacing throughout the design.
    • Examples:
      • spacing-small: 4px
      • spacing-large: 16px
  4. Sizing Tokens: Define sizes for components and elements. These can include widths, heights, and maximum and minimum sizes.
    • Examples:
      • size-button-height: 48px
      • size-avatar-small: 32px
  5. Border Tokens: Specify border properties, such as width, style, and radius.
    • Examples:
      • border-width-thin: 1px
      • border-radius-medium: 8px
  6. Shadow Tokens: Describe the shadow effects used in the design system, including color, offset, blur, and spread.
    • Examples:
      • shadow-small: 0 1px 2px rgba(0, 0, 0, 0.1)
      • shadow-large: 0 4px 8px rgba(0, 0, 0, 0.2)
  7. Opacity Tokens: Define the opacity levels for elements.
    • Examples:
      • opacity-low: 0.3
      • opacity-high: 0.9
  8. Breakpoints Tokens: Specify the breakpoints for responsive design, dictating how the design adapts to different screen sizes.
    • Examples:
      • breakpoint-mobile: 480px
      • breakpoint-desktop: 1024px
  9. Duration Tokens: Govern the timing of animations and transitions.
    • Examples:
      • duration-short: 200ms
      • duration-long: 600ms
  10. Easing Tokens: Define the easing functions for animations and transitions.
    • Examples:
      • easing-in-out: cubic-bezier(0.4, 0, 0.2, 1)
      • easing-bounce: cubic-bezier(0.68, -0.55, 0.27, 1.55)

Where did Design Tokens Come from?

It is said that design tokens were pioneered by Salesforce. In a 2014 article published in Salesforce Designer, Salesforce UX VP Sönke Rohde described how the company uses design tokens to apply the same design principles across multiple platforms and software.

screens prototyping

“At Salesforce, we face this very challenge, and we came up with an agnostic solution: we define our design in a single location and use a system to cascade it down to all platforms. We call it our Single Source of Truth. It’s basically a set of JSON files which contain name-value pairs describing our design tokens.” excerpt from Living Design System by Sönke Rohde.

Instead of using static style properties, engineers reference the design token, which pulls the correct value, depending on the platform, from a JSON file. To automate this process, Salesforce developed Theo“an abstraction for transforming and formatting design tokens.”

What is the Difference between Atomic Design and Tokens?

Atomic design and design tokens are both concepts used in design systems, but they address different aspects of design consistency and scalability.

Atomic design is a methodology for creating design systems developed by Brad Frost. It breaks down user interfaces into smaller, reusable components called atoms, molecules, organisms, templates, and pages (in ascending order of complexity). Atoms are the basic building blocks like buttons, input fields, icons, etc. Molecules are combinations of atoms, organisms are combinations of molecules, and so on.

Design tokens are a set of variables that define design properties such as colors, typography, spacing, etc., in a design system. They are abstract representations of visual design decisions. Rather than hardcoding specific values (like a hex code for a color) directly into UI components, design tokens provide a centralized way to manage and update design properties across an entire design system.

Design tokens deal with the abstraction and management of design properties. They abstract design decisions into variables, allowing for easier maintenance, scalability, and consistency. They provide a single source of truth for design-related values.

3 Design Tokens Examples

Here are three examples of design tokens for typography. These tokens help ensure that typography styles are consistent across different components and platforms.

Design Token Example #1: Font Family

{
  "font-family": {
    "base": "Roboto, Arial, sans-serif",
    "heading": "Montserrat, Arial, sans-serif",
    "monospace": "'Courier New', Courier, monospace"
  }
}

Design Token Example #2: Font Size

{
  "font-size": {
    "base": "16px",
    "small": "14px",
    "large": "24px",
    "heading": {
      "h1": "32px",
      "h2": "28px",
      "h3": "24px"
    }
  }
}

Design Token Example #3: Line Hight

{
  "line-height": {
    "base": "1.5",
    "tight": "1.25",
    "loose": "1.75",
    "heading": {
      "h1": "1.2",
      "h2": "1.3",
      "h3": "1.4"
    }
  }
}

Are Design Tokens Right for You?

Google’s Material Design 3 documentation offers a list of scenarios where design tokens are most helpful:

  • You use a design system for more than one platform or product
  • You want an easy way to maintain and update your product’s styles
  • You plan to update your product design or build new products and features

Material Design also lists two instances where design tokens might be “less helpful:”

  • You don’t plan to change your product in the next few years
  • Your product does not have a design system

Benefits of Using Design Tokens

We’ve identified three key benefits to using design tokens.

1. Having a Single Source of Truth

Design tokens are most beneficial for creating a single source of truth–which is what drove Salesforce to start using them. Everyone must speak the same design language when multiple product teams, engineers, and UX designers work on the same product.

Design tokens allow teams to speak the same language, no matter their role, platform, programming language, or responsibilities.

2. Maintaining UI Consistency

UI consistency is a significant challenge when designing at scale. It’s not uncommon for designers to accidentally use slightly different sizing, brand colors, and spacing for a single product! These inconsistencies cause usability issues, increasing engineering and UX debt with every release.

code design developer

Design tokens eliminate these inconsistencies so that every designer uses the same styles and properties–another single source of truth benefit!

3. Getting Flexibility to Scale

Design tokens give products and design systems flexibility to make changes and scale. If teams need to add platform-specific properties, they simply update the design token.

For example, Android uses octal color codes instead of HEX or RGB. To adapt a design system to accommodate Android, the DS team can add octal codes to each design token to maintain a single source of truth.

scaling process up 1

These tokens allow engineers to deliver new projects significantly faster with fewer errors or inconsistencies.

This flexibility is also helpful when making changes. For example, if a product changes its typeface from Montserrat to Roboto, the team only has to update the typography token to implement a product-wide change.

How to define a design token structure

While there are no rules for defining your design token structure, this example from Amazon’s Style Dictionary makes the most sense. Many organizations use a similar format for their design tokens.

Amazon’s Style Dictionary uses a hierarchical design token structure:

  1. Category (color, time, line-height, size, asset, content, etc.)
  2. Type
  3. Item
  4. Sub-Item
  5. State

If we wanted to create a design token for a primary active button using this structure, it might look like color_background_button_primary_active or perhaps shortened color-bg-btn-primary-active. This token will contain every type of color code necessary for cross-platform implementation.

The key to a design token structure is consistency. It must use a predictable naming convention so users can easily find tokens and scale the system.

Architecting Tokens with Options and Decisions

UX expert and founder of eightshapes, Nathan Curtis, wrote an excellent article on architecting tokens. Nathan says the first step is to segment your design tokens into Options (or choices) and Decisions.

  • Options: Creates the base token values. Tokens define what Style Dictionary describes above as categories–color, time, asset, content, etc.
  • Decisions: Decisions use your Options to create properties for components. For example, interactive color, background color, text color, etc.

The benefit of this system is that if you want to change your white to a different shade, replacing the HEX code under the color Option will automatically sync to every design token and associated UI element. 

Nathan’s methodology also makes it easy to scale because you simply use your Options to create more Decisions. You can read Nathan’s full article for detailed instructions on architecting tokens.

How Design Tokens Work in Practice

In an informative article, Design Tokens for Dummies, Louis Chenais outlines a typical design change workflow with vs. without design tokens.

idea 1

The Traditional Workflow–Without Design Tokens

  1. Designer updates a style in a design tool
  2. Designer documents the changes for the design handoff
  3. Engineer updates the component’s properties (CSS, LESS, SASS, etc.)
  4. The design team confirms the changes during quality assurance (QA)

There are several problems with this workflow:

  • It creates more work and attention to detail during the design handoff.
  • It’s prone to errors and miscommunication.
  • Creates more tickets, thus increasing technical debt.
  • It costs unnecessary time and money making the changes and fixing any corresponding errors.

The Design Token Way

  1. Designer updates a syle in a design tool.
  2. A design tokens generator updates a centralized repository creating platform-specific files (JSON/YAML).
  3. Engineers pull the new repo, add any new tokens, and automatically update the project’s styles.

Using design tokens reduces documentation for design handoffs and saves programming time for engineers. This automated system significantly reduces human error, streamlining the development and QA process.

A Single Source of Truth With UXPin Merge

As digital products get more complex, designers and engineers must find solutions to integrate workflows–a problem UXPin has solved with our revolutionary Merge technology.

Merge allows you to import a component library from a repository to UXPin’s design editor so designers can use the same UI elements engineers use to develop the final product.

process direction 1

Merge components have the same fidelity and functionality as those in the repository. The design system team can use React props (or Args for our Storybook integration) to restrict changes or provide designers with the flexibility to make design decisions.

Whenever engineers make changes to the repository, they automatically sync to UXPin, notifying designers of the update. Merge comes with version control, allowing designers to switch to an earlier version–helpful for updating older projects.

Take your product development to new heights and create a single source of truth with UXPin Merge. Visit our Merge page for more information and details to request access.

The post What Are Design Tokens? appeared first on Studio by UXPin.

]]>
11 Best Material UI Alternatives https://www.uxpin.com/studio/blog/material-ui-alternatives/ Wed, 29 May 2024 14:24:50 +0000 https://www.uxpin.com/studio/?p=48563 Material UI, developed and maintained by MUI, is a popular React component library that implements Google’s Material Design guidelines. It offers a comprehensive set of reusable and customizable components, such as buttons, cards, menus, form elements, predefined styles, and themes. The library promotes a modular and structured approach to building user interfaces, enabling developers to

The post 11 Best Material UI Alternatives appeared first on Studio by UXPin.

]]>
Material ui Alternatives min

Material UI, developed and maintained by MUI, is a popular React component library that implements Google’s Material Design guidelines. It offers a comprehensive set of reusable and customizable components, such as buttons, cards, menus, form elements, predefined styles, and themes.

The library promotes a modular and structured approach to building user interfaces, enabling developers to create visually consistent and responsive designs. With Material UI, developers can streamline their front-end development process and deliver intuitive and visually appealing web apps.

Use Material UI’s React components for prototyping and testing your design without the need of translating pixels into code. Discover how smooth prototyping can be. Try UXPin Merge for free.

Ant Design

ant design

Best for: web applications, cross-platform applications, native apps

The Ant Design library is a comprehensive UI component library developed by Ant Design that offers a wide range of reusable and well-documented components for building high-quality applications. It follows the principles of the Ant Design system, emphasizing a clean and minimalist design aesthetic with a focus on usability and accessibility.

The library also provides powerful features like internationalization support, theming capabilities, and responsive design, making it a popular choice among developers for creating professional and user-friendly interfaces.

Developers can quickly create consistent and visually appealing interfaces by leveraging its extensive collection of components, including forms, tables, navigation menus, and more. 

The Ant Design system also offers libraries for mobile and charts, giving product teams a comprehensive set of components and patterns for a wide variety of cross-platform applications.

React-Bootstrap

react bootstrap

Best for: web applications

React-Bootstrap is a widely used React UI library for building responsive web applications with React. It combines the power of React’s component-based architecture with Bootstrap’s flexibility and styling capabilities, offering a comprehensive set of pre-designed and customizable components.

React-Bootstrap provides a range of UI elements such as buttons, forms, modals, navigation menus, and more, allowing developers to rapidly create visually appealing and functional interfaces.

React-Bootstrap’s detailed docs and active community support simplify web development by providing reusable and well-tested components, enabling developers to focus on building robust and user-friendly applications.

Fluent UI

fluent ui

Best for: web applications, iOS & Android applications, native apps, cross-platform applications

Fluent UI is a robust and comprehensive design system developed by Microsoft that provides reusable components and styling options for building cross-platform and mobile apps. The library follows the principles of Fluent Design, focusing on clarity, content prioritization, and smooth animations. 

It offers a consistent and cohesive experience across different platforms and devices, making it suitable for many cross-platform and mobile projects.

With its extensive documentation and active community, Fluent UI empowers teams to build intuitive and accessible user interfaces that align with Microsoft’s design language. From buttons and forms to complex data grids and charts, Fluent UI provides the necessary tools to deliver delightful and user-centered experiences.

Read about the differences between Material UI and Fluent UI.

Carbon Design System

carbon design mui alternative

Best for: web applications, iOS & Android applications, native apps, cross-platform applications

Built on the principles of IBM’s design philosophy, Carbon focuses on simplicity, clarity, and purposeful interactions. It provides a range of components, from buttons and forms to data visualizations and icons, enabling designers and developers to create intuitive and visually appealing interfaces.

With its modular and flexible architecture, the Carbon Design System promotes reusability and scalability, making it suitable for large-scale enterprise applications and smaller projects. The system’s documentation and resources empower teams to maintain design consistency and streamline collaboration.

Tailwind CSS

tailwind

Best for: web applications

The Tailwind CSS library enables developers to rapidly build custom user interfaces using a utility-first CSS framework. It provides a comprehensive set of pre-defined utility classes, eliminating the need for writing custom CSS styles.

The library supports React, Vue, and HTML. Developers can easily apply these utility classes to HTML elements, giving them granular control over the appearance and behavior of their UI components

Tailwind CSS promotes a modular approach to styling, where devs can combine classes to create unique and responsive designs. It offers utilities for layout, typography, colors, spacing, and more, allowing developers to create consistent and visually appealing interfaces with minimal effort.

Semantic UI

semantic

Best for: web applications

Semantic UI is a versatile front-end framework that offers a wide range of semantic and intuitive components for creating user interfaces. It provides a comprehensive collection of pre-designed UI elements for web applications, including buttons, forms, menus, cards, and modals.

The framework follows a natural language naming convention, making it user-friendly and easy to understand. Developers can leverage Semantic UI’s extensive set of CSS classes to build visually appealing and responsive designs quickly. The library supports React, Meteor, Ember, and Angular front-end frameworks.

Semantic UI supports theming and customization, allowing developers to customize the appearance of their UI components to align with their project’s branding. With its intuitive syntax and detailed documentation, Semantic UI is a valuable tool for designing and developing modern web interfaces.

Foundation

foundation

Best for: web applications, email templates, landing pages

Foundation is a responsive front-end framework with CSS and JavaScript components for building modern, mobile-friendly websites. It offers a comprehensive toolkit with a modular approach, allowing developers to customize and tailor their designs to meet specific project requirements.

Devs can easily create responsive grids, navigation menus, forms, buttons, and other UI elements that adapt seamlessly across different screen sizes. The framework also includes a powerful JavaScript library that enables interactive features and smooth animations.

With its extensive documentation and active community support, Foundation empowers developers to create visually appealing and highly functional web interfaces.

Chakra UI

chakra ui

Best for: web applications

Chakra UI is a modern and accessible React component library for streamlining user interface development. The library supports several frameworks, including React, Next.js, Meteor, and Gatsby, to name a few.

The project was founded by Segun Adebayo of Nigeria, making it one of the most prominent open-source component libraries to come out of Africa.

Chakra UI provides pre-designed components and utility functions, allowing developers to create visually appealing and responsive websites. Developers can leverage Chakra UI’s customizable and reusable components, such as buttons, forms, cards, and navigation elements, to design intuitive and accessible user interfaces.

The library also focuses on accessibility by adhering to WCAG standards, ensuring that the created interfaces are usable by individuals with disabilities. Chakra UI’s simplicity, flexibility, and robust documentation make it a popular choice among developers looking to build efficient and visually stunning React applications.

Bulma

bulma mui alternative

Best for: web applications, landing pages

Bulma is a lightweight and modern CSS framework based on Flexbox, providing a flexible and responsive grid system and a set of ready-to-use UI components. The framework’s intuitive class naming convention supports quick and efficient styling, while its modular architecture ensures scalability and customization.

Bulma’s simplicity, extensive documentation, and community support make it a popular choice for projects of all sizes. Whether you’re building a landing page, a dashboard, or an eCommerce site, Bulma provides a solid foundation for building aesthetically pleasing and functional interfaces.

Styled Components

styled components is material ui alternative

Best for: web applications, landing pages

Styled Components is a popular JavaScript library that allows developers to write CSS directly in their JavaScript code using tagged template literals. It provides a way to encapsulate styles within components, making them more maintainable and reusable. 

Styled Components is widely used in the React ecosystem and offers seamless integration with popular UI frameworks and libraries. Developers can create dynamic and responsive styles by leveraging the power of JavaScript, including the ability to access component props and states. The library offers many features, including support for CSS-in-JS, automatic vendor prefixing, and theme management.

PrimeReact

primereact

Best for: web applications, landing pages

PrimeReact is a comprehensive UI component library for React applications, offering ready-to-use components and advanced features. It provides a wide range of UI elements, including buttons, inputs, tables, modals, and charts, for various digital products.

PrimeReact follows a responsive design approach, ensuring components adapt well to different screen sizes and devices. The library also offers powerful features, such as data binding, filtering, sorting, and pagination, making it suitable for building data-intensive applications. 

By leveraging PrimeReact’s pre-built components and features, developers can save time and effort, resulting in faster development cycles and improved user experiences. The library is regularly updated, ensuring compatibility with the latest React versions and providing ongoing support and bug fixes.

High-Quality Prototypes with UXPin’s Code-to-Design Methodology

UXPin’s Merge technology enables product teams to import these and other open-source design systems into UXPin’s design editor so designers can prototype and test using code components.

Use the same components in the design process as you would use to develop the final product. Build immersive prototype experiences for user testing and stakeholders, providing meaningful feedback to iterate and improve concepts. Share a single source of truth across the product development environment, from early-stage design to development and the final product. Try UXPin Merge for free.

The post 11 Best Material UI Alternatives appeared first on Studio by UXPin.

]]>
These Storybook Examples Will Inspire Your Component Library https://www.uxpin.com/studio/blog/storybook-examples/ Wed, 29 May 2024 13:21:44 +0000 https://www.uxpin.com/studio/?p=31296 Now that UXPin has a Storybook integration that breaks down design-dev inconsistencies and makes it easier than ever to manage your UI components library, you might want to take some time to look at Storybook examples. Plenty of world-renowned websites use Storybook. Look at some of the best Storybook examples that you can use as

The post These Storybook Examples Will Inspire Your Component Library appeared first on Studio by UXPin.

]]>
Browse these Storybook examples min

Now that UXPin has a Storybook integration that breaks down design-dev inconsistencies and makes it easier than ever to manage your UI components library, you might want to take some time to look at Storybook examples.

Plenty of world-renowned websites use Storybook. Look at some of the best Storybook examples that you can use as inspiration for developing your digital products.

Take UI components directly from Storybook and import them to UXPin. Design interactive and visually stunning layouts without extensive design skills. Discover UXPin Merge.

Design UI with code-backed components.

Use the same components in design as in development. Keep UI consistency at scale.

What is Storybook?

Storybook is an open-source tool for developing UI components in isolation for React, Vue, Angular, and other frameworks. It allows developers to build, test, and document components in a standalone environment outside of the main application, promoting better modularity and reusability.

It enhances the efficiency of UI development by providing a focused environment for creating, testing, and documenting UI components, making it easier for developers to build consistent and robust user interfaces.

BBC iPlayer Web

BBC Storybook example

BBC iPlayer Web switched to Storybook when it needed more custom components. Preview their Storybook here: BBC iPlayer Storybook.

A growing number of movie and television show producers now have streaming platforms that let people watch specific content when they like. BBC iPlayer Web makes it incredibly easy for viewers to find specific types of content by title, category, or topic.

When the streaming service started, it built its back end with Node.js. It didn’t take long, though, before the development team decided to make the migration to React. React components were an obvious improvement as the platform grew.

Around 2019, though, the team realized that its approach didn’t work as well as expected. The UX professionals and developers didn’t have a common language that helped them work toward goals. They also found it difficult to locate the components they needed to add content and update the website’s appearance.

Ultimately, the BBC iPlayer Web team realized that they were spending way too much time maintaining their component library.

Storybook became a significant tool that helped them address these problems.

BBC iPlayer Web has a public design system, so you can look at it to learn a few tricks and find inspiration when you feel stuck on a project.

The design system includes everything from iconography to navigation.

Spend some time browsing BBC iPlayer’s Storybook example. Then, visit the website. You will immediately see how the designers and developers combined components to create a tool that works exceptionally well for viewers.

bbc storybook example 2 min

Related reading: Top 9 Design System Examples

The Guardian

guardian storybook

The Guardian publishes a tremendous number of articles daily. It’s often one of the first news outlets to report on breaking news. It also has frequent articles about sports, culture, and lifestyle topics. Considering that The Guardian covers events all over the world, it needs a fast, reliable way to turn written text into published web pages.

guardian storybook examples min

The Guardian Storybook components library (access the Guardian Storybook here) streamlines the design and publication process. Building the design system, however, must have taken quite a bit of time because it includes every component that the well-designed website could possibly need. It even features slightly different versions of designs. For example, the CaptionBlockComponent Story includes:

  • with defaults
  • PhotoEssay using html
  • when padded
  • with width limited
  • with credit
  • when overlayed

No matter what type of caption block the designers want to include, they just have to search the component library, choose the correct option, and add text for the specific story.

The design team even created multiple donut graphs to fit unique circumstances.

guardian storybook donut graphs min

Of course, The Guardian also maintains designs that help readers identify what type of content they’re reading.

A Review headline doesn’t look the same as a Photo Essay headline.

accessibile headlines with storybook min

Again, it took a lot of effort to build this Storybook design system. Now that The Guardian editors and publishers have it, though, they can quickly publish coherent content that keeps readers informed without misdirecting them.

Here’s a great video about The Guardian’s Storybook component library.

IBM‘s Carbon Design System in Storybook

ibm storybook example of component library

Carbon, the design system used by IBM, primarily gets used to build digital products with specific functions, such as adding files to a project, submitting reports, and tracking an activity’s progress. IBM uses Carbon for internal and external products, so you might recognize some of the components in the Storybook UI design system.

This Storybook example contains countless components. You’ll find everything from tabs to pagination. The company just wants to make sure that it has functional tools that share an aesthetic.

The components in Carbon’s design system also tend to have extensive Stories that let coders make subtle changes when necessary.

Even the Basic Checkbox component has 184 lines of JavaScript code in its Story.

carbon checkbox examples of storybook min
example of storybook story min

A significant advantage of using Storybook is that designers and developers can see how components respond to interactions.

Three interactions with the select button:

interactions storybook min

The designer or developer can see all of these interactions result from within the same environment. They don’t need to export it to a prototyping app or add it to a designing app. The interactions happen right there to save time and meet expectations.

Salesforce Lightning Design System for React

Storybook example

You can also find a Storybook with components of one of the best design systems – Salesforce Lightning. This design system is based in React, a JavaScript library, which is commonly used for building user interfaces. React is a popular front-end library developed by Facebook that allows developers to create interactive and dynamic UI components.

When we talk about React in the context of design systems, it usually means using React to implement the components and design guidelines provided by the design system.

By leveraging the Salesforce Design System, developers and designers can create applications that not only look great but also provide a consistent and intuitive user experience, ultimately leading to increased user satisfaction and productivity. Additionally, adherence to the design system ensures compatibility and seamless integration with other Salesforce products and services.

Salesforce Lightning Design System was created to be framework agnostic, yet it is still compatible with other front-end frameworks, and developers have the flexibility to choose the technology stack that best suits their needs and preferences.

This Storybook example is based on React and it has UI components such as a data table, checkbox, button, card, carousel, and more.

Audi UI React

Audi Storybook Example

Another React-based Storybook is a design system by Audi. Crafted with precision, the Audi Design System serves as the ultimate beacon of truth for our global teams dedicated to crafting Audi’s finest offerings.

Audi Storybook components example

From insightful Getting Started guides to indispensable Core Components, this Storybook example empowers every team member, ensuring a unified approach across all Audi products worldwide. The Audi Design System embodies the essence of precision, innovation, and seamless collaboration that the design team at Audi chose as its defining qualities.

It sets the standard for design systems in the automotive industry and beyond. Check out its Storybook to see for yourself. It has navigational, input, text, and many other useful components.

Try UXPin Merge and Storybook integration for fast prototyping

Use Storybook components to build interactive prototypes 8.6x faster than with vector-based tools like Figma. Import them to UXPin via our integration with Storybook and build products quickly. UXPin Merge’s Storybook integration lets you import your components within one minute. It doesn’t even require any technical knowledge, especially when you maintain a public Storybook design system. Discover UXPin Merge.

The post These Storybook Examples Will Inspire Your Component Library appeared first on Studio by UXPin.

]]>
Join our Free Webinar: “Removing Friction from Design System Workflows” https://www.uxpin.com/studio/blog/design-system-friction-webinar/ Tue, 14 May 2024 15:13:16 +0000 https://www.uxpin.com/studio/?p=53003 Collaboration doesn’t end at the design handoff stage, right? Yet, seldomly is it discussed what happens next. We’re inviting you to a webinar that will show you how enterprise teams like Porsche, IBM, and Salesforce collaborate to boost their design system adoption and scale consistency. Spoiler alert! You can replicate those strategies to amplify collaboration

The post Join our Free Webinar: “Removing Friction from Design System Workflows” appeared first on Studio by UXPin.

]]>
1200x600 blogpost webinar 3

Collaboration doesn’t end at the design handoff stage, right? Yet, seldomly is it discussed what happens next. We’re inviting you to a webinar that will show you how enterprise teams like Porsche, IBM, and Salesforce collaborate to boost their design system adoption and scale consistency.

Spoiler alert! You can replicate those strategies to amplify collaboration at your organization. Join us on Wednesday, May 29th, for a free webinar: “Removing Friction from Design System Workflows.”

👉 Save your free spot here.

What will we cover during the webinar?

Wanna ship products faster? Then, you need to master processes and tools that will get you there. This webinar will give you first-hand experience on what you can do to keep the speed of action in a multi-disciplinary team of engineers, designers, and stakeholders.

You’ll learn:

  • How to empower developers and designers to communicate using live examples
  • How to increase the adoption of your design system with interactive documentation
  • How to streamline efficient bug reporting and updating the design system library

👉 Save your spot here.

About the expert

We invited Tomek Sułkowski to host this webinar. He’s a DevRel and a founding engineer of StackBlitz – an in-browser dev environment for building web apps. He helps teams optimize the browser development environment by utilizing a variety of built-in, open-source, and commercial tools.

During the webinar, he will explain how to enhance collaboration between designers and developers, as well as, stay in control of design system adoption with dev environments, version control systems, and design tools.

Sign up to discover the secrets of real-time collaboration and boost quality of output.

👉 Save your spot here.

The post Join our Free Webinar: “Removing Friction from Design System Workflows” appeared first on Studio by UXPin.

]]>
React Design System – Where to Start? https://www.uxpin.com/studio/blog/react-design-system/ Fri, 15 Mar 2024 11:42:32 +0000 https://www.uxpin.com/studio/?p=44291 Building a React design system from scratch requires careful planning and consideration. Input from multiple departments and stakeholders is crucial for creating a component library that serves the organization and its end users. This article is an introduction to React design systems and how to approach component development, documentation, governance, design tools, and more. We

The post React Design System – Where to Start? appeared first on Studio by UXPin.

]]>
React design system

Building a React design system from scratch requires careful planning and consideration. Input from multiple departments and stakeholders is crucial for creating a component library that serves the organization and its end users.

This article is an introduction to React design systems and how to approach component development, documentation, governance, design tools, and more. We also have a step-by-step guide to building a design system which covers 12 essential topics.

Bring UI components to UXPin and create well-designed prototypes based on your React design system. Speed up your development by building apps 10x faster. Discover UXPin Merge.

Design UI with code-backed components.

Use the same components in design as in development. Keep UI consistency at scale.

What is a React Design System?

A React Design System is a collection of reusable UI components and guidelines built specifically for use with React, a popular JavaScript library for building user interfaces. It encompasses a set of pre-designed, customizable components such as buttons, forms, navigation bars, cards, and more, along with guidelines for their usage and implementation within React applications.

The main purpose of a React Design System is to promote consistency, efficiency, and scalability in UI development by providing a unified set of components and design patterns that can be easily reused across projects. By leveraging a React Design System, developers can streamline the development process, reduce code duplication, and ensure a cohesive and polished look and feel across their applications.

Key components of a React Design System typically include:

  1. Reusable Components: A library of React components that encapsulate common UI patterns and functionalities, such as input fields, dropdown menus, modals, and tabs.
  2. Design Guidelines: Clear documentation and guidelines on how to use each component, including information on props, styling options, accessibility considerations, and best practices for integration within React applications.
  3. Theming and Customization: Support for theming and customization, allowing developers to easily adapt the design system to match their brand identity and design requirements.
  4. Responsive Design: Components designed to be responsive and adaptable to different screen sizes and devices, ensuring a consistent user experience across desktop, tablet, and mobile platforms.
  5. Accessibility: Considerations for accessibility, with components designed to meet accessibility standards and guidelines, ensuring that applications built with the design system are usable by all users, including those with disabilities.

Overall, a React Design System provides a solid foundation for building React applications, enabling developers to create consistent, high-quality user interfaces with minimal effort. It promotes collaboration, efficiency, and maintainability, making it an invaluable tool for teams working on React-based projects.

The Benefits of a React Design System

There are many benefits to using or building a React design system. React’s component-driven development approach makes it the perfect modular-style UI library for design systems. Front-end developers can strip React components down to atoms and combine these to create new UI elements, patterns, and templates.

React is one of the most widely used UI libraries, which offers many benefits for building design systems:

  • A big community of developers to ask questions and solve problems
  • An abundance of Javascript tools and integrations
  • Many well-established design systems for inspiration

Which companies use React design systems?

Here is a short list of companies using React for their design systems:

We recommend checking out these design systems to learn about component syntax, documentation, guidelines, and other design system factors.

Check out Adele for more design system inspiration. It’s a repository of publicly available design systems and pattern libraries with links to GitHub repos to download and analyze.

React Design System Fundamentals

design system components

Understanding Atomic Design Principles

Atomic Design is a system created by Brad Frost where he organizes UI elements into five categories:

  • Atoms: foundational UI elements you cannot break down further–e.g., HTML tags, fonts, buttons, animations, and color palettes.
  • Molecules: groups of atoms create components that serve a specific function or purpose. e.g., search input, nav links, dropdown menu, etc.
  • Organisms: Complex UI patterns that combine to create user interfaces. e.g., a header nav bar, footer, image carousel, etc.
  • Templates: represent a complete user interface with multiple organisms working together. e.g., a dashboard, news feed, chat UI, etc.
  • Pages: represent the different instances of the template and how content changes within the screen–for example, refreshing content in a newsfeed or receiving a message through chat.

Why is Atomic Design important for React design systems? 

The Atomic Design methodology enables you to leverage React’s modularity and reusability benefits. By approaching a design system as a sum of many atoms (or Lego pieces), it’s easier to develop a flexible, scalable UI library that can adapt and evolve with your product.

The design system team can build new components and patterns much quicker by combining atoms and molecules. This modular approach also makes building one-off solutions easier and more cost-effective because it’s a matter of combining what you have rather than developing from scratch.

The role of components in a React design system

React components are the building blocks that help ensure consistency, reusability, and maintainability across user interfaces and apps. These UI elements serve many vital purposes, including:

  • Modularity: React components are modular by design, making it easy to combine, reuse, and manage the UI library.
  • Consistency: React’s effortless reusability enables developers to build design principles, styles, and interactions into each component and recall it anywhere in the application.
  • Reusability: Developers can leverage a UI library of reusable components to save time and resources when developing new products. This reusability also reduces errors and technical debt because devs don’t have to write code from scratch.
  • Customizability: developers can easily customize specific components while still adhering to design guidelines or affecting the UI library, allowing for flexibility when necessary.
  • Maintainability: With components stored in a centralized repository, developers can push updates and bug fixes from one place, making it easy to maintain and improve the design system and its products.
  • Scalability: Engineers can extend and adapt React components to evolve with products and new technology.
  • Accessibility: Developers can incorporate foundational accessibility standards at the component level, making it easier to implement product-wide.

The importance of using design tokens

Design tokens incorporate the core values of a React design system. These tokens contain properties such as colors, typography, spacing, sizing, states, interactivity, and more to maintain a consistent design language across multiple platforms, devices, and operating systems.

A design token can contain many values for multiple platforms. For example, UXPin’s homepage uses yellow for CTAs. The hex code for this yellow is #FCC821, which you can represent in several ways:

  • HEX: #FCC821
  • RGB (CSS): rgb(252, 200, 33)
  • RGBA: rgba(252, 200, 33, 1)
  • Octal (Android/Flutter): 77144041

We can encapsulate all four values under one design token:

  • cta-background-primary

So, if you’re implementing this color in any platform, you use the token instead of the code. Design tokens also make cross-functional collaboration easier because everyone uses the same language rather than one team referencing the HEX, another the RGB, and another the octal–which can get confusing and lead to errors.

Design tokens also allow the design system team to implement product-wide modifications simply by changing the properties in the token file. For example, the team can change the cta-background-primary design token from yellow to blue across the product ecosystem by adjusting the four codes in one place rather than updating every instance or stylesheet individually.

Getting Started with a React Design System

design system atomic library components

On the surface, a design system appears simple. But, in reality, these UI libraries are complex organisms with many moving parts. Here are some things to consider when planning your React design system.

These factors will lay the foundation for your design system’s governance protocols and procedures. For this reason, it’s essential to document every stage of this early decision-making process.

Mono-repo vs. poly-repo repositories

Decide whether to use a single repository (mono-repo) or multiple repositories (poly-repo) for your design system’s React component library.

Mono-repos simplify dependency management and make it easier to work on multiple packages simultaneously. Poly-repos offer more modularity and isolation between packages, making it easier to maintain and use individual components independently.

Accenture shares the pros and cons of using mono vs. poly-repos.

Component organization

Organize your component library in a way that makes the most sense to your product and team. For example, you can group components by functionality, domain, or Atomic Design–MUI organizes its UI library by functionality:

  • Inputs: Button, Switch, Text Field, etc.
  • Navigation: Drawer, Menu, Pagination, etc.
  • Layouts: Box, Container, Grid, etc.
  • Data Display: Avatar, Icons, List, etc.

No matter how you categorize these components, each must have its own source code, styles, tests, and documentation.

Design token management

Centralize design token management in a dedicated folder or package controlled by the design system team. This centralized management helps facilitate better maintenance and governance while simplifying changes and updates.

Theming and customization

Design system theming and customization are vital for modern product development, typically requiring at least two themes, light and dark modes. Multi-brand design systems require greater customization and flexibility, so you must consider these factors before developing.

Check out “Theming and Theme Switching with React and styled-components” from CSS Tricks for details on how to set up themes for React libraries.

Documentation

Design system documentation is vital for successful adoption and consistent implementation. The docs must include your design language, guidelines (content, design, code, accessibility, etc.), style guide, use cases, code examples, tools, and other critical information.

A tool like Storybook can help centralize your design system’s documentation management and updates. You can sync your Storybook to UXPin using Merge and create a single source of truth across design and development.

Testing

Plan a structure for managing and organizing your component tests–another reason to consider Storybook. Storybook offers built-in component testing automation with multiple bug-prevention tests, including visual, interaction, accessibility, snapshot, and more.

Versioning and release management

Establish your React library’s versioning strategy and release management process to ensure your design system remains updated and compatible with your products.

Design tools

Designers will need access to your React design system for prototyping and testing. A common strategy is to use vector-based tools, but this means updating and maintaining two formats of your React design system:

  • The component library in the repository
  • UI kits for design teams

With UXPin Merge, you can import your React library into UXPin’s design editor so designers and engineers use the exact same UI components. There are a couple of options for syncing code components. Learn more about them and discover UXPin Merge.

The post React Design System – Where to Start? appeared first on Studio by UXPin.

]]>
What Actually Constitutes Design Language? https://www.uxpin.com/studio/blog/design-language/ Fri, 15 Mar 2024 11:37:23 +0000 https://www.uxpin.com/studio/?p=22900 Visual communication is exceptionally complicated. It’s diverse, boundless, and relentless. A design language establishes principles and constraints that induce the clarity, consistency, and cohesion necessary for designers to communicate with end users. Developing this design language is a time-consuming undertaking requiring feedback and collaboration from multiple departments and stakeholders. The final result will allow an

The post What Actually Constitutes Design Language? appeared first on Studio by UXPin.

]]>
What Actually Constitutes Design Language

Visual communication is exceptionally complicated. It’s diverse, boundless, and relentless. A design language establishes principles and constraints that induce the clarity, consistency, and cohesion necessary for designers to communicate with end users.

Developing this design language is a time-consuming undertaking requiring feedback and collaboration from multiple departments and stakeholders.

The final result will allow an organization to create convergent and coherent experiences, significantly decrease spending, and set a high design standard that’s easy to follow.

Bake your design language into your component library with a single source of truth from UXPin Merge. Visit our Merge page for more details and how to request access to this revolutionary technology.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is design language?

Design language is the collection of visual and interactive elements designers use to communicate with users. It ensures that designers create cohesive and consistent user experiences across platforms, products, user interfaces, and features.

The design language typically relates to the company’s brand values and identity–allowing people to recognize a brand through its designs and content.

There are two perspectives of design language: internal and external.

  • Internal: ensures that every team follows the same rules and methodologies using a set of reference points and coordinates, making the design process efficient and free of confusion.
  • External: facilitates familiar, intuitive user experiences for customers across multiple platforms and products.

By blending these two perspectives, companies create more efficient design processes, craft a memorable brand identity, and enhance usability.

What goes into a design language?

A design language covers many facets of a product, such as

  • Colors
  • Fonts
  • Icons
  • Sounds
  • Spacing and layouts
  • Copy
  • Graphic design and illustrations
  • Data visualizations
  • States

What’s the difference between design language and design system?

A design language typically exists within a design system or style guide, providing product teams with guidelines, usage, and instructions. In a 2017 article, UXPin founder Marcin Treder made the argument that design systems are a language:

“A design system is a dynamic dictionary that describes the ever-changing current state of the language, prescribes the proper usage of it, and invites all the users of the language to extend it.” Marcin Treder.

If you aim to build a design system, defining your visual language first will help guide the development of your UI components and pattern library.

Why is having a design language important?

A design language is a set of rules and principles that guide an organization’s visual identity, ensuring designs have a sense of continuity.

design system abstract

A well-defined design language offers many benefits, including:

  • Ensuring design teams deliver consistent and coherent results, no matter who works on the project
  • Streamlines onboarding and handovers by providing new team members with instructions and guidelines
  • Creates brand consistency which helps develop a strong brand identity and trust
  • Makes digital products more intuitive by providing users with a familiar and consistent user experience
  • Provides a foundation for scalability because product teams make fewer design decisions, increasing efficiency and productivity

Design Language Examples

There are two organizations many designers use as models for developing their design language and building a design system:

  • IBM
  • Airbnb
color sample library

IBM Design Language

Part of IBM’s design philosophy is to create instantly recognizable designs. Users must be able to identify an IBM product by its design characteristics rather than the logo itself.

A distinguishable visual identity is vital for building brand recall and user fidelity. One of the ways IBM achieves that is by engineering its grid systems like the 2x Grid.

Precise use of the grid, along with consistent shapes, angles, and radii, help define a particular aesthetic that’s critical in expressing the “IBMness” of our illustrations and reveals a well-considered and systematic approach” – IBM.

Airbnb’s Visual Language

Airbnb’s Visual Language aims to achieve similar results but with the flexibility to scale. The company’s design language prioritizes speed and growth while preserving Airbnb’s strong brand identity.

“Here’s the simple truth: you can’t innovate on products without first innovating the way you build them.” – Alex Schleifer, VP of Design at Airbnb.

Airbnb’s language makes communication between designers and stakeholders much easier and standardizes practices across platforms and devices.

How to Create a Design Language

Developing a design language is arduous and time-consuming but well worth the effort. The earlier you start, the less work you’ll have, and the sooner your teams will start reaping the rewards.

designops efficiency arrow

Start with UI audit

It’s often best to complete a UI audit before developing your design language. An audit will allow you to identify issues, inconsistencies, or design decisions that don’t align with your principles or values.

Create a vocabulary

A vocabulary should contain and clearly define a product’s visual elements. The aim is to include a systematized pattern library and UI components accompanied by a style guide.

Your style guide must provide directions for each element’s purpose and how they promote consistency and clarity–for example:

“This [design element] from the [library] allows us to express [purpose].”

Keeping these directions (principles) succinct, easy to understand, and implement is crucial. For example, Shopify Polaris, used by thousands of designers worldwide, articulates its design principles in fewer than 100 words:

  • Fresh visual style: A clean, simple style makes things feel approachable and efficient.
  • Faster performance: Elegant code and lightweight assets means pages load more quickly.
  • Future-friendliness: Built for flexibility, design tokens and new infrastructure let us iterate easily across experiences.
  • Purposeful brand presence: Being intentional about when the Shopify brand comes forward, and when it takes a backseat, directs the focus to where it matters most.
  • Familiarity across experiences: Defined patterns and guidelines help us design a wide variety of experiences that still always feel like Shopify.”

Polaris uses this simplified approach across its documentation.

This simplification enables organizations to establish the meaningful constraints mentioned above while allowing designers to streamline decision-making. For example, here’s how Atlassian explains the logic behind their color palettes:

“Our primary palette is comprised of neutrals, white, and blue to bring boldness to our brand and is used in logical ways throughout product and marketing to guide the eye and highlight the important bits. We pepper warmer, secondary palette colors throughout to soften the experience and to impart confidence and optimism.” – Atlassian Design System.

Defining your design principles

The principles behind a product’s design philosophy are a litmus test for evaluating a design’s quality and purpose. It allows an organization to assess whether prototypes adhere to its general guidelines.

Some key points to consider include:

  • Consistency
  • Clarity
  • Simplicity
  • Usability
  • Accessibility

For example, Airbnb’s design principles prioritize accessibility and functionality. They aim to create “unified, universal, iconic, and conversational” designs.

IBM’s principles aim to create “carefully considered, uniquely unified, expertly executed, and positively progressive” designs.

Set the rules

Principles define what your organization’s values are, while the rules guide teams on how to achieve them. These rules are essential for creating consistent workflows and outcomes to deliver great user experiences.

The rigidity of your rules will vary–some will be strict, while others will promote creativity and flexibility to innovate. You might not recognize these differences from the beginning, so it is crucial to encourage feedback from team members.

Facilitate growth

Your design language and system are ever-evolving organisms adapting to product, market, and technological changes. The design system team must adjust to these changes while encouraging users to contribute.

“A unified design language shouldn’t be just a set of static rules and individual atoms; it should be an evolving ecosystem.” – Karri Saarinen, Principal Designer at Airbnb.

Here are three ways to remain flexible and update your design language:

  • Follow market trends and adjust to ensure your design language stays relevant to users.
  • Keep personas up-to-date so that your design language aligns with the people your products serve.
  • Monitor your competitive landscape to explore strategic design opportunities and create a distinct visual identity.

Who’s Responsible for Creating a Design Language?

While designers are responsible for developing an organization’s design language, it’s a collaborative effort requiring input from multiple departments and stakeholders. This collaboration increases adoption and ownership across the organization.

Here are some key departments and specialists you’ll want to include when developing a design language:

  • UX/UI Designers: responsible for the visual components of the language.
  • Accessibility specialists: ensure that the language abides by accessibility standards.
  • UX writers or Content strategists: responsible for the tone of voice guidelines and brand spokesperson parameters.
  • Researchers: provide valuable insight into the needs of the end-users.
  • Front-end developers: instrumental in writing efficient programming syntax and assisting with documentation.
  • Stakeholders: ensure that the language aligns with the organization’s goals and identity.

Unify Design Language With UXPin Merge

UXPin Merge is a technology for syncing a product’s UI library with UXPin’s design editor. By bridging the gap, Merge enables designers to use the same components during the UX design process as engineers use to develop the final product.

This single source of truth eliminates design drift and enhances designer/developer collaboration with built-in properties, principles, and constraints.

Instead of designing from scratch, designers use these components like building blocks and create prototypes for user testing. Because engineers already have the same UI library, design handoffs are smoother, almost non-existent, thus reducing time-to-market with minimal errors and debt.

Unify your product development process with a single source of truth from UXPin Merge. Visit our Merge page for more details and how to request access.

The post What Actually Constitutes Design Language? appeared first on Studio by UXPin.

]]>
Design System Documentation in 9 Easy Steps https://www.uxpin.com/studio/blog/design-system-documentation-guide/ Fri, 15 Mar 2024 11:24:15 +0000 https://www.uxpin.com/studio/?p=36909 Design systems provide you with a complete set of standards to enhance and manage your design efforts – from beginning to end. But in order to build and maintain a functional design system, first, you’ll have to commit time and effort before enjoying the benefits of a well-oiled design machine. Looking for a design system

The post Design System Documentation in 9 Easy Steps appeared first on Studio by UXPin.

]]>

Design systems provide you with a complete set of standards to enhance and manage your design efforts – from beginning to end. But in order to build and maintain a functional design system, first, you’ll have to commit time and effort before enjoying the benefits of a well-oiled design machine.

Looking for a design system management tool? UXPin Merge is a technology for bringing design library’s components to UXPin and using them in prototyping. Read more about UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is design system documentation? 

Design system documentation is a comprehensive guide on using a design system. It contains UI elements, components, and design language together with an explanation of how to use them. It helps share, consume, and execute these rules. This ultimately helps designers and developers to model their efforts around delivering a more predictable UI.

Design system documentation plays a crucial role in facilitating the adoption and implementation of a design system. It helps ensure consistency, efficiency, and predictability in UI design and development efforts, ultimately leading to a better user experience across products and platforms.

Two types of structuring design system documentation

A typical design system comprises a component library encompassing UI design elements and other components along with workflows. Design systems thus work to unify pattern libraries and style guides into a single cohesive experience.

Task-specific design system documentation

According to Heidi Adkisson, Principal UX Designer & Partner at Blink UX, while there are many different design documentation variants, some of the more task-specific types include:

  • User Stories – allow designers to base their approach on the user needs perspective.
  • Screen Flow Diagrams – are great for showing how a user might navigate between screens. 
  • Use Cases – offer longer, more objective narratives which hold enormous benefits down the line. 
  • Page-Level Documentation – describes an overview of a page’s function, purpose, and instructions for demos. 
  • Scenario Narratives – outline descriptive narratives around how to perform specific tasks. 

Structural design system documentation

Other design documentation types related to docs from a structural perspective and often include:

  • Object Model – which provides a structural view of a system.
  • Architecture Map – communicates how the app or site is structured in general.
  • Standardized Components – talk about standardized elements which are shared across the system. 
  • System Vocabulary – lists the specific words, phrases, and other relevant system-specific language. 
  • Navigational Framework – describes menu items, navigation elements, and control mechanisms. 

Why do you need to document your design system? 

Design documentation is today an essential component of any design system. From providing context to describing team coordination efforts and maintaining a clear record of the system’s component library, component documentation is fundamental to successful design. 

Design system documentation was once considered “non-critical” and was often overlooked. Without ever being exposed to the potential of design system documentation, stakeholders had no idea of the value that documentation could bring. 

Following the emergence of Google’s Material Design, it quickly became clear that design documentation was critical. Most design documentation consisted of disorganized notes and bullet points, leaving most of the vital information out of the system. Material Design changed all that, adding the necessary structure and warranting the need to document.

Documenting a design system comes with a raft of benefits as well:

  • It provides a vision for the team to buy into – By creating design documentation that focuses on people, instead of black and white technical directives, you’re able to establish a clear vision that teams can refer back to when they lose focus. 
  •  It gives the design system a clear, material structure – By keeping ahold of processes, designers and developers can better rely on a plan which has been laid out in front of them, instead of existing as an idea or general objective. 
  •  It helps you to save resources – A good, high-quality document design infrastructure will save on costly trial-and-error mistakes, allow teams to optimize their time and effort, and ensure that reusable design patterns get recorded and later replicated. 
  •  It drives engagement and satisfaction – Big projects can take a hefty toll on teams. Effective design documentation gives them something real to work towards – something they can count on when the going gets tough. 
  •  It improves efficiency and productivity – With everything the team needs documented and made available, things get done faster, while keeping everyone on the same page. 

Without effective design documentation, successfully designing and delivering a product to market is near-impossible. Design system documentation has become essential by providing the rationale behind specific design decisions and helping users understand and interact with the model. 

9 steps to creating design system documentation

Step 1: Understand who is going to use the documentation

The very first step in design system documentation is to kick things off by looking at the market you’re doing all this work for – your users. Without understanding what they want, you’ll likely get your design goals and results very wrong. 

Think about categorizing your documentation as a product and your team as the consumers of that product. Focus on who will be using this documentation, what you’ll need to include to give them the context they’re looking for and how to structure it in a way that it’ll be easy to consume. 

Step 2: Outline the documentation needs of each component

Next, you’ll need to establish an outline covering the needs of each component and should include design guidelines on:

  • Patterns
  • Code snippets
  • Colours
  • Images
  • Fonts 
  • ADA compliance guidelines and more.

Component documentation should consider the needs of your organization first and foremost before considering the outline in the context of other design elements. 

Step 3: Create a style guide

Style guides help to establish the basis for the visual presentations of the documentation and offer a guideline for the visual and content elements of a design system. Style guides begin by looking at the other design documentation elements and describe the colors, logo prominence, and overall language tone. Ultimately, they serve as the template for others to use.  

Step 4: Create a reusable template that you can share with your team

Then, you’ll need to draft a template your team can reuse over and over while sharing it with one another. Having a recyclable documentation template saves your team time, keeps things consistent and ensures that everyone understands what they’re looking at.

Step 5: Develop a single source of truth

Establishing, articulating, and documenting a single source of truth is probably one of the most important product design components. This universally approved agreement centers on everything your design team will be working on. From icons and color schemes to type scales and buttons – if everyone knows and understands what things need to look like, things will flow far more smoothly. 

Start either with basic design components, found in your component library – created with tools like UXPin – or commence with the development phase, with React components defining the origins. UXPin, for example, allows you to ensure consistency throughout the company with UXPin Merge’s design system versioning. 

Keep creating a single source of truth for your team to design from when working on projects. UXPin Merge offers a design system versioning, allowing you to optimize your single source of truth design approach and to manage code-driven prototyping with it. With tools like UXPin, you can make use of baked-in open-source libraries or import your own design system via Git, Storybook or NPM integration.

Step 6: Include a starter’s kit

Design kits are a sometimes-overlooked component of good design system documentation. However, these necessary resources represent the “starting point” elements that are so essential for good user experience. Starter kits are the perfect onboarding tools and are flexible enough to range from step-by-step guidelines to advanced user manuals.   

Step 7: Collect feedback

Feedback lets you know when a design system is working well, and when it isn’t. Some organizations, for example, limit their feedback collection mechanisms to GitHub issues, creating challenges for designers and less-technical role players in giving their thoughts. 

Alternative feedback collection methods like website feedback boxes on documentation sites allow users to describe and submit the issue. A streamlined feedback channel without the need to open a GitHub issue allows anyone looking to provide any feedback the ability to do so quickly and via the documentation platform.

Step 8: Distribute the responsibility

Documenting can be a labor-intensive task for which people aren’t always willing to volunteer. But sharing its importance with the team helps them to understand the value of taking care of it. Instead of burdening one person with this challenge, consider sharing the responsibility of doing so across the team. This way, you’ll get a variety of insights as well as make the task easier to accomplish. 

Step 9: Update it regularly

Design systems need to be maintained, kept clean, and relevant. Continually keep an eye on identifying potential problem areas, reducing discrepancies, and streamlining the number of active systems. 

A good example here would be to establish a single source of truth for your React story code examples for your documentation site and design system components, updated regularly to ensure they align with each other. 

UXPin also boasts a regular update feature. Whenever making changes to a master component from a design system, UXPin allows you to update it in the system immediately, ensuring everything stays completely aligned.

Build Prototypes with your Design System

A sound design system needs to be supported by clear, unambiguous component documentation that enriches your component library and revolves around a single source of truth. 

As a general good practice rule – documentation is everything. It keeps track of progress, milestones, wins, and losses, lets you go back, review and learn, and – most importantly – allows people to understand and follow the design system itself. 

Do you need to ensure that your design system is being implemented? UXPin with Merge technology allows you to use UI components from your design system in prototyping. Simply import them to UXPin, drag and drop them in design editor and create consistent prototypes that look like a finished product. Read more about UXPin Merge.

The post Design System Documentation in 9 Easy Steps appeared first on Studio by UXPin.

]]>
7 Great Design System Management Tools  https://www.uxpin.com/studio/blog/7-great-design-system-management-tools/ Fri, 12 Jan 2024 09:16:29 +0000 https://www.uxpin.com/studio/?p=34832 Design system tools help drive adoption while making it easier to scale and maintain. With so many options on the market, how do you know which one is right for your product? Having worked with design tools for over a decade, we’ve put together seven of the best design system tools–including solutions for both: designers

The post 7 Great Design System Management Tools  appeared first on Studio by UXPin.

]]>
design system tools

Design system tools help drive adoption while making it easier to scale and maintain. With so many options on the market, how do you know which one is right for your product?

Having worked with design tools for over a decade, we’ve put together seven of the best design system tools–including solutions for both: designers and engineers.

Bring a component library from your design system to UXPin and enjoy the interactivity of component-driven prototyping. Your own components are easier to maintain, keep in sync, and share with devs as a single source of truth for design and code. Request access to UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

UXPin

Whether you’re starting from scratch or you have an existing design system, UXPin has the tools and features to build, grow and scale.

Designers can create a design system from scratch by saving interactive components, assets, typography, and color. You can then share the design system across the organization and set permissions to prevent unauthorized changes–perfect for managing governance procedures and protocols.

design system management tool uxpin

Designers can simply drag and drop the design system’s components and assets to start building layouts–no external files or plugins are required. With everything inside UXPin, you get maximum consistency and efficiency because teams never have to leave the tool to visit design system documentation.

UXPin also makes it easy to link to external documentation for engineers, like a component library hosted in Storybook.

As your design system matures, upgrade to UXPin Merge–a technology that lets you sync a design system from a repository to UXPin’s editor so designers can build layouts using fully functional code components.

With Merge, designers and engineers use the same components, thus creating a single source of truth for your design system. Any updates to the repository automatically sync to UXPin’s editor, notifying designers of the new version.

Teams can use UXPin’s Version Control to switch between different versions of the design system. They also have the freedom to use different versions for each project or prototype.

Zeroheight

Zeroheight is a hub for hosting your design system documentation to share across the organization. Unlike UXPin, where designers can draw components directly from the library, Zeroheight lets you host design files that team members must download and install.

zeroheight is one of the best design system management tools

The platform does, however, allow you to embed your design system’s components from Storybook with code snippets.

Zeroheight offers a standard dashboard layout for your design system, similar to Lightning, Polaris, Stacks, and others, with main navigation on the left and a table of contents to the right. This familiar layout helps with onboarding, allowing teams to navigate the design system to find what they need.

You can store all of your design system’s assets in Zeroheight, and the DS team can embed YouTube, Vimeo, Loom, or Google Drive videos for tutorials and explainers.

Supernova

Supernova is an excellent alternative to Zeroheight with a similar layout and features but slightly more functionality.

One of Supernova’s best features is the ability to automatically “convert design data into code or assets for any tech stack.” You can also include starter templates for developers in your product’s formats, like iOS, Android, React, Angular, Flutter, and others, ensuring engineers always have the correct code and assets at the beginning of every project.

Zrzut ekranu 2022 04 8 o 14.29.59

Supernova’s VSCode extension syncs your design system to the popular IDE, so developers have everything they need in one place. You can also sync Supernova to popular design tools so designers don’t have to download and import files.

Storybook

Storybook is a popular tool for engineers who want to build and store UI components in isolation. Storybook also integrates with other design and development tools.

One of those tools is UXPin. With Merge’s Storybook integration, you can sync your library to UXPin’s editor so that designers can access the same components–creating a single source of truth.

A sandbox environment inside Storybook makes it easy for engineers to focus on individual UI components, including states and interactions. The dashboard layout allows you to organize and categorize your Storybook component library, so it’s easy to find what you need.

Zrzut ekranu 2022 04 8 o 14.32.28

Storybook is a collaborative tool allowing you to review new components with teams and stakeholders to get input and sign-off before publishing. The Chromatic add-on lets you automate visual testing across browsers and gather feedback from QA teams.

Storybook automatically creates basic documentation for each UI component, which you can edit to include your design system’s guidelines, usage, principles, and more.

Storybook is an open-source tool, and it’s free to use. Simply follow the comprehensive documentation to get started. Check out these best practices and Storybook examples for inspiration.

Pattern Lab

Pattern Lab is an open-source front-end environment for building, viewing, testing, and showcasing your design system’s UI components. The platform uses Brad Front’s Atomic Design principles that “stitches together UI components” to build patterns and templates.

Zrzut ekranu 2022 04 8 o 14.33.16

You can build components in Handlebars or Twigs markup and use a separate JSON file to create variations. Pattern Lab automatically categorizes your elements and displays them in a dashboard-style UI. 

Users can inspect each element from the dashboard to view the markup and HTML language with CSS classes. You can also include documentation for each component to give users more information and context.

If you’re building a custom design system management tool, Pattern Lab provides an excellent starting environment for you to customize.

Adobe XD

Out of the box Adobe XD doesn’t provide features for managing a design system, but it does integrate with design system tools like Zeroheight, Frontify, Zeplin, and others.

Like UXPin, designers can share component libraries and assets from your design system–albeit without the context and instructions of documentation and style guides.

The problem with using Adobe XD for mature design systems, is you have separate components for design and development, one code-based and the other image-based for designers to use in XD. You also need additional tools and plugins to sync and manage your design system and deal with design system contribution.

Design System Manager – InVision

Until 2024, Design System Manager (DSM) from InVision was another popular design system management tool. DSM looked and functioned very similar to Supernova or Zeroheight with a clear dashboard layout and intuitive navigation.

DSM synced to InVision’s design tool, so teams could drag components from the design system to build layouts. Like UXPin Merge, it kept design systems unified.

Sadly, InVision is no longer available. It was shutdown in January 2024. If you are looking for a compelling alternative, we recommend you try UXPin Merge.

design system manager from invision

What to Look for in a Design System Management Tool?

design system 1

Your design system tool must provide a good user experience for your designers and engineers. Here are some essentials to look for when choosing design system management tools.

Version Control

Versioning is a crucial feature every design system must have. Version control creates a new file for every design system release so that teams can switch between versions. Some of the benefits of design system version control include:

  • Allows teams to update to the latest design system release when they’re ready–preventing interruptions to workflows
  • Allows teams to work on the same file simultaneously
  • Track changes over time
  • Informs teams of what’s in each release
  • The ability to switch between versions
  • Helps with fault finding

Read more about versioning: Version Control for Design – Is it Worth it?

Style Guide

Most design systems start as style guides (usually PDF) that designers use to design components and UIs. A style guide provides context and instructions for a design system’s patterns and components–for example, color HEX codes, typography scales, usage, dos and don’ts, etc.

Component Storage

Component examples are most helpful for developers because they’re interactive and include code snippets. This is important because it allows engineers to see exactly how the component is supposed to work.

Asset Storage

It’s important to keep all of your design system assets (logos, images, etc.) with your component library and documentation so everything is in one place.

Documentation & Guidelines

Documentation is the core of every design system. This documentation provides users with principles and guidelines to design products, including:

Feedback

Every design system must be open to feedback and suggestions. This communication is also crucial for flagging bugs or errors. Including a contact page or comment form in your design system allows teams to submit feedback.

Which Design System Management Tool Will You Choose?

It’s your turn now. Pick a design system tool that fits your needs. Test every tool that we compared here and see which one you like best. To speed up interactive prototyping, scale design operations, and boost collaboration, try Merge. Read more about UXPin Merge.

The post 7 Great Design System Management Tools  appeared first on Studio by UXPin.

]]>
Design System Engineer – Job Description, Responsibilities, and Skills https://www.uxpin.com/studio/blog/design-system-engineer/ Mon, 27 Nov 2023 15:25:20 +0000 https://www.uxpin.com/studio/?p=51325 Design System Engineers don’t just bridge gaps; they ensure a smooth transition from pixel to code. This comprehensive guide digs deep into what a DSE does, the skill set required, and how they fit into the product development cycle. Whether you’re an aspiring DSE, a hiring manager, or just intrigued, read on to unravel the

The post Design System Engineer – Job Description, Responsibilities, and Skills appeared first on Studio by UXPin.

]]>
design system engineer

Design System Engineers don’t just bridge gaps; they ensure a smooth transition from pixel to code. This comprehensive guide digs deep into what a DSE does, the skill set required, and how they fit into the product development cycle. Whether you’re an aspiring DSE, a hiring manager, or just intrigued, read on to unravel the multifaceted role of a Design System Engineer.

Key takeaways:

  • A Design System Engineer is the crucial link between designers and developers, standardizing UI components and design guidelines.
  • Beyond code and design, DSEs play an active role in quality assurance, documentation, and cross-team collaboration.
  • Mastery of front-end development languages like HTML, CSS, and JavaScript, as well as design tools like Sketch and Figma, is essential for a DSE.
  • DSEs are instrumental throughout the product development cycle, ensuring design systems are consistently implemented and updated.
  • Familiarity with version control systems like Git and frameworks like React enhances a DSE’s ability to manage and scale design systems effectively.

Bridge the gap to serve designers and engineers more efficiently with UXPin’s Merge technology. Visit our Merge page for more details and how to request access.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Who is a Design System Engineer?

A Design System Engineer ensures a seamless transition from visual concept to functional code. 

DSEs curate and maintain the design system, a centralized repository standardizing UI components and design guidelines. They share the responsibility of code with developers and user experience and design principles with the UX design team.

DSEs have a broad skill set from design tools and design thinking to writing code (HTML, CSS, and Javascript) and using front-end technologies (React, Vue, Angular, etc.). DSEs are the go-to experts for design system’s consistency, component’s structure, and cross-team collaboration within a design system team. They keep the design and development workflows cohesive and streamlined.

How is a DSE different from a UX designer or front-end engineer?

Filling all three roles, designer, developer, and design system engineer, facilitates a seamless transition from a user’s need to a functional, well-designed product. Each position complements the other, ensuring that nothing falls through the cracks.

  • UX Designers: focus on the overall user experience of the product. Their realm is user-centric design, not code.
  • Developers: turn designs into functional applications. They may or may not have a deep understanding of UX principles.
  • Design System Engineers (DSE): DSEs bridge the gap between design and development. They implement design systems, ensuring consistency and scalability across products.

How these three complement each other in developing and maintaining a design system:

  • User Insight: UX designers bring invaluable user insights, guiding the team on what works best for the end-user.
  • Technical Implementation: Developers make sure everything runs smoothly under the hood. No user insights or design systems matter if the application doesn’t work.
  • Design Scalability: DSEs ensure that design remains consistent and easily implementable across different parts of a project. They allow both design and engineering teams to work more efficiently.

What are a Design System Engineer’s Responsibilities?

  • Create and Update Design System: Build the foundational design system and keep it updated to ensure it aligns with project requirements.
  • Quality Assurance: Implement automated testing for UI components to guarantee they meet design and functionality standards.
  • Documentation: Produce clear, actionable guidelines that help designers and developers understand the design system.
  • Version Control: Use tools like Git to manage changes, ensuring every update is adequately tracked and documented.
  • Code Reviews: Participate in code reviews to ensure adherence to design guidelines and code quality.
  • Cross-Team Collaboration: Act as the liaison between the design and development teams, ensuring design principles are implemented accurately in code.
  • Training: Conduct workshops and training sessions to familiarize team members with the design system’s components and best practices.
  • Tool Integration: Set up and maintain tools like Storybook that facilitate easier design system implementation.
  • Performance Optimization: Regularly audit the design system to remove redundancy and improve load times.
  • Stakeholder Communication: Regularly update stakeholders on the state of the design system, any changes made, and how it impacts projects.

What Skills Does a Design System Engineer Need?

While the design system engineer is a specialist role, their skill set must be broad to meet the position’s multifaceted demands. Here are the hard and soft skills you’ll need to be a design system engineer.

Hard Skills

  • Front-End Development: HTML, CSS, and JavaScript are non-negotiable. It’s the bedrock for implementing a robust design system.
  • Frameworks and Libraries: Familiarity with React, Angular, or Vue is often required, given that these technologies power modern web applications.
  • Version Control: Proficiency in Git is another non-negotiable for tracking and managing design system changes.
  • Design Tools: Competency in Sketch, Figma, or UXPin facilitates collaborating with design teams to create and modify UI components.
  • Automated Testing: Skills in Jest, Mocha, or similar testing frameworks guarantee the design system’s quality and reliability.
  • Accessibility Standards: Understanding WCAG guidelines ensures the design system is inclusive and legally compliant.

Soft Skills

  • Communication skills: Clear articulation of complex technical ideas to designers, developers, and stakeholders makes everyone’s life easier.
  • Attention to Detail: Minor visual or functional inconsistencies can derail a project. Accuracy is key.
  • Problem-Solving: Design systems are complex, requiring an ability to troubleshoot issues swiftly and effectively.
  • Collaboration: The role sits at the intersection of design and development; teamwork skills are crucial.
  • Time Management: Juggling design, development, and stakeholder meetings means strong organizational skills are essential.

What is a Design System Engineer’s Role in the Product Development Cycle?

DSEs ensure that design and functionality merge into a coherent, scalable product throughout the product development cycle. They act as the bridge between different departments, ensuring the design system remains consistent and up-to-date.

Inception phase

During the idea validation and planning stage, DSEs assess potential design systems or components that can be reused or adapted. They work closely with product managers and designers to define the design system’s scope, feasibility, and technical requirements.

Design phase

DSEs actively collaborate with UX/UI designers in design critiques and offer technical guidance on implementing design systems without compromising functionality.

For example, when a UX designer proposes a new button style, a DSE ensures the design fits existing patterns and is easily implementable in code.

Development phase

DSEs turn approved design elements into reusable code components. They also provide documentation to facilitate implementation by developers.

For example, if a designer creates a new card layout, the DSE transfers it to code, makes it a reusable component, and documents how to implement it in different scenarios.

Post-launch

After release, DSEs monitor design system components’ usage and make updates for scalability and performance. Additionally, they collect feedback for continuous improvement.

For example, analytics indicate a navigation component is not as intuitive as expected, DSEs work with the designers and developers to optimize it.

How to Become a Design System Engineer

Educational and career steps to becoming a design system engineer

  1. Earn a Bachelor’s Degree (+- 4 years): Usually in Computer Science, Graphic Design, or a related field.
  2. Learn Relevant Skills: Parallel to your degree, master HTML, CSS, and JavaScript, and familiarize yourself with design tools like Figma, UXPin, and Sketch.
  3. Entry-Level Position: Start as a Junior Developer or Designer, typically requiring 1-2 years of experience.
  4. Specialized Training: Take specialized courses in Design Systems or UX/UI Design–a few months to a year.
  5. Mid-Level Role: Move to a role like Front-End Developer or UX Designer.
  6. Gain Experience in Design Systems: In your mid-level position, focus on projects that allow you to work with design systems.
  7. Transition to DSE: With adequate experience and a strong portfolio, transition into a Design System Engineer role.

Growth prospects for a design system engineer

  • Lead Design System Engineer: Lead projects and teams. Requires at least 2-3 years as a DSE and proven leadership skills.
  • Design Systems Manager: Oversee multiple projects and multiple design systems. Requires 4-6 years of specialized experience.
  • Director of Design or Engineering: Reach the pinnacle by heading an entire department. Generally requires 10+ years in the field and extensive leadership experience.

What are a Design System Engineer’s Tools of the Trade?

Here’s a breakdown of essential tool categories and examples for a DSE. Familiarizing yourself with these tools will help your career prospects and enhance your understanding of this complex role.

Version control systems

  • Git: The gold standard for version control, essential for tracking changes and collaborating with others.
  • SVN: Less popular than Git but valuable in certain enterprise environments.

Design tools

  • Sketch: Offers powerful design functionalities; however, it’s Mac-only.
  • Figma: Cloud-based and collaborative; allows real-time changes.
  • UXPin Merge: Unique in allowing design and code components to be combined and reused.

Programming languages and frameworks

  • HTML: The building block for web development.
  • CSS: Critical for styling and layout.
  • JavaScript: Enables interactivity and controls web behavior.
  • React: A go-to library for design systems due to its component-based architecture and cross-platform efficiency.

Utilizing UXPin Merge and React to Design, Develop, Maintain, and Scale Design Systems

Building and maintaining a design system is a complex, time-consuming undertaking involving a multi-disciplinary team and a vast tool set. UXPin and Merge technology combined with your framework (React, Vue, Angular, and other popular front-end technologies) simplify design system management and governance while bridging design and development.

A single source of truth

The holy grail of design system maturity is a single source of truth, but few organizations ever reach this stage–even though they claim to possess one. High costs and tool constraints mean most design systems maintain two versions:

  • Design tool UI kit
  • Development component library

Design and development must have platform-specific documentation, adding to maintenance and costs.

Merge facilitates a genuine single source of truth by importing UI components from a design system repository into UXPin. This integration means designers use the same UI library during the design process as engineers use to develop the final product.

Any changes to the repository automatically sync to UXPin and notify design teams of the update. Merge’s Version Control lets designers choose when to switch to the latest release or revert to an older version.

Using UXPin’s Patterns to scale design systems

Design system engineers can collaborate with design teams to scale design systems using UXPin’s Patterns. Rather than starting from scratch, Patterns allows designers to combine UI elements from multiple design systems to create new component, pattern, and template prototypes.

Designers can test these Patterns thoroughly in UXPin before working with DSEs to promote the new component to the design system’s library. 

Smoother design handoffs for design system engineers

Design handoffs are one of the biggest product development challenges. Even with a DSE’s competency on both sides of the fence, the process of converting designs to code is time-consuming and error-prone.

Using code components for design and development streamlines the handoff for design system engineers. Creating new components with Patterns means design teams never have to design from scratch, leveraging existing open-source libraries to scale while making it easy for DSEs and developers to implement.

If UXPin Merge and design system engineers have one thing in common, it’s bridging the gap between design and development.

Simplify your design system management with the world’s most advanced design tool. Visit our Merge page for more details and how to request access.

The post Design System Engineer – Job Description, Responsibilities, and Skills appeared first on Studio by UXPin.

]]>
What is a Component Library, and Why Should You Use One for UI Development? https://www.uxpin.com/studio/blog/ui-component-library/ Fri, 24 Nov 2023 10:45:40 +0000 https://www.uxpin.com/studio/?p=30680 When optimizing development across many platforms, it’s wise to consider using a component library. By offering an accessible, open-source repository of production-ready, customizable, and reusable code components—like buttons and accordions—component libraries let UI and UX designers leverage faster development and growth. Key takeaways: Share a single source of truth between designers and engineers. Use UXPin

The post What is a Component Library, and Why Should You Use One for UI Development? appeared first on Studio by UXPin.

]]>
What is a component library

When optimizing development across many platforms, it’s wise to consider using a component library. By offering an accessible, open-source repository of production-ready, customizable, and reusable code components—like buttons and accordions—component libraries let UI and UX designers leverage faster development and growth.

Key takeaways:

  • A component library is a set of pre-made, tested, and well-documented UI components that can be easily reused across the user interface of a product.
  • It ensures that the product has a consistent look and feel and promotes efficiency and scalability.
  • With component libraries, designers and developers can quickly add new features and pages while preserving the overall design consistency.

Share a single source of truth between designers and engineers. Use UXPin Merge to bring one of the component libraries to our design tool and use its elements to create interactive prototypes that can be easily passed to developers for production. Learn more about UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Component Library?

UI component library is a collection of pre-designed and pre-built user interface elements used to create user interfaces for digital products, such as websites and applications that have a unified look.

These libraries include a range of pre-made UI elements, such as buttons, forms, navigation menus, icons, and more, each designed with a consistent look and feel.

UI component libraries are particularly useful in collaborative design and development environments, as they help ensure that all team members are using the same source of truth and that the end product maintains a professional and polished appearance.

Component Library Can Offer a Single Source of Truth

Component library can reduce the risk of any variation between products, or ending up with different components in different places. They handle the source code for UI elements and usually leverage CSS and JavaScript.

React is a prime example of a popular open-source framework, developed by Facebook as a component library but since grown into a large ecosystem for creating apps, static sites, and desktop applications.

There are many more advantages of using a component library that are worth highlighting: 

  • Accessibility: As a single repository for housing ready-made, reusable components, a component library offers quick access to developers and designers everywhere. This improves collaboration and communication between developers and designers working across teams.
  • Reduced code duplication: Often, code gets duplicated across varying designs and projects. But with a component library, there’s no need to convert every pixel to code. Instead, you can use already coded components with no further development.
  • Consistency: Promoting a single source of truth is more likely with a component library. By enabling consistent UI and UX across entire projects, it’s easier to achieve uniformity. And this is a key advantage that makes you work faster and more efficiently.
  • Speed: By avoiding building from the bottom up, teams save time. Instead of recreating or designing a calendar, it’s already there to use. Plus, thanks to a set of ready-made, pre-set components, teams can avoid any drawn-out, time-draining decision-making processes they may have once faced. 
  • Compatibility: Frontend developers can struggle with ensuring cross-browser and cross-device compatibility. But a component library will go a long way to avoiding incompatibility through standardization.

When Is It Best to Use a Component Library?

There are some particular situations where a component library can add measurable value to a project. So let’s look at what they are: 

Code-first prototyping

Projects that focus on functionality over visual design are more likely to benefit from a component library. Plus, prototyping with code is more efficient than starting with images and then converting them into code. So rather than expecting developers to interpret image-based designs and then create the codes, they simply take the code component from the ready-made design.

This also opens up the chance for developers to design with pre-built components without worrying about any lack of design skills.

When you lack the skills or experience to build your own

Creating your own component library or developing one as part of your own enterprise design system may be your dream. But this may not be a reality when your team lacks experience in building reusable UI components or you’re working to tight project deadlines. 

Instead, integrated component libraries provide all the code components designers and developers need to test functionality, usability, and design before conversion to digital products.

If you’re a smaller company or team

Startups and small or medium-sized businesses may need to be more careful with financial resources. And with a wide range of effective, versatile, open-source component libraries around, smaller companies can set themselves up to scale, step by step. After all, no industry giant got there overnight. And many of them continue to stick with their original component library throughout their evolution.

There Are Some Exceptional Tools Available to Help You Scale 

If it’s not yet clear how you’ll benefit from a component library, then here are some questions that could prompt your thinking:

  1. Do you see developers building the same components for each project but with slight variations?
  2. Are any developers confused about which UI or UX convention they should use in interfaces?
  3. Do you need to release updates and changes fast?
  4. Do you need a lot of customization?
  5. Are you looking for a combined design system and component library?

If the answer to any of these questions is yes, then consider one of the tools below.

1. Merge Component Manager

Merge Component Manager is a design operations tool for managing React UI components in UXPin. You can bring your own component library and use Component Manager to manage component’s properties. It’s perfect for those of you who lack active development support.

Once you upload UI components, you can use them to design UI in UXPin. The components have their full interactivity in UXPin since they’re coded in React.

2. Merge npm integration

One of the ways to bring UI components from your component library to UXPin is through NPM package integration. All you need to import the components is a library name. Then, you would use Merge Component Manager to set up props and write desicriptions, etc. Read more about npm integration.

3. Merge Storybook integration

Storybook is an open-source tool for developing UI components in 15 different frameworks, among others the most popular ones: React, Vue, and Angular. It’s a combined coded design system and component library that acts as a sandbox for effective components and page development, testing, and documentation. Your developers can take a more effective component-driven approach over a visual one.

As Storybook is used by developers, there’s an integration with UXPin that can help you with designing as well.  With UXPin Merge technology, you can sync any Storybook with UXPin editor to design with code components. The fully functional UI elements will show up in one of the UXPin libraries so that you have access to them right away. 

Be the First to Design with Code Using Innovative Merge technology

Component libraries offer the chance to standardize development, reduce code duplications, improve collaboration between teams, and drive scalability. And with so much influence over your project deliverable and team motivation, it’s important to choose the right solution for your needs.

But if you’re looking to improve design consistency and development productivity, UXPin’s Merge technology offers a unique point of integration with Storybook, as well as its own tool, Merge Component Manager for managing components in design. Discover more about UXPin Merge.

The post What is a Component Library, and Why Should You Use One for UI Development? appeared first on Studio by UXPin.

]]>
What Is MUI and What Do You Need to Know About It? https://www.uxpin.com/studio/blog/what-is-mui/ Wed, 08 Nov 2023 17:03:15 +0000 https://www.uxpin.com/studio/?p=32966 One of the questions organizations ask themselves at the start of a new project is, “do we adopt a component library or start from scratch?” There are pros and cons to weigh, and it depends on the project’s scope and priorities.  One of the most popular component libraries is MUI – a comprehensive React UI

The post What Is MUI and What Do You Need to Know About It? appeared first on Studio by UXPin.

]]>
MUI 5

One of the questions organizations ask themselves at the start of a new project is, “do we adopt a component library or start from scratch?” There are pros and cons to weigh, and it depends on the project’s scope and priorities. 

One of the most popular component libraries is MUI – a comprehensive React UI library modelled at first on Google’s Material Design UI. 

We’re going to take a look at MUI, why you’d want to use it, what makes it different from other component libraries, and how you can get started designing your next project.

Have you ever wondered what it would be like to design in code? UXPin Merge is a revolutionary technology that allows teams to create fully functioning layouts without design skills. Find out more about Merge.

Design UI with code-backed components.

Use the same components in design as in development. Keep UI consistency at scale.

What is MUI?

MUI is a massive library of UI components designers and developers can use to build React applications. The open-source project follows Google’s guidelines for creating components, giving you a customizable library of foundational and advanced UI elements.

MUI also sells a collection of React templates and tools, giving you ready-made user interfaces to tweak for your project. 

Why Would You Use a Component Library Like MUI?

Designers often use UI kits to build new products or feature add-ons for existing projects. These libraries allow designers to drag and drop the components they need to design interfaces quickly. 

Let’s explore 7 reasons why you would want to use the MUI component library.

1. Faster Time-to-Market

In today’s highly competitive tech landscape, time-to-market is a metric that organizations always seek to optimize. A component library gives designers and developers a massive headstart with thoroughly tested UI elements ready to go.

Designers can drag and drop elements to build user interfaces and customize components to meet product and branding requirements. Design teams can spend more time designing great customer experiences rather than getting bogged down building and testing UI components from scratch–a process that increases time-to-market significantly!

Usability testing is much faster because designers can prototype, test, and iterate quickly. If a user interface isn’t working during testing, they can make changes on the fly, drawing from a massive library, to get instant feedback from participants and stakeholders.

When it comes to the design handoff, engineers can install the component library and copy/paste changes from prototypes and style guides to develop the product without starting from scratch.

2. A Single Source of Truth

One of the biggest design system governance challenges is maintaining a single source of truth. It’s not uncommon for product teams, UX designers, and developers to have out-of-sync design systems–resulting in errors, rework, and massive headaches and challenges for DesignOps.

Using MUI’s component library can significantly reduce these challenges while creating a single source of truth between design and development. Designers and engineers will still have separate design systems (image-based for designers and code for engineers), but MUI gives them the same starting blocks.

When using Merge with UXPin’s code-based editor, designers and engineers use the same design system components synced via a single repository. Any updates to the repo sync back to UXPin, notifying designers of the changes. You can connect Merge using Git for React component libraries or Storybook for other popular technologies.

3. Design Consistency

Consistency is vital for user experience, building trust, and brand loyalty. Using the same UI components allows designers to increase consistency while minimizing errors and rework.

4. Scalability

Scalability is another vital product design factor. If you’re building a design system from scratch, designers must design, prototype, and test new components before scaling the product.

With MUI’s comprehensive UI library, designers can search for the components they need to prototype and scale right away. Engineers can copy/paste the identical React components from MUI and customize them to the designer’s specifications.

MUI X includes a library of advanced React components teams can use to scale complex products even faster, including data grids, date pickers, charts, pagination, filtering, and more.

5. Easy Maintenance

A component library like MUI comes with detailed documentation for installing, using, updating, and customizing components. Designers and engineers can use this framework to maintain the organization’s design system, making it easier to establish governance systems and protocols.

MUI also provides how-to guides for migrating from one version to the next. So, organizations can take advantage of the latest UI styles, technologies, and trends whenever MUI releases an update.

6. Accessibility

Those experienced with setting up a design system will know the time and money it takes to ensure every component passes accessibility standards. MUI’s designers have taken great care in designing components to meet WCAD 2.0 accessibility guidelines – reducing the work for researchers and designers.

It’s important to note that even when you design interfaces using accessible components, you must still test navigation and user flows to ensure the product as a whole meets accessibility standards.

7. Skills Empowerment

MUI’s open-source component UI library empowers startups and young entrepreneurs to build new products–especially in developing nations where they don’t have the same access to education, mentoring, and skills transfer.

The library is also incredibly beneficial for charities, non-profits, NGOs, and similar organizations who want to develop products and tools but don’t have the budget to invest in a design system. 

Anyone can leverage the skills of MUI’s talented designers and developers using the same component library used by Fortune 500 companies to develop sophisticated digital products and compete in a global market.

What Makes MUI Stand Apart From Other Component Libraries?

Google’s Material Design UI is arguably one of the best and most comprehensive design libraries in the world. By building on top of Material Design, MUI delivers a React component library to match.

The ability to easily customize MUI using its Theming feature and the libraries’ excellent documentation make it accessible to build products for multinational corporations or a single developer with a product idea.

Because MUI is so widely used, there is a massive global community of designers, researchers, and developers to reach out to for guidance and support. Added to the fact that React is one of the most popular front-end frameworks, makes MUI an attractive component library.

MUI – Interesting Facts and Figures

Here are some interesting MUI facts and figures:

Note: MUI’s stats continue to climb. These facts were accurate as of Jan 2022.

  • MUI started in 2014 as Material UI but decided to change its name to differentiate itself from Google. Many people assumed Material UI was a Google product.
  • MUI has over 2,200 open-source contributors.
  • There are over 2,3 million NPM downloads of MUI per week.
  • Over 73,700 stars on GitHub.
  • Of the 1,488 respondents to MUI’s 2020 survey, 35% of developers worked in an organization with less than five people.
  • In the survey, 27% of developers use MUI for enterprise applications, while 20% use the library for admin dashboards.

UXPin’s MUI 5 Kit

Using UXPin Merge’s MUI integration, you can leverage the power of prototyping with UI React components.

MUI helps you create designs with fully functioning code components. With a single source of truth, designers, developers, product teams, and others can collaborate more effectively with fewer errors and friction.

Higher fidelity means better usability testing with meaningful feedback from participants and stakeholders. The result? A better overall user experience and increased business value.

Find out more about UXPin’s MUI kit and how you can sign up to request access to this revolutionary code-based design technology: MUI library in UXPin: Design Faster.

Syncing a Component Library With UXPin Merge

With UXPin Merge, you can build fully functioning high-fidelity prototypes with an open-source component library. With complex UI components like menus, forms, tabs, data tables, date pickers, accordions, and more, you can build beautiful and functional layouts in minutes. Check out Merge.

The post What Is MUI and What Do You Need to Know About It? appeared first on Studio by UXPin.

]]>
Ant Design 101 – Introduction to a Design System for Enterprises https://www.uxpin.com/studio/blog/ant-design-introduction/ Thu, 02 Nov 2023 14:08:31 +0000 https://www.uxpin.com/studio/?p=37506 Ant Design is a popular design system for developing enterprise products. The comprehensive component library has everything product teams need to solve most modern B2B design problems. Key takeaways: With UXPin Merge, design teams can import Ant Design UI components to build fully functioning prototypes. This article outlines the benefits of working with Ant Design,

The post Ant Design 101 – Introduction to a Design System for Enterprises appeared first on Studio by UXPin.

]]>
Ant Design

Ant Design is a popular design system for developing enterprise products. The comprehensive component library has everything product teams need to solve most modern B2B design problems.

Key takeaways:

  • Ant Design is a collection of high-quality UI components that cover a wide range of use cases, including buttons, forms, navigation menus, data tables, modals, and more.
  • Ant Design is known for its adherence to design principles and guidelines that promote consistency and usability.
  • It follows the principles of the “Ant Design Language,” which emphasizes clarity, efficiency, and simplicity in design.
  • Ant Design has a strong and active community of designers and developers, which contributes to its ongoing development and support.

With UXPin Merge, design teams can import Ant Design UI components to build fully functioning prototypes. This article outlines the benefits of working with Ant Design, its vast component library, and how to build Ant Design prototypes that look and feel like the final product.

Create a single source of truth between design and development with UXPin Merge. Visit our Merge page for more details and how to gain access to this advanced prototyping technology.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is Ant Design (AntD)?

Ant Design is an open-source design system developed by the Ant Group–parent company of Alibaba, Alipay, Huabei, and MYbank, to name a few. The component library supports React, Vue, and Angular front-end frameworks.

Ant Design includes layouts, iconography, typography, navigation, data entry/forms, data visualizations, and more. Design tokens allow organizations to customize the component library to meet your product requirements.

Key Ant Design Benefits

One of the primary reasons product developers choose Ant Design is its comprehensive component library and features. You can find just about every type of UI pattern, including data visualizations, making it an excellent choice for enterprise products.

design prototyping collaboration interaction

Here are some Ant Design benefits we’ve learned from software developers:

  • Well maintained: Ant Design’s team continually works to improve the design system with frequent updates. Engineers also report finding little or no bugs.
  • Comprehensive library: Ant Design has a component, pattern, or icon to solve every design problem. Additionally, each element has multiple versions to accommodate any scenario.
  • Native library: Ant Design Mobile offers an extensive library for building native cross-platform applications.
  • Animation library: Ant Motion provides animations for common patterns and microinteractions to complement its native and web component libraries. 
  • Third-party libraries: Ant Design’s third-party React libraries include data visualizations, infinite scroll, maps, media queries, and others that increase the design system’s capabilities.
  • Internationalization-ready: Ant Design’s internationalization feature supports languages from around the world with the option for developers to add more.
  • Forms: an extensive form library with excellent form handling.
  • Scaffolds: 100+ template projects for dashboards, reports, tables, admin UIs, chat, logins, and more.
  • Typescript compatible

Material Design vs. Ant Design

Material Design and Ant Design present more similarities than differences. Both offer comprehensive design systems for building cross-platform applications with excellent documentation and large global communities.

Theming

Material Design and Ant Design use design tokens for theming, making it easy for developers to customize UI components and patterns.

Accessibility

Accessibility is one of the most significant differences between the two design systems. Material Design has accessibility “baked-in” to every component with principles and best practices, whereas Ant Design leaves this to developers.

Tech stack compatibility

Material Design is the best option for developing cross-platform Flutter applications. Developers can call components with a few lines of code and build user interfaces effortlessly. Material Design is also available for React apps through MUI.

Ant Design accommodates React, Vue, and Angular frameworks, making the design system accessible to more software developers.

Ant Design vs. Bootstrap

Bootstrap is one of the oldest front-end CSS frameworks for building responsive websites and web applications. Many engineers use Bootstrap for prototyping because they can leverage the framework’s CSS and Javascript libraries to develop websites and web applications with little effort.

Like Ant Design, Bootstrap supports React, Vue, and Angular. The biggest difference between these two is that Bootstrap is a framework, whereas Ant Design is a design system

Bootstrap is a better option for prototyping and building websites, whereas Ant Design offers more features for building web and native cross-platform applications.

What Can You Build With Ant Design?

Ant Design’s vast library of components, patterns, templates, and icons makes it possible to develop B2B and B2C digital products. The design system’s form and data visualization patterns make it a popular choice for enterprise applications.

Here are some enterprise companies that use Ant Design:

  • Yuque: knowledge management platform
  • Alibaba: the world’s largest online marketplace
  • Baidu: the Chinese Google equivalent and one of the world’s largest AI and Internet companies with multiple products running Ant Design
  • Fielda: a mobile data collection application for field research
  • Moment: project management software
  • Videsk: video-based customer service platform
  • Solvvy: chatbot software from Zoom
  • Ant Financial: One of China’s leading FinTech organizations

Ant Design’s Design Language

design system atomic library components

1. Design Language

Ant Design’s Design Values include principles and patterns for solving many usability problems. The design system has four values:

  1. Natural: products and user interfaces must be intuitive to minimize cognitive load.
  2. Certain: designers must use components and patterns consistently to enhance collaboration and deliver consistent user experiences.
  3. Meaningful: products must have clear goals and provide immediate feedback to each action to help users. Designers must create experiences that enable users to focus on tasks without distraction.
  4. Growing: designers must consider the human-computer interaction symbiosis and design for scalability.

2. Motion Principles

Ant Design has three Motion Principles:

  1. Natural: designers must base motion on the laws of nature with smooth and intuitive animations and transitions
  2. Performant: animations must have low transition times and not impact a product’s performance
  3. Concise: designers must create justified, meaningful interactions while avoiding excessive animations that don’t add value to the user experience

3. Global Styles

The Global Styles section of Ant Design’s docs includes color, layout, font, icons, and dark mode guidelines.

Ant Design’s Palette Generation Tool will generate a ten-shade palette based on your product’s primary color. The tool is somewhat primitive compared to the Material Theme Builder and other palette generators.

The font scale and line height provide helpful guidelines based on user reading efficiency calculated on an average distance of 50cm (20inches) and 0.3-degree angle. The base font is 14 px with a line height of 22 px.

Ant Design’s icons are available as outlined, filled, and two-tone. The are also instructions for creating custom icons that conform to the design system’s iconography principles, ensuring maximum consistency for customizations.

Ant Design Components

Here is an overview and key features of the Ant Design component library.

General

General components include buttons, icons, and typography. There are five button types:

  • Primary: main CTA
  • Default: secondary CTA
  • Dashed
  • Text button
  • Link button

Additionally, there are four button properties:

  • Danger: high-risk actions like delete
  • Ghost: also called outlined button
  • Disabled: when actions are unavailable
  • Loading: adds a spinner and disables the controller to prevent multiple submits

Layout

AntD’s layout includes dividers, grids, and space (alignment, direction, size, etc.).

Navigation

Navigational patterns include affix (sticky), breadcrumb, dropdown, menu, page header, pagination, and steps.

Data Entry

Ant Design’s Data Entry components make the design system a preferred choice for enterprise application development. Product teams can build enterprise UIs fast with Ant Design’s out-of-the-box patterns, including:

  • Auto Complete input fields
  • Cascading dropdown menus
  • Checkboxes
  • Date pickers
  • Forms
  • Inputs (text and number only)
  • Mentions (tagging users)
  • Radios
  • Ratings (icons and emojis)
  • Select menus
  • Sliders
  • Switches
  • Time pickers
  • Transfer select boxes
  • Tree selectors
  • Uploads

Data display

Connected to data entry is data display–visualizing and presenting data to users.

  • Avatars
  • Badges
  • Calendars
  • Cards
  • Carousels
  • Collapse (accordions)
  • Comments (user discussions)
  • Descriptions (tables for orders, transactions, records, etc.)
  • Empty (placeholders for empty components)
  • Images
  • Lists
  • Popovers
  • Segmented
  • Statistics (numerical components for dashboards)
  • Tables
  • Tabs
  • Tags
  • Timelines
  • Tooltips
  • Trees

Feedback

Designers use Ant Design’s feedback components to communicate with users.

  • Alerts
  • Drawers
  • Messages (display system feedback at the top of the screen)
  • Modals
  • Notifications
  • Popconfirm
  • Progress
  • Result (success, fail, error, etc.)
  • Skeletons (lazy loading placeholders)
  • Spin (spinners)

Other

The final category includes anchor (table of contents) and back top (back to top), essentially navigational components. There’s also a config provider which enables developers to group components.

Importing Ant Design React Components into UXPin

One of the challenges with any design system is that although there’s “a single source of truth,” designers and engineers still use different UI elements–designers use an image-based UI kit. Engineers use a code-based component library (React, Vue, Angular, etc.).

UXPin Merge creates a real single source of truth. Software developers can bring their product’s design system or open-source component library (like Ant Design) into UXPin, so designers use the same UI elements for prototyping that engineers use to develop the final product.

Merge components are powered by code, giving designers complete interactivity and properties defined by the design system. For example, this Ant Design button includes hover and click interactions by default without changing anything in UXPin!

Designers can access the component’s properties defined by the design system (color, size, type, content, etc.) via the Properties Panel to make changes. 

UXPin renders these as JSX so that engineers can copy/paste from Spec Mode to begin development–no drift, 100% consistency every time!

Ant Design npm integration

UXPin’s npm integration allows designers to import UI elements from open-source component libraries hosted in the npm registry, including Ant Design (antd).

Using the Merge Component Manager, designers simply add Ant Design’s npm details:

  • Package name: antd
  • Assets location: antd/dist/antd.css

And UXPin connects to Ant Design’s GitHub repo via npm. Designers can use Ant Design’s documentation to choose the components and properties they need for prototyping. 

Follow this step-by-step guide for importing Ant Design components into UXPin.

You can also watch CoderOne’s YouTube tutorial, which takes you through the setup and building a basic prototype.

Build fully functioning Ant Design prototypes that produce meaningful results during user testing. Increase your design team’s value by solving more problems during the design process while identifying more opportunities. Visit our Merge page to find out more and how to request access.

The post Ant Design 101 – Introduction to a Design System for Enterprises appeared first on Studio by UXPin.

]]>
Breaking Down Silos to Improve Digital Product Development https://www.uxpin.com/studio/blog/breaking-silos/ Wed, 25 Oct 2023 09:39:21 +0000 https://www.uxpin.com/studio/?p=24234 Breaking down silos makes it easier for everyone involved in a project to work together towards a common goal. Unfortunately, traditional working environments make cross-team collaboration different. Newer tools with a code approach can give you an easier way to eliminate organizational silos. Explore one of them – UXPin Merge. UXPin powered with Merge technology

The post Breaking Down Silos to Improve Digital Product Development appeared first on Studio by UXPin.

]]>
Understanding DesignOps and Its Role in Design Teams copy

Breaking down silos makes it easier for everyone involved in a project to work together towards a common goal. Unfortunately, traditional working environments make cross-team collaboration different.

Newer tools with a code approach can give you an easier way to eliminate organizational silos. Explore one of them – UXPin Merge. UXPin powered with Merge technology help to break the silos between design, development, and product teams at your organization. It allows you to build prototypes with a single source of truth – coded components. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Why Do You Need to Break the Silo Mentality?

Silos create inefficiencies that can adversely affect your teams. You might not even know that silos exist within your organization. Once you learn to notice their effects, though, you will likely spot departmental silos everywhere and see how they interfere with your company achieving a common goal.

Here are 5 common problems created by silos:

  • A narrow focus on individual tasks that do not contribute to the bigger picture.
  • Continued functionality issues that no one within the design team knows how to solve.
  • Longer product development, testing, and release timelines.
  • Lack of insight into how the company could improve its product development process.
  • Inefficiencies that add to project expenses and disappoint stakeholders.

6 Practical Tips to Break Down Silos

image 1

With these issues in mind, consider how the following steps could break down silos and build a better company culture.

Tip #1: Form a leadership team that includes a representative from every department

You can build trust and improve communication by creating a leadership team that includes at least one representative from every department. The leadership team can keep the big picture in mind while steering the project toward its final goal.

Tip #2: Establish a unified vision before breaking the common goal into individual tasks

Communication doesn’t always trickle down to every member of a team. You can eliminate this problem by creating a unified vision and breaking the common goal into individual tasks. The tasks can get assigned to teams.

If you start with small tasks and hope that they come together in the end, you will likely find disappointment.

Tip #3: Invite team members from different departments to meetings

The pandemic forced companies to adopt remote working environments. Luckily, videoconferencing apps stepped up to help colleagues and freelancers from all over the world engage with each other in virtual environments.

Since you might need to invite marketers, developers, designers, and other colleagues, you should choose a videoconferencing service that can accommodate several people. You can even get marketing teams engaged to learn from their insights and help them plan for how they will sell the finished product.

Some of the top options include:

If you expect fewer or more participants, you can usually choose plans that match your unique needs. Choosing the right plan helps ensure that you get input from different teams without spending more money than necessary.

Many teleconferencing apps will also let you track metrics and record your meetings so you can focus on interacting with colleagues instead of taking notes. You should notice improved employee engagement when people can talk to each other without writing down their thoughts. You have to put a premium on engagement when working with remote teams.

Tip #4: Choose collaboration tools that appeal to all departments

Until recently, designers and developers often found themselves at odds when creating digital products. Even when they share long-term goals, their specializations encourage them to think about creating products in different ways.

That’s why there’s drift when it comes to the handoff process. It’s best to use a tool that will allow both devs and designers to collaborate without getting in each other’s ways. A solution with code-powered technology can help with that. 

When designers use already-coded components that can be easily reused, there’s no room for a disconnect between what is designed and what can be coded. Not to mention the time efficiency that tools like that offer – both with designing and coding the final product based on the prototype. 

Create a design system that contains all approved assets

Every team working on a product should have access to a design system that contains all approved assets and components. A design system ensures that diverse teams work toward a shared aesthetic and function even when they do not spend much time talking to each other.

When you go for a code-to-design approach in design on top of that, you don’t have to worry about syncing the changes in the code with the design components as that can be done automatically. Thanks to that you have all the approved assets up to date. 

Share information between teams as you make progress

Regular updates can incentivize developers, designers, and team members of other departments to stay focused on their projects.

Working in a vacuum often feels like a thankless—or even pointless—task. Someone designing icons might lose inspiration because they do not see what role the icons will play in the product. Similarly, a developer tweaking interactive forms might not see the point of their work until they witness it in action.

When you reach a milestone, celebrate by showing how everyone’s cumulative efforts have taken you closer to your ultimate goal. If possible, you might enjoy lunch or a drink together. If you work remotely, you can still enjoy a fun meeting that focuses more on building excitement and trust than working on the project.

Eliminate organizational silos with UXPin Merge

UXPin has always been a code-based tool for digital design. UXPin Merge takes the technology a step further by letting designers design with production-ready components That means developers get the opportunity to review designs from the perspective of fully functional code and quickly implement it

UXPin Merge also works in conjunction with several systems, including Material UI, CA Technologies Mineral UI, and IBM Carbon. This approach makes it even easier for engineers to participate in prototype development and making sure designers use components that have already been coded.

Discover more effective, collaborative ways to solve DesignOps challenges. UXPin Merge can help break down silos, reduce design inefficiency, and improve customer experience to meet your company’s goals better than ever.

 

The post Breaking Down Silos to Improve Digital Product Development appeared first on Studio by UXPin.

]]>
How Storybook Helps Developers With Design Systems? https://www.uxpin.com/studio/blog/how-storybook-helps-developers-with-design-systems/ Thu, 12 Oct 2023 20:33:17 +0000 https://www.uxpin.com/studio/?p=38231 Storybook has become THE DevOps tool for developing and maintaining design systems. The platform’s excellent documentation, intuitive UI, built-in testing, and collaborative features make it the perfect tool for building and releasing components. Understanding how Storybook works can help designers collaborate with front-end devs better and leverage the platform’s features to improve prototyping and testing.

The post How Storybook Helps Developers With Design Systems? appeared first on Studio by UXPin.

]]>
how storybook helps developers with design system

Storybook has become THE DevOps tool for developing and maintaining design systems. The platform’s excellent documentation, intuitive UI, built-in testing, and collaborative features make it the perfect tool for building and releasing components.

Understanding how Storybook works can help designers collaborate with front-end devs better and leverage the platform’s features to improve prototyping and testing.

One of Storybooks best features for design teams is its ability to sync a component library with UXPin using Merge technology. Merge creates a drag-and-drop design environment for assembling layouts fast. Discover UXPin Merge.

Design UI with code-backed components.

Use the same components in design as in development. Keep UI consistency at scale.

Why Devs use Storybook for Design Systems

These are a few reasons why Storybook is the preferred DevOps tool for managing design systems.

Developing and testing components in isolation

Storybook enables engineers to develop UI components in isolation. This development workflow is great for design systems and component-driven front-end frameworks like React–which many organizations use for their component libraries.

design system abstract

Before Storybook, engineers would use sandbox platforms like CodePen and CodeSandbox to build and test components in isolation. Storybook offers this sandbox-style development environment with an intuitive user interface for engineers and stakeholders to view, test, and approve UI elements. They can also combine components and build little prototype patterns for testing.

Quality Assurance

Developing in isolation also benefits design system quality assurance. Engineers can invite designers, product managers, and other stakeholders to test and submit feedback on new UI elements before release.

Documentation

Documentation is crucial for component libraries, but it’s often the last thing anyone wants to think about because it’s time-consuming.

file folder

Storybook’s DocsPage is a “zero-config default documentation” that automates basic doc creation. Product and engineering teams can expand this documentation to create usage and guideline information.

Single source of truth

Managing the codebase for cross-platform applications is challenging. Storybook provides a single source of truth for testing components and patterns for each platform from a centralized environment.

This centralized environment maximizes consistency, as engineers can view components and patterns side-by-side and collaborate with developers responsible for each platform–iOS, Web, Android, etc.

Accessibility

Storybook’s A11y Accessibility add-on enables engineers to automate accessibility testing. The add-on creates a new Accessibility tab for each element showing WCAG standards in three categories:

  • Violations: accessibility issues to resolve
  • Passed: standards met
  • Incomplete: A checklist of accessibility to-dos

How Devs Work With a Design System in Storybook

Storybook’s docs outline a standard five-step design system workflow:

  1. Build
  2. Document
  3. Review
  4. Test
  5. Distribute

Build

Once engineers have set up Storybook and connected to a GitHub repository, they begin developing each component and its variants. For example, a button might have several states, sizes, types, etc.

During the build process, engineers can install Storybook add-ons to automate workflows, integrate with other tools, or enhance the Storybook environment.

Document

Engineers can add comments to components during the build process to enrich the automatically generated documentation. This example from Storybook’s docs demonstrates how these comments appear in your Storybook UI.

Storybook documentation for developers and designers
Storybook's docs for design system elemenets

This documentation is crucial for the next step, Review, because it shows stakeholders how front-end developers interpret designs and what each ‘prop’ represents.

Review

The component is now staged and ready to be promoted to the design system. Engineers can invite designers, product managers, and other stakeholders to review the element to ensure it meets interactive and aesthetic expectations.

Traditionally, engineers would have to create a staging environment or meet with stakeholders to present the component. With Storybook, it’s as easy as visiting a website, making the review process more accessible. Stakeholders can log in on their own time, interact with the component, read the docs, and leave feedback.

If there are any changes, engineers may iterate steps one to three until the new components meet all stakeholder’s expectations.

Test

Jest and Playwright power Storybook’s framework-agnostic testing. When engineers commit the component, Storybook tests its code to ensure there are no programming errors, including:

  • Visual tests (visual regression tests): creates screenshots of every commit and compares them to catch UI inconsistencies.
  • Accessibility tests: runs code against WCAG standards and reports any issues.
  • Interaction tests: checks interactivity and states to ensure there are issues with links or functionality.
  • Test coverage: examines code against industry standards, including conditions, logic branches, functions, and variables.
  • Snapshot tests: identifies markup changes by comparing rendered code to the baseline.

Distribute

The final step is to update the design system package on GitHub. Once complete, it’ll automatically sync the changes to npm. Engineers can install the updated npm package to use the new component(s).

Syncing Design With Storybook Through UXPin Merge

If your design team works with UXPin Merge, these engineering changes will also be distributed to UXPin’s design editor and notify team members of the latest design system release.

uxpin merge git react storybook library

UXPin’s Version Control allows designers to change to the latest release whenever they choose and switch to earlier versions of the design system.

What is UXPin Merge?

UXPin Merge is a technology that bridges (or Merges) the gap between design and development. Organizations can sync a design system hosted in a repository to UXPin’s design editor so designers can use the same component library as engineers to build fully functioning prototypes.

Merge components are fully interactive and include React props (or Args for Storybook) defined by the design system, including colors, typography, states, sizes, etc. These props appear in UXPin’s Properties Panel so designers can adjust components to meet prototyping requirements while maintaining absolute consistency and zero drift.

Enhanced testing and stakeholder feedback

Merge prototypes look and function like the final product because they use the same components. For example, a button in Storybook will render exactly the same in UXPin, including interactivity and styling. 

Usability participants and stakeholders can interact with these UI elements and Merge prototypes like they would the final product, giving design teams accurate, actionable testing insights.

“It’s been so helpful for us to have these high-fidelity prototypes built with UXPin. We build high-fidelity prototypes much quicker, and we get immediate feedback after the session. If there’s something we can fix immediately, we make that change before the next participant and get feedback much faster than before.” Erica Rider – UX Lead EPX at PayPal, talking about how UXPin Merge enhances user testing.

Scaling component libraries with UXPin Patterns

Design systems evolve as products grow and scale. The design system team is constantly making changes and promoting new UI elements and patterns.

UXPin Patterns enables design teams to create new patterns for the design system–as one-offs or as a best new practice. Designers can combine UI elements (atoms and molecules) from the design system to create new patterns or use UXPin’s npm integration to import components from open-source libraries if the current library doesn’t support their needs.

designops efficiency arrow

Designers can save and share these patterns across the organization, so teams can continue prototyping while they wait for the DS team to follow governance procedures to develop and release the new component–following the five-step Storybook development process outlined above.

Stage four design system maturity with UXPin Merge

Iress achieved stage three design system maturity in 2017. For the next few years, the design system team searched for a design tool to take them to the next and final maturity levelStage Four – Fully Integrated:

  • Design in (no) code
  • No design drift
  • Consistent design
  • Seamless (no) handoff

Merge solves these four design system challenges by default.

  • Designers use ready-made components with styling and interactive properties–no designing from scratch. Drag and drop UI elements to design new products.
  • No code development. Engineers install a package and copy prototypes that use the exact same UI library. UXPin renders JSX for each component, so engineers copy/paste to apply styling and interactivity.
  • Drift is nonexistent when everyone uses the same component library (design and engineering teams) with the same constraints.
  • Using the same components with built-in constraints ensures ultimate consistency across design teams.
  • With Merge, there’s a seamless handoff because designers and engineers use the same single source of truth. Designers don’t have to explain UIs or provide endless documentation explaining their prototypes–they already look and function like the final product.

UXPin reduces the four stages of design system maturity to just two.

  1. Design your library using UXPin’s design editor.
  2. Convert designs to code components, add them to a repository, and sync back to UXPin using Merge. Iterate to scale.

Take your product development to the next level by Merging the two best design and engineering tools for design systems. Request access to UXPin Merge.

The post How Storybook Helps Developers With Design Systems? appeared first on Studio by UXPin.

]]>