Saturday, April 27, 2024

Atomic Design Pattern: How to structure your React application by Janelle Wong

atomic design brad frost

Unfortunately, aggressive timelines and finite budgets detract from the effort required to make style guides happen, even when teams are committed to the cause. It’s true that devising an interface design system and creating a custom pattern library initially takes a lot of time, thought, and effort. But once the pattern library is established, subsequent design and development becomes much faster, which tends to make everybody happy. Front-end frameworks are tools that provide a specific solution and a particular look and feel.

Establishing content and display patterns

In the same manner, each interface atom has its own unique properties, such as the dimensions of a hero image, or the font size of a primary heading. These innate properties influence how each atom should be applied to the broader user interface system. Unlock your business potential with our committed team driving your success. Going back to the website header example, the home navigation molecule can combine with the featured image molecule to create the header organism.

Design systems save the day

We tend to talk about a future that never comes, and instead we set it, forget it, then move on to the next shiny project. Static comps can be great for shaping the overall aesthetic direction of a template, but users will ultimately view and interact with the experience in a browser. That’s why designs should be quickly translated into the final environment and iterated on there. Initially, in-browser designs tend to look crude at best, which is A-OK. The intention is to stub out the template’s basic information architecture in the browser, define patterns, wire up those patterns using includes, and begin the patterns’ general markup.

Atomic Design System in UX: A Comprehensive Checklist

The design system holy grail involves creating an environment where the pattern library and live applications are perfectly in sync. The idea is that you should be able to make a change to a UI pattern and see that change automatically reflected in both the pattern library and anywhere the pattern is included in production. As smart as your team surely is, it’s quite possible you won’t think of every conceivable pattern to include in your design system right out of the gate. As the system is applied to more products, gaps will inevitably emerge where the needs of the application aren’t solved by existing patterns. In such cases, it will become clear that new patterns will need created to address these needs.

Chapter 4

How we get that front-end code into a production environment, with complex application logic and back-end code, is the task at hand. The result is a gorgeous decision tree that maps out exactly what processes need to happen to add a new pattern to the design system. There are likely many more specific questions to answer, but the point is your team should have answers and processes in place to address inevitable changes to the system. The design token color-brand-blue is a critical ingredient of a UI, but it’s not exactly functional on its own. It needs to be applied to an “atom” (such as the background color of a button) in order to come to life. This allowed us to view the header within the context of the rest of the pages, sketchy as they initially were.

Atomic Prototyping: Fastest way to beautiful interactions - SitePoint

Atomic Prototyping: Fastest way to beautiful interactions.

Posted: Thu, 11 Jun 2015 07:00:00 GMT [source]

Style guide benefits

Ultimately, it doesn’t really matter what tool you use, but everyone should agree on a single tool to make it easier to combine at the end of the exercise. Introducing a new way of doing things is no easy task, as it requires changing people’s existing mentalities and behaviors. Getting stakeholders and clients on board with establishing a design system involves constant education, in addition to a bit of marketing savvy. As the number of devices, browsers, and environments continues to increase at a staggering rate, the need to create thoughtful, deliberate interface design systems is becoming more apparent than ever. As much as I adore the pattern libraries out there, I can’t help but notice a lack of structure in many of them.

Maintaining Design Systems

atomic design brad frost

One course of action is to simply remove the custom-styled dropdown from that particular page and call it a day. Now, anywhere the dropdown pattern appears will reflect those changes and will likely see similar performance improvements. There’s a very real risk that a style guide will end up in the trash can right alongside all the PSDs, PDFs and those other static artifacts of the design process. Despite everyone’s best intentions, all the time and effort that went into making a thoughtful design system and style guide can go straight down the drain. Yet still, folks find it necessary to contact me in order to “correct” the language I chose. If your team decides that atomic design needs to have 9 stages that are named after the members of the band Chicago, then go for it!

Systematic UI design

Atomic design gives us the ability to traverse from abstract to concrete. Because of this, we can create systems that promote consistency and scalability while simultaneously showing things in their final context. And by assembling rather than deconstructing, we’re crafting a system right out of the gate instead of cherry picking patterns after the fact.

Read along as we introduce this interesting approach to user experience design and learn how to create an efficient design system based on the principles of atomic design. Atomic design methodology helps limit the total number of components in your design system. It also helps establish and standardize a vocabulary around your design system. So when multiple developers are discussing a particular component, they’re all calling it the same exact thing.

Another way to extend the functionality of the pattern library is to include guidelines for native platform patterns alongside web-based patterns. We can look to Intuit’s Harmony design system once again for an example of how native mobile platform patterns for iOS and Android can live beside their web-based counterparts. Baking this communication into the team’s everyday workflow keeps makers, users, and stakeholders engaged, and helps reassure users that the pattern library is being actively maintained and improved. Evangelizing your design system efforts can and should happen even before the system is off the ground. At the onset of your project, you can set up places to document progress of the project to help garner awareness and excitement for the design system effort.

This section presents a generic atomic design system checklist that you can mold according to your needs. At this point, the atomic design system moves away from both the chemical and biological worlds. Now is the time to create templates for different pages and screens that can be used to create the final designs. The organisms created thus far are functional blocks of UI elements. These blocks can be used in a variety of ways across different pages to meet the needs of the design. Creating a template is like working on a style guide, where designers provide the standards that need to be followed.

After all, we’ve discussed the importance of modular thinking, we’ve learned a methodology for crafting deliberate UI design systems, and we’ve showcased tools for creating effective pattern libraries. I’ll introduce techniques for design teams to get started with systematic design. One particularly useful technique is conducting an interface inventory. I’ll define what an interface inventory is and how to conduct one. I’ll also reference other tools (like Stlyify.me and Nicole Sullivan’s Typo-O-Matic) that help deconstruct an existing interface into its component parts. I’ll also discuss pattern library tools and resources to help designers kickstart their own design systems.

Patterns should be created, styled, and plugged in wherever they’re needed. Designers can react to these in-browser implementations and can create spot comps in static tools to help iron out responsive wrinkles at the organism level. This back-and-forth between static and in-browser tools establishes a healthy loop between design and development, where the front-end code becomes more solid and stable with each iterative loop. As we discussed earlier, front-end developers are often relegated to crude production machines that are brought into the project only after all the design decisions are made. This archaic process keeps disciplines out of sync with one another and prevents teams from working together in a meaningful way.

No comments:

Post a Comment

Behind The Song Lyrics: House of the Rising Sun, The Animals

Table Of Content The Quitting Song Of George Harrison For The Beatles Cyndi Lauper, ‘Time After Time’ More The Animals Lyrics Videos by Amer...