Atomic Design: The Secret to Building Powerful User Interfaces

Edwin Kato
The Andela Way
Published in
3 min readSep 15, 2017

--

As software developers, we are tasked with creating beautiful and captivating interfaces for almost every project we work on. This does not have to be a daunting task as long as one chooses the right design for the project.

Challenging as it might seem, the secret always lies in the method used during the design process. The design phase of any software solution is very critical as it determines the success, efficiency and maintainability of the software. Poorly designed software is difficult and costly to maintain. It is always best to design software in such a way that makes it easy for other people to continue where you left off because let’s face it, none of us is going to live forever

When it comes to user interfaces, my secret has always been to use atomic design. This has enabled me to build powerful and generic interfaces that can be reused in different projects.

In case you are wondering what atomic design is,

Atomic design refers to the creation of a system of pieces that can come together to create elements and templates that can be reused.

How does it work?

The first step is to identify and categorize the different pieces of your user interface. The different categories used are atoms, molecules, organisms, templates and pages.

Atoms
Think of an atom as the smallest piece of your user interface such as a button, header or paragraph. These come together to form molecules.

Molecules
Molecules are a combination of different individual elements (atoms). A good example of a molecule would be the combination of an input field with a search button to form a search element.

Organisms
The molecules are further combined to create organisms. At this level, functional user interface components can be seen come to life. A simple example of an organism is a chat interface such as one seen on Facebook or even a navigation bar with a search button and logo.

Templates
Templates are a combination of different organisms. These are more like wire frames of the final product with everything placed where it should be.

Pages
Finally, pages are a high fidelity version of our templates.This is where even the design inept can understand what we’re building. This is where everything comes to place.

Advantages of using atomic design.

  • It makes it simple and easy understand the layout.
  • Quicker prototyping resulting from reusability of the user interface pieces.
  • It smoothens the process of updating the user interface. This is because a change in the component does not require a user to change multiple places in the code. A simple change in the component will be reflected system wide.
  • Fewer components and a smaller code base makes for a more manageable product.
  • Build once and reuse everywhere. The beauty about it is that these components can be reused even in other projects.

Conclusion

Kudos if you made it to this point, we can assume you know a little science.

On a more serious note, we owe it our clients and to ourselves to always come up with brilliant designs and quality software. Think of Atomic design as one of the ways to do that.

Not only does it provide an efficient way to build your solution fast, it also makes it easier for you to maintain your system over time.

Spend a little more time thinking through your core and gain an incredible amount of time back as the process unfolds.

--

--