GSoC 2023: OpenMRS | Coding period, Week 07

Deborah Kalungi Nsubuga
3 min readJul 18, 2023

--

In this week’s update, I focused on responding to PR reviews and implementing Carbon styling in our project. Initially, I found myself questioning the logic behind Carbon designs and the emphasis my mentor placed on using Carbon styling. However, after conducting thorough research, I discovered the significant benefits of adopting Carbon styling. In this article, I will share my findings and shed light on why integrating Carbon design principles has transformed our application.

  1. Predefined Styles for Consistency: One of the key advantages of using Carbon styling, specifically the @carbon/styles package, is the availability of pre-defined styles for various UI components. These styles are meticulously crafted to align with the design guidelines of the Carbon Design System. By leveraging these predefined styles, we achieve a cohesive and professional look and feel throughout our application. Buttons, forms, typography, layouts, and more are unified, ensuring consistency and enhancing the user experience.
  2. Design Tokens for Systematic Styling: The Carbon Design System extensively utilizes design tokens — a centralized approach to manage key design properties such as colors, typography, and spacing. With @carbon/styles, we gain access to a comprehensive set of design tokens that serve as a single source of truth for our design system. By leveraging these tokens, we ensure consistency in colors, typography, and spacing across different components and screens. Any changes to the design tokens propagate seamlessly throughout the application, simplifying maintenance and enabling a systematic approach to styling.
  3. Customizable Themes for Branding: @carbon/styles empowers us to customize the default theme of the Carbon Design System to align with our brand or project-specific requirements. Through simple modifications to the design tokens, we can define our own color palette, typography, and other visual properties. This customization ensures that our application maintains a consistent visual identity while reflecting our unique branding. With Carbon styling, we merge the benefits of a robust design system with the flexibility to tailor it to our specific needs.
  4. Responsive Design Made Effortless: One of the remarkable features of @carbon/styles is its built-in support for responsive design. The responsive styles adapt seamlessly to different screen sizes and device types. As a result, our application maintains a consistent appearance and functionality across various devices and screen resolutions. The responsive styles provided by @carbon/styles eliminate the need for manually writing complex CSS code, simplifying the creation of responsive layouts and enhancing the user experience across all devices.
  5. Streamlined Development with Utility Functions: @carbon/styles provides a collection of utility functions that enable us to apply consistent styles and design patterns in a concise and standardized manner. These utilities handle common design tasks such as spacing, layout, typography, and more. By leveraging these utility functions, we streamline our development process, reduce code duplication, and ensure consistent styling throughout the application. These functions serve as a toolkit for maintaining a cohesive design language and simplify the implementation of design patterns.

In conclusion, adopting Carbon styling brings about consistency and efficiency to our application. Through the use of predefined styles, design tokens, customization options, responsive design support, and utility functions, we achieve a cohesive and professional user experience. Embracing Carbon styling empowers us to create a visually appealing and responsive application, simplifying development and ensuring UI consistency. #CarbonStyling #ConsistentUI

--

--