<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Design System Archives - Efigence</title>
	<atom:link href="https://www.efigence.com/category/design-system/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.efigence.com/category/design-system/</link>
	<description>Custom Development &#38; Design for Finance</description>
	<lastBuildDate>Fri, 13 Sep 2024 13:22:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Beyond aesthetics: How design systems impact business?</title>
		<link>https://www.efigence.com/ux-ui/design-system-business-impact/</link>
		
		<dc:creator><![CDATA[Aleksandra Bartosiak]]></dc:creator>
		<pubDate>Fri, 11 Aug 2023 11:26:13 +0000</pubDate>
				<category><![CDATA[Design System]]></category>
		<category><![CDATA[UX/UI]]></category>
		<guid isPermaLink="false">https://www.efigence.com/design-system-business-impact/</guid>

					<description><![CDATA[<p>The post <a href="https://www.efigence.com/ux-ui/design-system-business-impact/">Beyond aesthetics: How design systems impact business?</a> appeared first on <a href="https://www.efigence.com">Efigence</a>.</p>
]]></description>
										<content:encoded><![CDATA[
    <section id="wysiwyg_36" class="layout wysiwyg" data-block-theme="light" data-top="medium" data-bottom="medium">
        <div class="row" data-view="1">
            <div class="columns small-12">
                <p><b><span data-contrast="none">Every conscious and dynamically developing company in the production of its digital products first builds and then develops its design system. Thanks to it, creating new applications and websites is much easier because you get the basics that can then be freely modified and developed according to your own needs and expectations. This elementary knowledge significantly increases the dynamics of digital production, thanks to which the brand is perceived as modern, progressive, ahead of the competition, and attractive. </span></b><b><span data-contrast="auto">What exactly is a design system? How does it affect the aesthetics of design and the business itself?</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">What is a design system?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="none">The design system takes the form of a library with ready-made, standard solutions used by designers in their work. It’s not just a <a href="https://www.efigence.com/technology/how-motion-design-support-ux-in-mobile-app/">visual presentation</a> but something much bigger. The individual elements of the project are implemented in such a way that their operation is consistent with the available documentation and the so-called best practice. The design system <a href="https://www.efigence.com/software-development/app-development-cost/">significantly speeds up the work</a> of entire production teams, including developers and designers. This definitely works in the so-called agile methodologies because the ability to update or correct one component has a positive effect on the entire design of the system. Quick delivery of the system also gives the opportunity to test its effectiveness on directly implemented solutions, not only on their prototypes.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">It should be remembered that the aforementioned library of design system is intended to increase the efficiency of designers’ work and is a library of pre-built components. However, all components have already been <a href="https://www.efigence.com/technology/software-qa-tests/">properly tested</a> and implemented in other projects from many industries and branches of business.</span><span data-contrast="auto">1</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How do design systems go beyond the visual aspects of design?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">As we already know, the design system functions in the form of a library, which contains extensive knowledge about code components and how they can be used in <a href="https://www.efigence.com/services-digital-advisory/">digital and business solutions</a>. Thanks to the fact that they have already been tested, they are fully ready for use and often contain information on how to implement them in the code of a given digital product.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">The use of such a component </span><b><span data-contrast="auto">makes the language of a given software or application consistent and standardized</span></b><span data-contrast="auto">.</span><span data-contrast="auto"> This is extremely important because, during the implementation of a given project, organizational changes and changes within the team may occur.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">Examples of business outcomes influenced by design systems</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Properly used possibilities of the design system can result in many benefits for the business. They significantly improve business outcomes. Thanks to them, the </span><b><span data-contrast="auto">ROI</span></b><span data-contrast="auto"> (return on investment) indicator, which determines how effectively a given business conducts its activities, is significantly improved.</span><span data-contrast="auto">3</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<img fetchpriority="high" class="alignnone size-full wp-image-3951" src="https://www.efigence.com/wp-content/uploads/2023/08/Frame-45.png" sizes="(max-width: 1920px) 100vw, 1920px" srcset="https://www.efigence.com/wp-content/uploads/2023/08/Frame-45.png 1920w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-45-768x112.png 768w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-45-1536x223.png 1536w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-45-200x29.png 200w" alt="" width="1920" height="279" />
<p><span data-contrast="auto">System design increases the interaction and involvement of people using a given digital product. It also positively affects the user experience and improves business value by </span><b><span data-contrast="auto">maintaining brand consistency </span></b><span data-contrast="none">and consistency in the operation mechanics of the entire design system</span><b><span data-contrast="auto">.</span></b><span data-contrast="auto"> All these factors have a big impact on the business and its success.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Below are some examples that show how system design can influence many business aspects, including </span><b><span data-contrast="auto">revenue growth, increased efficiency, reduced development and customer satisfaction</span></b><span data-contrast="auto">.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><strong>Read also:</strong> <a href="https://www.efigence.com/banking/the-10-most-useful-lessons-from-more-than-a-10-years-of-experience-in-building-digital-banking-platforms-part-1/">The 10 most useful lessons from more than a 10 years of experience in building digital banking platforms</a></p>
<h2><b><span data-contrast="auto">Sparkbox case study</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">One of the proofs of the effectiveness of the design system is the case study provided by Sparkbox. A team of eight developers was tasked with developing the code for the contact form in Figma. Two methods were used for this purpose. First, the code from scratch was developed. It was then developed with the help of the Carbon design system. While developing the code, developers were timing themselves.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Using the design system increased time savings by 47%. Developers developed code that was more visually consistent with the design and more accessible.</span></p>
<h2><b><span data-contrast="auto">Shopify case study</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Another example could be Shopify. By taking advantage of the design system, they significantly reduced their development costs by 50%. At the same time, their developers devoted much less time to their work. They could focus not only on developing the basics but more on improving them and increasing their functionality. </span><span data-contrast="auto">To scale their features and make their application consistent, they currently use Polaris—their own design system.</span></p>
<p><span data-contrast="auto">Design systems not only accelerate the work of the development team but also completely change the way of thinking about how to perform duties. The design system significantly improves collaboration between team members, even if they are scattered around the world. It also increases the quality of work and allows you to focus on new tasks thanks to design patterns. The component library reduces the time needed to develop a project</span><span data-contrast="auto">8</span><span data-contrast="auto"> and increases the dynamics of competitiveness in business.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How does a design system contribute to the efficiency of design and development teams?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Design systems significantly improve the efficiency of design and development teams. Most importantly, they are a source of components that are ready to use and complementary to existing code. Thanks to the established guidelines, their use is not problematic and is clearly explained step by step.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto"><a href="https://www.efigence.com/services-custom-software-development/">Development teams</a> also don’t have to spend time on “reinventing the wheel”. The developed code is transparent, understandable, and effective, and the possibility of error in the code is significantly minimized. At the same time, it is consistent with the other components used in the code. And the unified language increases the </span><b><span data-contrast="auto">effectiveness of work</span></b><span data-contrast="auto">, because it is understandable for each project and each project participant. Designers, developers and other employees can effectively use one source, which is the design system.</span></p>
<p><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-contrast="auto">The graphic below shows what the efficiency curve of a design system looks like. Initially, performance is reduced, but with the progress in the development of the design system, productivity increases significantly.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<img class="alignnone size-full wp-image-3950" src="https://www.efigence.com/wp-content/uploads/2023/08/Frame-48.png" sizes="(max-width: 1920px) 100vw, 1920px" srcset="https://www.efigence.com/wp-content/uploads/2023/08/Frame-48.png 1920w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-48-768x341.png 768w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-48-1536x682.png 1536w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-48-200x89.png 200w" alt="" width="1920" height="852" />
<h2 aria-level="2"><b><span data-contrast="auto">How do design systems enhance and accelerate the product development process?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Thanks to design systems, it is possible to enhance and accelerate the <a href="https://www.efigence.com/software-development/app-development-cost/">product development process</a>. The design system is the source of code snippets, documents, and other digital assets that are reusable and design-established.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Work on the product can take less time, and thanks to pre-tested components, you can focus on further development rather than on generally available basics. This significantly increases productivity. </span><b><span data-contrast="auto">Developers and designers can focus on iterations and deployment of new features</span></b><span data-contrast="auto">.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Developers can take care of the dynamic development of the product and increase its consistency and availability for the end user. </span><span data-contrast="none">The design system can also be developed in a way that takes into account the WCAG guidelines.</span><span data-contrast="auto"> In times when the product life cycle is shorter, the ability to automate and use components in different versions allows you to keep up with changes and quickly implement new solutions.</span><span data-contrast="auto">10</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How does a design system contribute to creating a consistent user experience?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="none">The components that are available in the design system are pre-tested, or they are built based on an already existing, implemented solution. However, it is impossible to determine the usefulness of a given component reliably. Whether they are understood by the user and function correctly depends on the context in which they are used. When a certain variant becomes common in many solutions, the user develops certain habits. He expects a particular component to perform a function he already knows. Therefore, they are known to increase a consistent <a href="https://www.efigence.com/ux-ui-design/">user experience</a> because they become visually friendly and identifiable.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="none">Also, combining them together is not a problem. It is also common to create components that are developed in several variants – each variant for a <a href="https://www.efigence.com/ux-ui/ux-bordering-two-worlds/">different device</a>. Thanks to this, they will be displayed differently on devices with a desktop resolution than on mobile RWD running on a computer. The variant developed for mobile resolution displayed on the phone with the use of the device recognition function will look even different.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">The individual elements work together, thanks to which the final product is responsive and responds to the needs and expectations of users on different devices and operating systems. The aforementioned visual consistency significantly supports UX design. Users can use features that are visually consistent throughout the application or website.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">The design system makes it possible to create a coherent image of the brand and its products that function in the same way, and the </span><b><span data-contrast="auto">product structure is visually recognizable across all screens for each user</span></b><span data-contrast="auto">.</span><span data-contrast="auto">11</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2><b><span data-contrast="auto">Can consistency in user experience impact customer satisfaction and retention?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Definitely, consistency can have a big impact on whether current users will be satisfied with using a particular digital product or rather turn to the competition.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Products and services with coherent components increase the intuitiveness of use, build trust, and make it easier to navigate the website or use the product. Familiarity is a way to increase the simplicity of use, which allows the end user to quickly and effectively achieve the intended goal.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><b><span data-contrast="auto">Consistency can therefore affect the loyalty</span></b><span data-contrast="auto"> of the user and encourage him to continue using the services or products of a given business. Therefore, it affects the overall experience and reduces cognitive load.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Nowadays, users interact with the company through many sources. These are social media, websites, web applications, software, mailing, etc. The lack of brand cohesion can be disastrous for the entire business, reduce the customer’s trust in the business and cause they will no longer identify with it.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p>Read also: <a href="https://www.efigence.com/technology/project-risk/">What is project risk?</a></p>
<h2><b><span data-contrast="auto">A study by Lucidpress – the impact of brand consistency on sales results</span></b><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">A study by Lucidpress clearly shows that consistency has a big impact on users and can increase business revenue by up to 33%. However, according to a survey conducted by McKinsey, a strong brand can increase sales and increase the likelihood of a customer buying from a given company by up to 3.5 times.</span><span data-contrast="auto">12</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">Can a well-implemented design system influence a company’s brand reputation?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Using the solutions offered by the design system and their proper implementation can have a positive impact on the brand’s reputation. Carefully implemented components of the design system make the brand visually consistent across all sales and promotion channels. This inspires trust, </span><b><span data-contrast="auto">enables customers to identify with the brand</span></b><span data-contrast="auto">, and proves its reliability in the message addressed to the final customer.</span></p>
<p><span data-contrast="auto">A well-implemented design system is a system where attention is paid to details. The visual version represents full professionalism, responsible and serious approach to creating the presented solutions and to the user himself. It is also a business commitment to <a href="https://www.efigence.com/banking/digital-transformation-creating-a-banks-digital-transformation-strategy/">provide a high-quality experience</a> which users appreciate and demonstrate in their loyalty to the business.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Well-used design system capabilities make the brand more recognizable, and competitive, evoke positive emotions, have positive associations and make users identify with it. Over time, they can also recommend specific products or services themselves, thanks to which they become, in a way, ambassadors of a given brand.</span></p>
<h2 aria-level="2"><b><span data-contrast="auto">Case studies demonstrating the impact of design systems on business outcomes</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">The results of the survey directed by Sparkbox show how much the design system affects the business outcome.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Information was collected from two groups of respondents. One of them were in-house respondents representing their own experience with design systems. The second group of respondents were people representing the customer’s point of view.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<img class="alignnone size-full wp-image-3946" src="https://www.efigence.com/wp-content/uploads/2023/08/Frame-49.png" sizes="(max-width: 1920px) 100vw, 1920px" srcset="https://www.efigence.com/wp-content/uploads/2023/08/Frame-49.png 1920w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-49-768x568.png 768w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-49-1536x1136.png 1536w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-49-200x148.png 200w" alt="" width="1920" height="1420" />
<p><span class="TextRun SCXW226519627 BCX9" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW226519627 BCX9">As you can see in the picture above, the biggest priorities and challenges include encouraging adoption, engaging contributors, and overcoming debt.</span></span><span class="EOP SCXW226519627 BCX9" data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<img class="alignnone size-full wp-image-3949" src="https://www.efigence.com/wp-content/uploads/2023/08/Frame-50.png" sizes="(max-width: 1920px) 100vw, 1920px" srcset="https://www.efigence.com/wp-content/uploads/2023/08/Frame-50.png 1920w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-50-768x426.png 768w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-50-1536x853.png 1536w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-50-200x111.png 200w" alt="" width="1920" height="1066" />
<p><span data-contrast="auto">The photo above clearly shows that many teams believe that their design systems create debt.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">What did the respondents consider to be the reason for debt?</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<ul>
<li data-leveltext="●" data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;●&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">lack of complete documentation and reliable technical implementation,</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></li>
<li data-leveltext="●" data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;●&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">implementation of design system components when the product is already along the lifecycle,</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></li>
</ul>
<ul>
<li data-leveltext="●" data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;●&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">making changes only after the product has been released.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></li>
</ul>
<p><span data-contrast="auto">To sum up, in order to gain maximum benefits, it is important to convince yourself to the adoption stage and increase the involvement of employees in working on the design system. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">It is also essential to track design system metrics because these data allow for a clear recognition of the correlation between the design system and business success. Then it is easier to determine that successful design systems allow businesses to benefit greatly from them. It is also significant to realize that this is only a path to success and not the only exclusive means to achieve it. But it can still be seen that design systems contribute to revenue generation and should be treated as an investment in the future of business.</span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How does a design system help in the long-term reduction of project and technical debt?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Using the design system is an investment that contributes to </span><b><span data-contrast="auto">reducing project and technical debt in the long run</span></b><span data-contrast="auto">. It is a source of established components that can be reused without having to re-develop them from scratch.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">It is also a way to avoid duplicating tasks that employees have already done and reduce the likelihood of inconsistencies. The use of standard solutions provides the basis for maintaining high-quality code.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">The design system enables the use of established solutions, which significantly reduce the risk of errors, and the code is manageable and easy to maintain.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">The design system provides clarity and a solid foundation for understandable communication between all employees and project groups. With a design system, communication between people involved in designing an application or website will be easier and more convenient. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Thanks to a well-developed design system, you can avoid many mistakes and quickly reduce project and technical debt in a relatively short time.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How can design systems support scalability as a company grows?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">The design system supports scalability for large and complex products. It is also the best solution for a business that implements long-term projects. Design system effectively supports the work of large and extensive teams.</span></p>
<p><span data-contrast="auto">This means that thanks to the design system, you can effectively develop a small, single product and efficaciously work on creating a multi-product offer. The centralized design system makes it easy to maintain consistency and libraries available in multiple technologies.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">What are the consequences of using a design system in terms of cost savings?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">When do the costs associated with creating a design system pay off and allow you to save money? This moment is the next project to work on in a particular business. A growing company collects a database of information, knowledge, and code samples that can be used in future projects. Predefined components are reusable, which saves time and money.</span><span data-contrast="auto">18</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><b><span data-contrast="auto">Cost savings are also based on the use of established design patterns, increased design efficiency, and shorter time spent on product or service development.</span></b> <span data-contrast="none">The design time can be significantly reduced because the low-fidelity issue can be completely omitted, thanks to the design system. In this way, you can go straight to creating projects that do not require as much work to achieve a ready-made solution. Also, the business itself receives the finished project much faster because it can familiarize itself with High-Fidelity projects much more efficiently than low-fidelity projects.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Saving time means saving money and is also determined by the minimized number of bugs that would have to be debugged. All individual elements contribute to large savings in the business and the opportunity to allocate this time and money for even more dynamic development.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How does a design system facilitate better collaboration between designers and developers?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">It is not without a reason that the design system is referred to as a single source of truth.</span><span data-contrast="auto">19</span><span data-contrast="auto"> It makes collaboration between designers and developers more efficient. They communicate using one unified language and can rely on the components that underpin their work. They receive a unified source of information and documentation that they can implement without the need for repeated consultation about the basic aspects of the brand and the assumptions of its visual presentation.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How can a design system assist in onboarding new designers or developers into a team?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">The design system is a great help for new team members. It is a source of well-documented knowledge about unified design language, guidelines, and resources. This is the basis of the work of all employees, which is used by both groups of designers and developers.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Providing new employees with access to this knowledge base will give them a chance to </span><b><span data-contrast="auto">quickly implement and understand the basics</span></b><span data-contrast="auto"> on which a specific project or even the entire brand is based. New employees gain self-confidence and quickly adapt to the expectations of the brand. </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">After they master the unified language, they can immediately propose the development of existing solutions and participate in effective collaboration between teammates. What is important, new developers and designers can always return to the design system and use it as a fundamental source in their work.</span></p>
<h2 aria-level="2"><b><span data-contrast="auto">What is the role of design systems in reducing errors and inconsistencies in the final product?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Considering that the components included in the design system are well-tested and proven, using them greatly reduces the number of errors made. Placing these components in the design system means that they are based on established design principles. Applied as recommended, they will not cause errors.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">When do errors occur? The problem arises when decisions about a given component are made ad-hoc or components from the design system are not used at all in the developed projects.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">No need to develop basic solutions from scratch also results in better code quality, its readability, and finally greater consistency of products developed for a given brand.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How can a design system help in maintaining overall product quality?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">The great advantage of the design system is that it is treated as a centralized repository for all employees, in particular, designers and developers.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">However, the quality of the product itself is based on consistency and offering the final customer a flawless solution. Reusable components and best practices make it easier to maintain dynamic product development at the highest level while taking into account a better user experience.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How can design systems help align business goals with user needs?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Design systems is not a way to align business goals with user needs. It’s just a middle ground, a collection of proven design fundamentals and code snippets that have worked for previous projects and helped them succeed.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Their targeted development can have a very positive impact on business goals. It can also facilitate the direction of change and development that focuses on the needs of the user. Therefore,</span><b><span data-contrast="auto"> it will be a means to create user-friendly products that will enable the fulfilment of business goals</span></b><span data-contrast="auto">.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">How does the iterative improvement of a design system contribute to continuous improvement in business outcomes?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">The design system is a product itself. It should not be treated as a finished tool, but a living project that requires improvement and work on it. That is why it is so important that the components and the knowledge gathered about them are updated, tested, and adjusted.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">The graphic below shows what the iteration process should look like.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<img class="alignnone size-full wp-image-3948" src="https://www.efigence.com/wp-content/uploads/2023/08/Frame-51.png" sizes="(max-width: 1920px) 100vw, 1920px" srcset="https://www.efigence.com/wp-content/uploads/2023/08/Frame-51.png 1920w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-51-768x379.png 768w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-51-1536x758.png 1536w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-51-200x99.png 200w" alt="" width="1920" height="947" />
<p><span data-contrast="auto">Changes in the design system should take place along with the evolution of the product. It is necessary to take into account the </span><b><span data-contrast="auto">changing user needs and user feedback, technological advancement</span></b><span data-contrast="auto"> while not forgetting about creating user-friendly products, consistency essential for the brand and achieving business goals. Continuing iterative improvement and maintenance is inevitable and essential for business development.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<h2 aria-level="2"><b><span data-contrast="auto">What are the challenges companies may face during the implementation of a design system, and how can they be overcome?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">Many companies believe that they should decide to introduce a design system. However, there are many obstacles that block businesses from initiating change. We are talking here about difficulties with adoption, technical debt, and maintaining consistency while the company still uses different technologies. However, changes may proceed step by step:</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<img class="alignnone size-full wp-image-3947" src="https://www.efigence.com/wp-content/uploads/2023/08/Frame-52.png" sizes="(max-width: 1920px) 100vw, 1920px" srcset="https://www.efigence.com/wp-content/uploads/2023/08/Frame-52.png 1920w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-52-768x830.png 768w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-52-1421x1536.png 1421w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-52-1895x2048.png 1895w, https://www.efigence.com/wp-content/uploads/2023/08/Frame-52-185x200.png 185w" alt="" width="1920" height="2075" />
<p><span data-contrast="auto">How to deal with the changes and the challenge, which is undoubtedly the introduction of the design system?</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><b><span data-contrast="auto">Adoption can be approached progressively.</span></b><span data-contrast="auto"> Work on the implementation of the design system should be based on providing employees with appropriate documentation that will enable the development of the system. Throughout the entire process, there must be </span><b><span data-contrast="auto">constant support, training, and clear communication between all business representatives </span></b><span data-contrast="auto">who work for its development. These are stakeholders, designers, and developers.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">It is important that each stage of change clearly defines what it concerns and what its deadline is. To avoid the feeling of being overwhelmed, it is worth discussing the individual stages with the participants of the changes.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">It is also significant to remember that every existing product may have its limitations. Some of them will only partially adapt to the changes and implement the design system.</span></p>
<h2 aria-level="2"><b><span data-contrast="auto">What does the future of design systems look like, and how can they impact business outcomes?</span></b><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}"> </span></h2>
<p><span data-contrast="auto">The constant development of the design system is the key to keeping it up-to-date and beneficial to achieving business goals. Considering that modern and advanced technologies are already used in these systems, it is only a matter of time before automation, and AI will take part in their management and development.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Thanks to automation and AI algorithms, adaptation to changes will be more efficient and faster, with less emphasis on employees’ personal involvement.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Contrary to appearances, an evolutionary, not a revolutionary, approach to change can bring many positive effects for business, including increased productivity, improved business scaling, and faster iterations.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
<p><span data-contrast="auto">Are you looking for a professional business partner who can help you with creating a design system for your company? You’re in the right place! Just </span><b><span data-contrast="none">drop us a line</span></b><span data-contrast="auto">, and we’ll take care of the rest.</span><span data-ccp-props="{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559740&quot;:240}"> </span></p>
            </div>
        </div>
    </section>



<div id="simple-translate" class="simple-translate-system-theme">
<div>
<div class="simple-translate-button isShow" style="background-image: url('chrome-extension://cllnohpbfenopiakdcjmjcbaeapmkcdl/icons/512.png'); height: 22px; width: 22px; top: 40px; left: 364px;"></div>
<div class="simple-translate-panel " style="width: 300px; height: 200px; top: 0px; left: 0px; font-size: 13px;">
<div class="simple-translate-result-wrapper" style="overflow: hidden;">
<div class="simple-translate-move" draggable="true"></div>
<div class="simple-translate-result-contents">
<p class="simple-translate-candidate" dir="auto">
</div>
</div>
</div>
</div>
</div><p>The post <a href="https://www.efigence.com/ux-ui/design-system-business-impact/">Beyond aesthetics: How design systems impact business?</a> appeared first on <a href="https://www.efigence.com">Efigence</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Design Inclusively and Effectively</title>
		<link>https://www.efigence.com/ux-ui/how-to-design-inclusively-and-effectively-a-short-guide-to-inclusive-design/</link>
		
		<dc:creator><![CDATA[Aleksandra Bartosiak]]></dc:creator>
		<pubDate>Wed, 19 Oct 2022 12:28:02 +0000</pubDate>
				<category><![CDATA[Design System]]></category>
		<category><![CDATA[UX/UI]]></category>
		<guid isPermaLink="false">https://www.efigence.com/how-to-design-inclusively-and-effectively-a-short-guide-to-inclusive-design/</guid>

					<description><![CDATA[<p>The post <a href="https://www.efigence.com/ux-ui/how-to-design-inclusively-and-effectively-a-short-guide-to-inclusive-design/">How to Design Inclusively and Effectively</a> appeared first on <a href="https://www.efigence.com">Efigence</a>.</p>
]]></description>
										<content:encoded><![CDATA[
    <section id="wysiwyg_30" class="layout wysiwyg" data-block-theme="light" data-top="medium" data-bottom="medium">
        <div class="row" data-view="1">
            <div class="columns small-12">
                <p><strong>If you want to create products that work for different groups of customers, you need to stick to the six crucial commandments of inclusive design. This way, your products will be fully functional and intuitive to use for different users. But what are these commandments? And how does inclusive design differ from universal or accessible design? Let’s have a look.</strong></p>
<p>As we probably all know, inclusive design is an approach to <a href="https://www.efigence.com/ux-ui-design/">designing products/apps/services</a> that asserts there are no “typical” or “standard” users and that whatever you design should be adjusted to people with different preferences, needs and capacities. First, I wanted to show you, how this is different from accessibility and universal design.</p>
<h2><strong>Inclusive design vs. accessibility and universal design</strong></h2>
<p>At the start, these three terms might seem similar, but they have some differences. <strong>Accessibility</strong> aims at creating products that can be used by users with various disabilities – physical or cognitive. To help these users consume web content without any problems, web developers and designers stick to <strong>Web Content Accessibility Guidelines (</strong><strong>WCAG</strong><strong>)</strong>. And what about <strong>universal design</strong>? Here, the goal is to create a single design that can be accessed and used by as many people as possible without the need for any modifications or adaptations.</p>
<p>The inclusive design follows a different path. Here, the design is <strong>adaptable and adjustable so that there are many ways of achieving the same desired outcome</strong>. There is no standard in the inclusive design, and every user can access the version of the product or service that meets their needs and expectations best. In other words, inclusive design addresses things like accessibility, age, culture, economic situation, education, gender, race, location, language and other elements that differentiate users.</p>
<p>Of course, it doesn’t mean that accessibility, universal design and inclusive design are three completely different things. At some point, they can overlap since many accessibility principles are vital to inclusive design. After all, products that work well for people with accessibility problems work well for everyone else.</p>
<p>For obvious reasons, inclusive design works best with <a href="https://www.efigence.com/services-digital-advisory/"><strong>digital products</strong></a> because they are relatively easy to modify. There is even an online initiative called <strong>Inclusive Design Principles</strong> that aims at promoting this way of thinking about product design.</p>
<h2><strong>The benefits of inclusive design</strong></h2>
<p>Undoubtedly, inclusive design requires more effort (compared to universal design), but the juice is definitely worth the squeeze. Products that are inclusively designed have, in general, a <strong>much better UX</strong>, which means that they attract many different users and retain them for a long time because they are <a href="https://www.efigence.com/ux-ui/ux-bordering-two-worlds/">simply satisfied with the service provided</a>. No one feels excluded or rejected.</p>
<p>And then, there is the question of social impact. It may not be measurable per se, but nowadays, people simply appreciate this way of designing products and services. If you want your company to be socially conscious, inclusive design is the way to go.</p>
<p><strong>Read also: </strong><a href="https://www.efigence.com/banking/the-10-most-useful-lessons-from-more-than-a-10-years-of-experience-in-building-digital-banking-platforms-part-1/">The 10 most useful lessons from more than a 10 years of experience in building digital banking platforms.</a></p>
<h2><strong>How to design inclusively</strong></h2>
<p>Inclusive design is all about understanding the needs of different people and responding to them. When you follow this approach, you design one product or service that’s next being adapted to many different user groups. There are six basic inclusive design principles. Let’s have a look at them.</p>
<h3><strong>PRINCIPLE 1: PROVIDE COMPARABLE EXPERIENCES FOR ALL</strong></h3>
<p>Your product should provide similar, high-quality experiences for all users so that they can use it in the way that suits their needs without compromising usability or the quality of what they get.</p>
<p>Here, a good example is a mindfulness app called <strong>Headspace</strong>. It’s almost fully customisable, and users can adjust <strong>navigation</strong> (they can use screen and text reader, keyboard navigation and even voice commands), <strong>colours</strong> (dark/bright mode, background colour, monochromatic version), and the <strong>content </strong>itself (fonts, descriptions and text size).</p>
<img class="alignnone wp-image-2728" src="https://www.efigence.com/wp-content/uploads/2022/10/headspace2.png" sizes="(max-width: 611px) 100vw, 611px" srcset="https://www.efigence.com/wp-content/uploads/2022/10/headspace2.png 1140w, https://www.efigence.com/wp-content/uploads/2022/10/headspace2-768x928.png 768w, https://www.efigence.com/wp-content/uploads/2022/10/headspace2-165x200.png 165w" alt="Headspace app" width="611" height="738" />
<p>Source: Headspace.com</p>
<h3><strong>PRINCIPLE 2: GIVE CONTROL</strong></h3>
<p>All users should be in control. In other words, they need to have the possibility of interacting with your product in the way they prefer; nothing should be imposed. Maybe a few examples:</p>
<p>1. If you have videos or animations as a part of your product, disable auto-play</p>
<p>2. Avoid so-called infinite scrolling on your website or in your app</p>
<p>3. Enable adjusting visual elements, such as the orientation, font size, colours, zoom and contrast</p>
<p>This way, each user can “design” the perfect experience for themselves, and that’s what you want to achieve. Here, CBC is a good example. Their mobile app comes with dark mode and text resizing features. Additionally, they offer the “skip to content” feature that enables quick access to the main content on all their platforms.</p>
<img class="alignnone wp-image-2709" src="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu.png" sizes="(max-width: 423px) 100vw, 423px" srcset="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu.png 711w, https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-200x172.png 200w" alt="dark mode" width="423" height="364" />
<p>Image source: Play.google.com</p>
<h3><strong>PRINCIPLE 3: GIVE CHOICE</strong></h3>
<p>In short, provide alternatives for layout and task completion options. Here, generating the same information in different file formats is a perfect example. Some of your users will prefer Excel files, whereas others – a standard PDF file. Some will want to perform a given action in one way; others will choose something different. Here iPhone is a good example. This operating system enables users to open apps in three different ways:</p>
<ol>
<li>By clicking the app icon</li>
<li>By saying the app’s name</li>
<li>By typing the app’s name in the search box</li>
</ol>
<p>And here’s another example: WhatsApp. This mobile messenger enables users to select the preferred skin tone when using human emojis:</p>
<img class="alignnone wp-image-2710 size-full" src="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-1.png" sizes="(max-width: 226px) 100vw, 226px" srcset="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-1.png 226w, https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-1-200x163.png 200w" alt="Whatsapp emojis" width="226" height="184" />
<p>Image source: Techentice.com</p>
<p><strong>Read also: </strong><a href="https://www.efigence.com/banking/banking-in-pandemic-times/">Banking in Pandemic Times</a></p>
<h3><strong>PRINCIPLE 4: TAKE CIRCUMSTANCES INTO ACCOUNT</strong></h3>
<p>Products are being used in different conditions. Some of your customers use them at work, others at home or outdoors, or in public spaces. Take that into consideration. For instance, loud auto-play is a perfect example of a poor design. Your app should also offer high contrast options (so that it can be used outside), a reasonably large font and a clear typeface.</p>
<p>And here’s the other example – <strong>map applications</strong>. If you use them at home, you can focus on all the little details and many options, but when you drive a car, you don’t want to be distracted – the app has to be clear and easy to navigate (bigger buttons, visible instructions). Waze is a good example – this app blocks some of the functions when it detects that you’re driving a car.</p>
<div class="youtube-video"><iframe title="Get to Know Waze" src="https://www.youtube.com/embed/PPpZNzXqId0?feature=oembed" width="500" height="281" frameborder="0" allowfullscreen="allowfullscreen" data-mce-fragment="1"></iframe></div>
<h3><strong>PRINCIPLE 5: BE CONSISTENT</strong></h3>
<p>If you offer different versions of your product (or using different channels) make sure each version is consistent, offers the same functionality and is of the same quality. For example, your desktop and mobile website or app should have the same (or similar) layout and functionality. Here, Google Maps is a good example. You can use this service on your smartphone, tablet or PC, and it works the same every time. Compare desktop and mobile screen for the same feature – looking for a nearby store:</p>
<table width="919">
<tbody>
<tr>
<td width="302"><img class="alignnone wp-image-2711 size-full" src="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-2.png" sizes="(max-width: 678px) 100vw, 678px" srcset="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-2.png 678w, https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-2-200x118.png 200w" alt="Google Maps web" width="678" height="400" /></td>
<td width="302"><img class="alignnone wp-image-2712" src="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu.jpg" sizes="(max-width: 117px) 100vw, 117px" srcset="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu.jpg 183w, https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-92x200.jpg 92w" alt="Google Maps mobile" width="117" height="255" /></td>
</tr>
<tr>
<td width="302">Desktop version</td>
<td width="302">Mobile version</td>
</tr>
</tbody>
</table>
<p>The goal is to help your users scan and navigate to key elements and content they’re after. If users have to “learn” each new channel, that’s not a good inclusive design practice.</p>
<p><strong>PRINCIPLE 6: FOCUS ON CORE TASKS</strong></p>
<p>Make sure your interface is intuitive for different users. Prioritise crucial elements so that people can concentrate on core tasks (and one task at a time). When designing a specific feature/product, consider its core functionality and focus on it. This way, people won’t feel lost using your product. Smartwatches are good examples – usually, they offer one function per screen so that users don’t have to think about where they are and what they should do next.</p>
<img class="alignnone wp-image-2713" src="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-3.png" sizes="(max-width: 583px) 100vw, 583px" srcset="https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-3.png 864w, https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-3-768x396.png 768w, https://www.efigence.com/wp-content/uploads/2022/10/Bez-tytulu-3-200x103.png 200w" alt="Smartwatch" width="583" height="301" />
<p>Image source: Samsung.com</p>
<h2><strong>Summary: opt for inclusive design</strong></h2>
<p>In today’s world, inclusive design is a smart and beneficial thing to do. That’s what consumers expect; that’s what makes them feel like they belong. And if you develop digital products, inclusive design isn’t as challenging as you think. It all starts with the right mindset – put your users at the very centre, think about their needs and preferences and make sure that your product reflects that comprehension.</p>
            </div>
        </div>
    </section>



<div id="simple-translate" class="simple-translate-system-theme">
<div>
<div class="simple-translate-button isShow" style="background-image: url('chrome-extension://cllnohpbfenopiakdcjmjcbaeapmkcdl/icons/512.png'); height: 22px; width: 22px; top: 40px; left: 364px;"></div>
<div class="simple-translate-panel " style="width: 300px; height: 200px; top: 0px; left: 0px; font-size: 13px;">
<div class="simple-translate-result-wrapper" style="overflow: hidden;">
<div class="simple-translate-move" draggable="true"></div>
<div class="simple-translate-result-contents">
<p class="simple-translate-candidate" dir="auto">
</div>
</div>
</div>
</div>
</div><p>The post <a href="https://www.efigence.com/ux-ui/how-to-design-inclusively-and-effectively-a-short-guide-to-inclusive-design/">How to Design Inclusively and Effectively</a> appeared first on <a href="https://www.efigence.com">Efigence</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Developing Design System</title>
		<link>https://www.efigence.com/ux-ui/developing-design-system-patterns/</link>
		
		<dc:creator><![CDATA[Aleksandra Bartosiak]]></dc:creator>
		<pubDate>Wed, 24 Jun 2020 14:32:38 +0000</pubDate>
				<category><![CDATA[Design System]]></category>
		<category><![CDATA[UX/UI]]></category>
		<guid isPermaLink="false">https://www.efigence.com/developing-design-system-patterns/</guid>

					<description><![CDATA[<p>The post <a href="https://www.efigence.com/ux-ui/developing-design-system-patterns/">Developing Design System</a> appeared first on <a href="https://www.efigence.com">Efigence</a>.</p>
]]></description>
										<content:encoded><![CDATA[
    <section id="wysiwyg_3" class="layout wysiwyg" data-block-theme="light" data-top="medium" data-bottom="medium">
        <div class="row" data-view="1">
            <div class="columns small-12">
                <section id="content_block-0" class="layout content_block" data-pt="large" data-pb="small" data-background="white" data-order="0">
<div class="row align-left seen in-view" data-view="0">
<div class="small-12 columns text-left">
<div class="sub-content">
<h2 class="seen in-view" data-view="0">When it comes to large, widely-used systems it is generally a good idea to separate things. It&#8217;s easier to maintain only one piece rather than the whole. One of the first thoughts should be the design system for your application. Why? Even if you are the creator, it&#8217;s extremely hard to remember all of the variants and specific usage of each component. On the other hand, if you are joining an existing project, you can focus on your main task without wondering if you should create another component or just extend an existing one.</h2>
</div>
</div>
</div>
</section>
<section id="wysiwyg_block-1" class="layout wysiwyg_block" data-pt="small" data-pb="large" data-background="white" data-order="1">
<div class="row align-left in-view seen" data-view="0">
<div class="small-12 columns">
<div class="block">
<p>During the whole process of developing the design system there are many decisions to make and many traps to fall into. We will describe most of the concepts that we followed. We’re going with <a href="https://www.efigence.com/services/react/">ReactJS</a> and Styled Components throughout the rest of the article.</p>
<h2>Main principles</h2>
<p>The successful creation of a good <a href="https://www.efigence.com/ux-ui/design-system-business-impact/">design system</a> includes strict collaboration between development and design. The former should translate all the visual concepts into <a href="https://www.efigence.com/services-software-maintenance/">well-maintained code</a> and the latter should direct their creativity into the principles established at the beginning.</p>
<img class="alignnone size-full wp-image-12780 resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/shutterstock_1383206288-scaled-1.jpg" alt="" />
<p>This is really important because things that are super simple at first sight, might be really difficult to implement at a later stage – for example adding a new color when you have a specific naming system or putting another space variant between large and huge – when all teams have been using your library for a year. It really is a core thing to have all this clear from the start of your project.</p>
<h3><b>Always be prepared to expand your component</b></h3>
<p>If at the start of your project you see two variants of an action, primary and light, beware of creating the component <code>&lt;Action /&gt;</code> with the primary color as a default and <code>&lt;Action light /&gt;</code> for the opposite. Sooner or later you’ll end up with something like:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-33-34.png" alt="Asset" />
<p>And with multiple ifs in your code to maintain all this mess. Furthermore, what if you have two props at one time? Which priority is higher? As you can see, it creates a lot of problems to be handled, but it doesn’t have to. It’s much safer to create a variant prop which will hold an infinite amount of colors and you can create a separate config to have it all in one place. Doesn’t it look better?</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-34-15.png" alt="Asset" />
<p><strong>Read also: </strong><a href="https://www.efigence.com/technology/painless-changelog/">Painless Changelog</a></p>
<h3><b>Always think if your functionality might not be needed somewhere else</b></h3>
<p>It is a general rule that will always be applicable but if you feel that you’re writing the same thing repeatedly, it’s definitely a good idea to shrink it into a single util and share it between your <a href="https://www.efigence.com/software-development/building-webcomponents/">components</a>. Later you will be able to reuse small pieces of code easily. Isn’t it great just to run setGradient(from, to)’ instead of writing specific rules again and again?</p>
<h3><b>Think widely about component usage </b></h3>
<p>Where is the difficulty in creating a simple list with an avatar and some description? Technically there is no difficulty but you actually have to ask yourself some questions. Plenty of them are more obvious, for example how the list should be displayed at a different screen size, but others require some effort.</p>
<p>Like if a long description should be truncated or not. If there will be pagination or lazy loading in case of a large amount of data. Whether the data can be loaded asynchronously and you should use some kind of loader to avoid content jumping. It’s easy to forget about that and end up with an endless amount of bugs – but unfortunately the number of releases doesn’t lie. As a general rule, you should think about the most common contexts and prepare solutions for them.</p>
<h3><b>Think about tree shaking from the beginning</b></h3>
<p>Of course it is very tempting to start writing core functionalities immediately, but firstly you should wonder how your library will be distributed in the future. If you’re creating a bunch of small, reusable components, there is a high possibility that a given project will need only a few of them – so there’s no reason to download the whole bundle. You should allow the import of your components separately – modern module bundlers like webpack or rollup have this feature built-in.</p>
<h3><b>Use external libraries wisely</b></h3>
<p>Along the way you will have to make a lot of decisions whether to use an external library or write a custom module to fulfil a given task. In general we recommend following this rule: the more precise and narrow the application, the more sense it makes to use external libraries. When it comes to such specific subjects as animating height or debouncing, there are well-known and tested modules to handle this. There is a pretty small chance that library behaviour would differ from that required. On the other hand, if you need a robust solution, which is highly likely to undergo future changes, then try to write your own module. At first, it may not seem such a good idea to dismiss a component library written with a Material Design approach, when you have to add an input component very similar to one from the library.</p>
<p>But you have to ask yourself questions about possible variations of this input – how high is the probability that in the course of time this component would require a prefix, custom behaviour of a label or totally different error handling? If you are 100% sure that none of these issues may become a problem in the future, then you are good to go. But in most cases you won’t be given the right to be so certain, because the only thing with design systems that is beyond doubt is constant change. Furthermore, another solid argument about custom modules is bundle size. If you are using only a few components from a library that contains tens of them, there is no need to load  them all. Of course external libraries can be tree-shakable, but that is another thing to check.</p>
<h3><b>Start testing early</b></h3>
<p>When you are creating small and uncomplicated components, <a href="https://www.efigence.com/software-development/how-to-develop-an-app-understanding-the-development-process/">tests may seem redundant but they are a crucial part of development</a>. The library will expand a lot faster than you think and your users will expect it to work all through the process. Testing such essential features as passing <code>onChange</code> functions to inputs or `onClick` to buttons will definitely narrow down cases when you would have to release hotfix, because suddenly a passed <code>onSubmit</code> is not being triggered. To protect yourself from such events, simple snapshots tests won’t suffice. Write a lot of unit tests for util functions and integration tests for your components. People make mistakes as part of their nature and if you want to feel pretty sure about the output of your work then start testing early. You really don’t want to check manually if <code>onSubmit</code> works whenever a ticket is issued .</p>
<p><strong>Read also: </strong><a href="https://www.efigence.com/technology/istqb-certification-for-novices-and-experienced-testers-is-it-worth-it/">ISTQB certification for novices and experienced testers – is it worth it?</a></p>
<h2>What was awesome</h2>
<h3><b>TypeScript</b></h3>
<p>One of the most important decisions we made was to use TypeScript in our project. The number of benefits definitely outweighs any drawbacks. It makes the code easier to understand, maintain and refactor which directly results in a lower number of bugs. Additionally, by using VS Code IntelliSense we can enjoy such privileges as showing typing information and documentation in suggestions, hover info and signature help.</p>
<img class="alignnone size-full wp-image-12789 resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/5_art.png" alt="" width="356" height="269" />
<h3><b>Styled components</b></h3>
<p>There are plenty of ways of dealing with styles in the React application. We decided to use the styled-components library for many reasons. Firstly, it just looks like pure css, but it can do so much more. It supports scss syntax out of the box, it provides ThemeContext so you can create many versions of your application in an instant and crucially, you don’t have to worry about naming selectors, because it’s all scoped inside the component and final class names are generated. Apart from all that, all props can be passed to it, so you gain power to create reusable, customizable components easily.</p>
<h3><b>Documentation</b></h3>
<p>Nobody likes to write documentation, but it is essential in keeping a <a href="https://www.efigence.com/ux-ui/the-difference-between-ui-and-ux/">UI</a> library. Users need to have a single source of information about props and component use. Fortunately, there is a quick solution to this problem. In our project we used the library <a href="https://github.com/doczjs/docz" rel="nofollow">docz</a>, which in collaboration with TypeScript, documents the code almost by itself. All we needed to do was to write simple .mdx files with examples of usage. Props of a single component were read and displayed in a neat table by docz. To include props in your mdx we just had to add:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-34-28.png" alt="Asset" />
<p>Our docs displayed a props table with available values and descriptions read from the props interface!</p>
<h3><b>Versioning</b></h3>
<p>To keep track of all changes we stuck to semantic versioning. For those unfamiliar with this system, its syntax is based on three numbers separated by a dot. The first number represents the major version, the second the minor version and the last one represents the patch. In our case we took this approach:</p>
<ul>
<li>major version: breaking changes to existing components (for example in props)</li>
<li>minor version: adding new props or components to the library</li>
<li>patch version: fixing components</li>
</ul>
<p>Version management required from us planning and grouping changes in releases. We had to watch out for unintentional prop modification to keep our minor and patch releases compatible with previous versions. A list of all changes was kept in a single Changelog file for library users to bring themselves up to date with new modifications. During use, we found some difficulties in changelog management, especially during merge requests. We managed to solve this problem by adopting the concept described <a href="https://www.efigence.com/technology/painless-changelog/" target="_blank" rel="noopener noreferrer">here</a>.</p>
<h3><b>RWD</b></h3>
<p>All current projects are created for multiple resolutions and ours isn’t an exception. We needed to use ‘media queries’ in various contexts, for which we prepared solutions that fully cover them. At the beginning, based on a Responsive Web Design approach we prepared a file with settings containing the required breakpoint dimensions (in ‘rem’ units):</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-34-50.png" alt="Asset" />
<p>These settings are used by all components, as well as helpers controlling behaviour in different resolutions. This is an essential requirement to keep coherence between them.</p>
<p>The grid is based on a 12 column division, but nothing prevents it making these values totally different:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-34-59.png" alt="Asset" />
<p>Component <code>&lt;Media /&gt;</code> is responsible for rendering components only for chosen resolution intervals and have attributes min and max, which take values from breakpoint settings.</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-35-07.png" alt="Asset" />
<p>We have also used mixin ‘media’ for styled components, which allows us to write specific styles for every breakpoint. Each of them has an additional suffix (‘min’ or ‘max’) designed to define styles for the division and for smaller and larger sizes.</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-35-17.png" alt="Asset" />
<p>We have also prepared the hook ‘useMedia’, which brings back the object with Boolean values for every breakpoint defined in settings:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-35-26.png" alt="Asset" />
<h3><b>CSS variables for the win</b></h3>
<p>As mentioned at the beginning, our stack is based on ReactJS and Styled-components. Crucial for performance within this library is the reduction of component re-rendering. And this is the perfect opportunity to move the responsibility of visual changes into css. It wasn’t feasible up until the moment when css variables were introduced. Instead of passing, for example, component dimensions as props you can create a css variable and pass it into your component. Just look at the example below:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-35-35.png" alt="Asset" />
<h3><b>Space component</b></h3>
<p>The <code>&lt;Space /&gt;</code> component is one of our favorite solutions 🙂 The original requirement was to have a universal component responsible for spacing in each area of the application and  enabling quick assembly of layouts. Many libraries include a similar box component already, but we wanted to create our own adapted to the needs of the application. Let’s look at the situations in which it’s been helpful to us:</p>
<h3><strong>Responsibility for spacing</strong></h3>
<p>The props ‘value’ is made of three parts: property (‘p’adding, ‘m’argin) – direction (‘l’eft, ‘b’ottom, ‘a’ll, ‘h’orizontal, ‘v’ertical) – size (s, m, l… whose values are defined in settings). We can also pass these values for different screen sizes.</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-35-49.png" alt="Asset" />
<p>Centering elements</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-36-01.png" alt="Asset" />
<p>Layout with a footer glued to the bottom edge</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-36-10.png" alt="Asset" /><img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-36-24.png" alt="Asset" />
<p>Split into two columns</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-36-32-1.png" alt="Asset" />
<p>List of items</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-36-42-1.png" alt="Asset" />
<p>Setting background</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-36-51.png" alt="Asset" />
<h3><b>Typography</b></h3>
<p>Handling typography was another key feature that we are really proud of. We accomplished it by using a custom <i>Text</i> component, which accepted content as its children. In the early stage of the project our product designers pointed out several variants of typography and agreed to use them across the whole application. This enabled us to create a config with proper font styles and that was it. Later the user would simply add:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-37-06.png" alt="Asset" />
<p>This simple delegation of a specific function to one component turned out to be pretty handy, because later on there was no need to add custom font styles in other components (maybe with the exception of inputs). Moreover, we extended <i>Text</i> props, so the component could align its content, set it to uppercase or change the display from <i>block</i> to <i>inline-block</i> in the case of nested <i>Texts</i>.</p>
<h3><b>Red or blue?</b></h3>
<p>The hardest thing for us turned out to be naming colors. We didn’t want to add “red” or “blue” variables, because we had in mind that in next week “red” could change to “yellow” and “blue” would be a gradient. Also shading was tricky as we didn’t want to bump into adding “dark” or “darker” suffixes. We prefer names that don’t represent color in itself, but rather its function. So we came up with some pretty abstract nomenclature – the main color of the application was named “primary” and the second-in-command “secondary”. Error messages were in “negative” and success messages in “positive” colors. Our design used a variety of dark and light colors with different opacity values. We didn’t want to reinvent the wheel and we turned to a concept adopted in Material Design. The scale of shades was sorted from the lightest to the darkest and each shade received a number suffix:</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/2020-06-24_14-37-22.png" alt="Asset" />
<h3><b>Using a theme</b></h3>
<p>Another awesome concept was keeping the <i>theme</i> object accessible to all components. In our project we used styled-components, so accessing the theme was pretty simple. Generally we kept in the theme all properties associated with colors, such as background color, font colors, border color. Such an approach enabled a pretty fast switch of colors in the case of a sudden presentation to a new customer. A global object with common styles can cause developers to store in it all properties, for example border radius or dimension values. We strongly discourage taking this path as the theme can grow rapidly from now on, making it difficult to read. Moreover, width or height are values pretty specific to components. Any change to them should be well tested as it can easily break components. Keeping only variables that don’t generate unwanted side-effects in the theme enables less front-end oriented people to change the theme and play around with it, adjusting the look of the component to their preferences.</p>
<h3><b>One to rule them all</b></h3>
<p>Have you ever found yourself in a situation where you had to change all border radiuses from 2px to 4px, because of a design modification? I bet that every person in that situation would think “I should have assigned it to a variable so I would have to only change one line of code”. We thought about it at the beginning of our journey and created a settings folder in which we kept files with configs for transition times, border radiuses, padding/margin values etc. All thanks to close collaboration with our design team, which was mentioned above. Working with predefined values of common properties turned out to be painless and efficient. Also, in case of global border radius modification, we would have to change only one line of code.</p>
<h2>Summary</h2>
<p>As you can see from the article above, developing a UI library requires consistency and prediction. Every component should be created with deliberation and be extendable without crashing the rest of the application. But if you create some patterns and follow them strictly, working with this kind of project can be really enjoyable and the result is undeniably helpful to the rest of your team.</p>
<img class="resetimage" src="https://www.efigence.com/wp-content/uploads/2023/09/shutterstock_76787722-scaled-1.jpg" alt="Asset" />
</div>
</div>
</div>
</section>
            </div>
        </div>
    </section>

<p>The post <a href="https://www.efigence.com/ux-ui/developing-design-system-patterns/">Developing Design System</a> appeared first on <a href="https://www.efigence.com">Efigence</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
