<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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/">
	<channel>
		<title>Author at Infinum</title>
		<atom:link href="https://infinum.com/blog/author/emanuel-loborec/feed/" rel="self" type="application/rss+xml" />
		<link></link>
		<description>Building digital products</description>
		<lastBuildDate>Wed, 22 Apr 2026 14:53:03 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>19254438https://infinum.com/uploads/2024/05/Design-x-Quality-Assurance-collaboration-blogpost-hero-ig-min.webp</url>
				</image>
				<title>Want Better Design Work? Get Quality Assurance on the Task</title>
				<link>https://infinum.com/blog/design-qa/</link>
				<pubDate>Thu, 23 May 2024 09:16:24 +0000</pubDate>
				<dc:creator>Emanuel Loborec</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=19254438</guid>
				<description>
					<![CDATA[<p>We explore how integrating testers into the design process can be beneficial to both sides and the project itself. </p>
<p>The post <a href="https://infinum.com/blog/design-qa/">Want Better Design Work? Get Quality Assurance on the Task</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-236"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-36-text js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	<strong>Designers design, and testers test, but when they work together, great things can happen. We explore how integrating quality assurance into the design process can be beneficial to both sides and the project itself. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	Whenever I’m working on a design and ask somebody from the quality assurance team for their help and opinion, I regularly get the following disclaimer: <em>I’m not a designer, so I’m not sure if my feedback will be useful.</em>&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-99">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-100'
	>
	Contrary to popular belief, <strong>it usually is</strong>.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-102">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-103'
	>
	If I am working on a new feature, I prefer getting feedback from people who are experienced in the domain, regardless of their profession.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-105">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-106'
	>
	Including software testers in the design process can be extremely useful. In this article, we’ll take a look at five activities where collaboration with software testers can produce excellent results.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-108">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-109'
	>
	Design refinement</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	Having a tester present during design refinements makes the meetings significantly more efficient. They are experienced in the domain, really good at finding flaws, and know the app quite well, both from a technical and user experience perspective. Their feedback makes making design decisions much easier.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-116"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-114">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-115'
	>
	Here are a couple of reasons why the quality assurance team can be a great asset in this step:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-120"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-117">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<h3	class='typography typography--size-20-text js-typography bullet__heading'
	data-id='es-118'
	>
	<strong>Experience in finding flaws</strong></h3><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-119'
	>
	This is the very definition of testers’ work. They are great at identifying potential issues or usability challenges that might arise during development or post-release, which prevents costly revisions in later stages.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-124"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-121">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<h3	class='typography typography--size-20-text js-typography bullet__heading'
	data-id='es-122'
	>
	<strong>Functional feasibility</strong></h3><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-123'
	>
	The QA team can provide insights about the feasibility of certain design decisions, helping the design team understand if a particular aspect might be challenging to implement or prone to bugs.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-128"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-125">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<h3	class='typography typography--size-20-text js-typography bullet__heading'
	data-id='es-126'
	>
	<strong>Risk mitigation</strong></h3><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-127'
	>
	With their knowledge of common pitfalls and challenges in app development, QA engineers can help identify risks associated with certain design decisions.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-132"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-129">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<h3	class='typography typography--size-20-text js-typography bullet__heading'
	data-id='es-130'
	>
	<strong>Domain experience</strong></h3><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-131'
	>
	QA specialists tend to spend more time working on a project, and their domain knowledge can help the design team make more informed decisions.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-136"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-133">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<h3	class='typography typography--size-20-text js-typography bullet__heading'
	data-id='es-134'
	>
	<strong>Cross-platform consistency</strong></h3><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-135'
	>
	If the design is meant to be applied across multiple platforms or devices, QA can help ensure consistent behavior and appearance on all of them.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-139"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-137">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-138'
	>
	Usability testing</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-142"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-140">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-141'
	>
	Testers are a great fit for usability testing because they have a better perception of the product’s “big picture,” they are experienced in evaluating products, and they always do a great job documenting issues. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-145"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-143">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-144'
	>
	In most usability testing sessions I was leading, project managers would be the ones taking notes because their skills are quite versatile. However, testers can be just as useful here. After all, usability testing is the process of evaluating a product or service by testing it with representative users. Since the goal is to identify any usability problems, collect qualitative and quantitative data, and determine the participants’ satisfaction with the product – testers are a great fit.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-148"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-146">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-147'
	>
	Phase 1: Preparation and planning</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-151"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-149">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-150'
	>
	The preparation and planning phase consists of the following:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-154"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-152">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-153'
	>
	<li>Defining the testing purpose/goals </li><li>Participants selection</li><li>Test scenario &amp; tasks</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-157"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-155">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-156'
	>
	When testers are involved in this phase, they get to see an early preview of their work. The planning part of a testing session provides some context for the testers, which will help them test the implementation later on. Selecting the participants gives them a better understanding of the target audience, and the test scenarios users go through are <strong>very</strong> similar to test cases QA specialists will be dealing with when it’s their turn to test the implementation. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-160"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-158">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-159'
	>
	Phase 2: Conducting the test</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-163"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-161">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-162'
	>
	Conducting usability testing includes the following:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-166"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-164">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-165'
	>
	<li>Writing notes</li><li>Observing</li><li>Guiding users and giving them context</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-169"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-167">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-168'
	>
	Testers can notice nuances in user behavior and interaction with the product, uncovering potential usability issues that may have gone unnoticed otherwise. Being included in this part of the process helps them, too – by being aware of the main issues encountered, they can know what to pay special attention to during their round of testing.  </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-172"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-170">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-171'
	>
	Phase 3: Analysis and reporting</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-175"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-173">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-174'
	>
	There are three main aspects in the analysis and reporting phase: </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-178"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-176">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-177'
	>
	<li>Identifying patterns</li><li>Recommendations</li><li>Documentation</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-181"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-179">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-180'
	>
	Testers excel at documenting observations accurately and comprehensively. Their eye for detail allows them to catch both minor issues and overarching patterns, which is a big help in the analysis phase. By being included in all these activities, they can help with creating a report as well. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-184"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-182">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-183'
	>
	Implementation review</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-187"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-185">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-186'
	>
	When the developers release a new app build, testers and designers tackle it separately. The QA team ensures all parts of the app are working as expected and incorporate the design. The design team only does the latter, paying special attention to details in the UI.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-190"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-188">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-189'
	>
	The testers’ work is usually planned to align with the development process release cycle. That’s why they know exactly when each build will be created. On the other hand, designers’ work is planned around design priorities, and it may be difficult for them to check the UI of any new builds in a timely manner. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-193"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-191">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-192'
	>
	This is one area that can be substantially improved by designers and testers working together. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-195"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-194'
	>
	Testers can inform the designers when something will require their review, and designers can contribute their specific understanding of design, which together makes for far more efficient UI testing. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-198"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-196">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-197'
	>
	Here’s what this can look like in practice. My tester colleague and I periodically organized a short session to review the differences between the design in Figma, the implementation, and the open tickets. Since testers are experienced in reporting bugs and opening tickets, they can teach designers about the best practices. This approach worked amazingly for us.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-201"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-199">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-200'
	>
	Accessibility evaluation</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-204"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-202">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-203'
	>
	We assess the accessibility of a digital product by observing its various features in the light of different accessibility criteria. These criteria range from very UI-specific ones, such as text size and color contrast, to the product’s compatibility with assistive tools.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-207"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-205">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-206'
	>
	While designers are well-positioned to assess UI-related criteria, testers play a crucial role in evaluating the app&#8217;s compatibility with assistive tools. They can utilize tools such as screen readers or keyboard-only navigation to see where the product may not meet accessibility standards. BTW, if you would like to learn more about testing features with accessibility in mind,<a href="https://infinum.com/blog/how-to-get-started-with-accessibility-testing/"> this article</a> is a good place to start. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-210"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-208">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-209'
	>
	Let’s make it clear that not every tester is expected to have experience working with assistive technologies, but being aware of accessibility criteria is very beneficial to understanding accessibility.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-213"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-211">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-212'
	>
	To create a truly accessible product, accessibility standards need to be taken into account at every step of the development process. That’s why I would like to emphasize that the collaboration between designers and testers would not be enough to ensure the full accessibility of a product.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-216"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-214">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-215'
	>
	Documentation</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-219"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-217">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-218'
	>
	Testers prepare test cases based on feature requirements before they even see the implemented feature itself. To understand the feature in context, they can take a look at the design specification. They may come across states that are missing in design, and that way, improve the features and their documentation.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-222"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-220">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-221'
	>
	Developers pay the most attention to Figma when they are implementing a specific feature. Once it’s implemented, they rarely need the design unless they want to revisit something. However, during testing, especially regression testing, the QA team tests the complete app and compares everything with the design files. That&#8217;s why it’s crucial to have a detailed design documentation of the app, even for features that were developed a long time ago. When this is the case, testers can point out parts of design documentation that are outdated or not specified well enough.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-225"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-223">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-224'
	>
	Collaborate, don’t dictate</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-228"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-226">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-227'
	>
	The goal of this initiative is not to overwhelm testers with a ton of overhead. Of course, not every tester is interested in design, and I’m sure there are areas of quality assurance as a discipline that can evolve without integrating with design.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-231"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-229">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-230'
	>
	The goal is to explore the potential of this collaboration and how it can improve the entire development process. When everyone is aware of the possibilities, they can implement the recommendations where it makes sense. We want to spark interest in the benefits of collaboration, not lay down a bunch of new rules. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-234"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-232">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-233'
	>
	The idea is to use each team&#8217;s strengths to make better products and keep an open mind to new ideas that arise from working together. Let’s take those opportunities when we see a fit and see how we can all benefit from QA and design’s teamwork.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/design-qa/">Want Better Design Work? Get Quality Assurance on the Task</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>36981https://infinum.com/uploads/2023/03/accessibility-blogpost-min.webp</url>
				</image>
				<title>Boost Digital Product Accessibility and Leave No User Behind</title>
				<link>https://infinum.com/blog/digital-product-accessibility/</link>
				<pubDate>Wed, 29 Mar 2023 09:06:52 +0000</pubDate>
				<dc:creator>Emanuel Loborec</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=36981</guid>
				<description>
					<![CDATA[<p>Limited digital product accessibility restricts a large number of people from using digital products to order food, use mobile banking, or get a cab. </p>
<p>The post <a href="https://infinum.com/blog/digital-product-accessibility/">Boost Digital Product Accessibility and Leave No User Behind</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-393"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-237">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-240"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-238">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-239'
	>
	People often have the impression that the number of people who benefit from digital product accessibility is negligible. The reality is quite different. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-242"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-241'
	>
	<strong>According to the World Health Organization, 1.3 billion people, or 16% of the world’s population, experience some form of disability.</strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-245"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-243">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-244'
	>
	Limited digital product accessibility features restrict a huge portion of popularity from using them to order food, use mobile banking, or get a cab. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-248"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-246">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-247'
	>
	Disability can be permanent or situational</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-251"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-249">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-250'
	>
	Furthermore, not caring for digital product accessibility affects not only the permanently disabled but also those with temporary, i.e., situational disability. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-254"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-252">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-253'
	>
	Take a broken arm, for example. Those affected can use their phone with only one hand. Next, think about texting on the phone in direct sunlight. Good luck if the messaging app has poor contrast! Or imagine trying to read something without glasses if there is no option for text enlargement. These are all examples of situational disability.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-257"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-255">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-256'
	>
	Taking into the context that disability can be temporary or situational, it becomes clear how many people are affected by poor digital product accessibility. This is a lose-lose situation for both users and providers because the user misses out on services and experiences, while the providers lose revenue, reach, and conversion.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-260"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-258">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-259'
	>
	Digital product accessibility standards are regulated by law</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-263"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-261">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-262'
	>
	But even if companies were okay with losing revenue, digital product accessibility is not optional. Accessibility standards are regulated by law. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-266"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-264">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-265'
	>
	In the EU, all government websites and mobile apps have to demonstrate a certain level of digital accessibility. In the US, this applies to every website and mobile app – as a result, more than 2000 lawsuits for inaccessible products get filed every year.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-269"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-267">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-268'
	>
	The European Accessibility Act (EAA) that comes into force on June 28, 2025, will require most digital products to conform to Web Content Accessibility Guidelines, level AA.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-272"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-270">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-271'
	>
	Digital <strong>accessibility at every product development</strong> level</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-275"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-273">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-274'
	>
	For a digital product to become truly accessible, appropriate steps should be taken at every stage of the development process. No one person or one team can drive digital product accessibility alone. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-278"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-276">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-277'
	>
	For example, there’s no point in achieving good color contrast if a logical focus order is not implemented. Similarly, an app isn&#8217;t actually tested if nobody tested the screen-reader behavior.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-280"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-279'
	>
	<strong>To ensure that the digital products delivered by Infinum incorporate accessibility principles in every stage of the product development lifecycle, we’ve created the </strong><a href="https://infinum.com/handbook/accessibility" target="_blank" rel="noreferrer noopener"><strong>Accessibility handbook</strong></a><strong>.</strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-283"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-281">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-282'
	>
	The accessibility handbook contains our knowledge about digital process accessibility and describes the relevant steps in our development process. Each team provides its domain-specific knowledge in a separate chapter. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-286"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-284">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-285'
	>
	<li>The <strong><a href="https://infinum.com/handbook/accessibility/design/intro" target="_blank" rel="noreferrer noopener">design chapter</a></strong> elaborates on the adapted WCAG principles, providing examples of both compliance and design that don’t comply with WCAG’s A-level.</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-289"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-287">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-288'
	>
	<li>The <strong><a href="https://infinum.com/handbook/accessibility/web/aria/introduction" target="_blank" rel="noreferrer noopener">web development chapter</a></strong> explains accessibility semantics defined by the Accessible Rich Internet Application (ARIA). It describes how to apply accessibility semantics to common design patterns. This is what our WordPress and JavaScript teams have used to incorporate accessibility into their processes.</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-292"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-290">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-291'
	>
	<li>The <strong><a href="https://infinum.com/handbook/accessibility/mobile/accessibility-mobile-standards" target="_blank" rel="noreferrer noopener">mobile development chapter</a></strong> of the handbook explains how to create accessible native apps, including separate approaches for Android and iOS. </li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-295"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-293">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-294'
	>
	<li>The <strong><a href="https://infinum.com/handbook/accessibility/qa/accessibility-testing-for-mobile-apps/introduction" target="_blank" rel="noreferrer noopener">quality assurance chapter</a></strong> presents testing methods for web and mobile platforms. It includes our recommendations for testing accessibility plus provides guidance for testing with assistive technologies. </li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-298"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-296">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-297'
	>
	Now, let’s look at accessibility standards in a little more depth.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-301"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-299">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-300'
	>
	<strong>Evolving the existing accessibility standards to address the mobile experience</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-304"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-302">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-303'
	>
	As the World Wide Web grew, standards had to be developed to ensure its long-term growth and the organization in charge of those standards is the World Wide Web Consortium (W3C). Because of its massive popularity, the Web is the first platform that had to incorporate accessibility standards. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-307"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-305">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-306'
	>
	These standards are presented in the Web Content Accessibility Guidelines (WCAG), a part of a series published by the W3C. However, while the WCAG provides a definitive set of instructions for creating accessible websites, which includes mobile and responsive websites, mobile apps are still not covered in sufficient detail. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-310"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-308">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-309'
	>
	If you look into Google and Apple’s design guidelines, you’ll find that they do cover mobile apps and take accessibility into account. However, they mostly include patterns specific to each platform.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-313"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-311">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-312'
	>
	A neutral body like the W3C does not exist for mobile apps and there is no single gold standard like the WCAG, which is why we had to find our own path for <a href="https://infinum.com/blog/best-practices-accessibility-design/">making mobile products accessible</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-315"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-314'
	>
	<strong>Based on WCAG, we have come up with a universal accessibility approach that covers both mobile platforms and the mobile Web and includes accessibility in the lifecycle of digital products. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-318"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-316">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-317'
	>
	We have been implementing the guidelines in projects that have some of the widest user bases, such as banking and telecom apps.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-321"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-319">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-320'
	>
	Digital accessibility principles by Infinum, structured according to WCAG</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-324"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-322">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-323'
	>
	The digital accessibility principles we implement in our projects are organized in the same way as the WCAG principles. There are three conformance levels across four categories – level A being the minimum level of accessibility in a digital product.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-328"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-325">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-326'
	>
	<strong>Level A</strong> guidelines</p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-327'
	>
	Includes providing text alternatives for non-text content, making sure that the site is usable when stylesheets are turned off, and ensuring that the site is keyboard accessible. It level also includes support for TalkBack/VoiceOver. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-332"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-329">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-330'
	>
	<strong>Level A</strong>A guidelines</p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-331'
	>
	On top of the Level A guidelines, this level takes additional steps to ensure that content is accessible to users in a wider range of scenarios. Most accessibility regulations require this level at the moment. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-336"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-333">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-334'
	>
	<strong>Level A</strong>AA guidelines</p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-335'
	>
	Represents the highest level of conformance and the strictest set of guidelines. It aims to make information and user interfaces accessible to all users, including those with severe disabilities. This level is recommended for tools that have elderly and disabled people as a target group.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-339"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-337">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-338'
	>
	Each of the levels is applied to the four main categories: perceivable, operable, understandable, and robust. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-343"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-340">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-341'
	>
	<strong>Perceivable</strong></p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-342'
	>
	Information and user interface components must be presentable to users in ways that they can perceive.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-347"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-344">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-345'
	>
	<strong><strong>Operable</strong></strong></p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-346'
	>
	User interface components and navigation must be easy to use and intuitive. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-351"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-348">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-349'
	>
	<strong><strong><strong>Understandable</strong></strong></strong></p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-350'
	>
	Information and the operation of the user interface must be clear for everyone to understand. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-355"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-352">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-353'
	>
	<strong><strong><strong>Robust</strong></strong></strong></p><p	class='typography typography--size-16-text-roman js-typography bullet__paragraph'
	data-id='es-354'
	>
	Information must be robust enough to be interpreted reliably by various user agents, including assistive technologies.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-358"
	 data-animation='slideFade' data-animation-target='inner-items'>
				<div class="wrapper__anchor" id="accessibility-levels"></div>
	
			<div class="block-heading" data-id="es-356">
	<h2	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-357'
	>
	Accessibility principles and levels, a breakdown</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-361"
	 data-animation-target='inner-items'>
		
			<div class="block-group" data-id=es-360>
	
<div
	class="wrapper"
	data-id="es-359"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			
<figure class="wp-block-table is-style-first-column-strong-white-space-wrap-body-top-align is-style-stripes has-small-font-size"><table class="has-grey-200-background-color has-background"><tbody><tr><td></td><td><strong>A</strong></td><td><strong>AA</strong></td><td><strong>AAA</strong></td></tr><tr><td>Perceivable</td><td>Content must be presented in a way that can be perceived by the majority of users, including those with visual, auditory, or other types of disabilities.</td><td>Content must be presented in a way that can be perceived by a wider range of users, including those with color blindness or impaired vision.</td><td>Content must be presented in a way that can be perceived by the widest range of users, including those with more severe disabilities. For example, sign language interpretation should be provided for all audio content.</td></tr><tr><td>Operable<br><br><br></td><td>Content must be presented in a way that can be operated by the majority of users, including those with visual, auditory, or other types of disabilities.&nbsp;</td><td>Content must be presented in a way that can be operated by a wider range of users, including those with visual or cognitive disabilities.</td><td>Content must be presented in a way that can be operated by the widest range of users, including those with more severe disabilities.</td></tr><tr><td>Understandable</td><td>Content must be presented in a way that can be understood by the majority of users, including those with cognitive disabilities. For example, instructions should be clear and concise.</td><td>Content must be presented in a way that can be understood by a wider range of users, including those with limited literacy or who speak languages other than the primary language of delivery. For example, abbreviations and acronyms should be defined.<br></td><td>Content must be presented in a way that can be understood by the widest range of users, including those with more severe cognitive disabilities.</td></tr><tr><td>Robust</td><td>Content must be presented in a way that is compatible with the majority of users, including assistive technologies. For example, all HTML code should be well-formed and valid.</td><td>Content must be presented in a way that is compatible with a wider range of users, including assistive technologies. For example, all content should be accessible without relying on any specific technology.<br></td><td>Content must be presented in a way that is compatible with the widest range of users, including assistive technologies. For example, all content should be accessible using a wide variety of technologies and devices.</td></tr></tbody></table><figcaption class="wp-element-caption">The breakdown of the differences between each level for the four principles of accessibility.</figcaption></figure>
		</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-364"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-362">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-363'
	>
	<strong>Establishing the guidelines is a team effort</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-367"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-365">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-366'
	>
	At Infinum, we started our digital product accessibility initiative by finding advocates from every production team. Their first task was to research accessibility principles and guidelines in their domain. However, individual work was not enough. It was crucial to put these advocates together and create comprehensive principles that cover all steps of the digital product development process. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-370"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-368">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-369'
	>
	After that, our advocates had workshops with the rest of their teams to incorporate accessibility into their processes. Each team laid out its process in its respective handbook.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-373"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-371">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-372'
	>
	Finally, we retrospectively applied accessibility principles to previous projects through accessibility audits.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-380"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<a	class="card-simple js-card-simple card-simple--is-ad block-card__card-simple card-simple--has-link js-card-simple-link card-simple__content-align--left"
	data-id="es-374"
	 href='https://infinum.com/blog/best-practices-accessibility-design/'>

	
	
	<div class="card-simple__content">
		<div class="card-simple__heading-wrap">
			<h2	class='typography typography--size-24-text js-typography card-simple__heading'
	data-id='es-375'
	>
	Want to learn how to make a digital product user-friendly for every user? Our designer Ana shared <strong><a href="https://infinum.com/blog/best-practices-accessibility-design/">8 tips for designing with accessibility in mind</a></strong>.</h2>		</div>

		<button	class="btn btn--color-infinum btn--size-small btn--width-default btn__icon-position--right card-simple__btn js-block-card-btn js-card-simple-link"
	data-id="es-377"
	 tabindex='-1'>
		<div class="btn__inner">
					<div	class='typography typography--size-none js-typography btn__label'
	data-id='es-378'
	>
	Read the article </div>		
		<i
	class="icon btn__icon icon--size-16 icon--scale-100"
	 aria-hidden='true' data-name='arrow-right-16' data-id='es-379'>
	<svg fill='none' height='16' viewBox='0 0 17 16' width='17' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g stroke='currentColor' stroke-width='2'><path d='m.5 7.99999 14 .00001'/><path d='m9.23352 2.7251 5.97848 5.97852'/><path d='m9.23352 13.2744 5.97848-5.9785'/></g></svg></i>	</div>
	</button>	</div>
</a>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-383"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-381">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-382'
	>
	<strong>Sharing the responsibility for digital accessibility</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-386"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-384">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-385'
	>
	We believe that digital product accessibility is not just a technical issue but also a social one, and as a socially aware company, we feel a responsibility toward the disabled. The difficulties they meet are often caused by barriers set by society, and it&#8217;s up to that same society to remove them.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-389"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-387">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-388'
	>
	We have set out on a journey to promote accessibility in the digital world. We will continue to share our approach, knowledge, and best practices about accessibility via <a href="https://infinum.com/handbook/" target="_blank" rel="noreferrer noopener">Infinum handbooks</a>, <a href="https://infinum.com/blog/" target="_blank" rel="noreferrer noopener">Infinum blog</a>, <a href="https://infinum.com/events/on-the-edge-of-ux/" target="_blank" rel="noreferrer noopener">Infinum talks</a>, and other platforms. So should you!</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-391"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-390'
	>
	Come along for the journey and start building with digital product accessibility in mind to create solutions that are truly every-user-friendly.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/digital-product-accessibility/">Boost Digital Product Accessibility and Leave No User Behind</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>33623https://infinum.com/uploads/2023/02/MasterConnect_UX_blogpost.webp</url>
				</image>
				<title>Pushing the Boundaries of IoT App Design</title>
				<link>https://infinum.com/blog/pushing-the-boundaries-of-iot-app-design/</link>
				<pubDate>Fri, 03 Feb 2023 12:25:58 +0000</pubDate>
				<dc:creator>Emanuel Loborec</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=33623</guid>
				<description>
					<![CDATA[<p>How we tackled IoT app design on Philips MasterConnect, the core tool for setting up and configuring smart lighting networks in commercial buildings. </p>
<p>The post <a href="https://infinum.com/blog/pushing-the-boundaries-of-iot-app-design/">Pushing the Boundaries of IoT App Design</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-432"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-394">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-397"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-395">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-396'
	>
	<a href="https://infinum.com/iot-solution-development/">IoT solution development</a> opens up incredible possibilities, but it also brings unique complexities that require thoughtful execution. Have you ever stopped to think about the challenges that come with <a href="https://infinum.com/custom-iot-solutions/" target="_blank" rel="noreferrer noopener">Internet of Things (IoT) app design</a>?</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-400"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-398">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-399'
	>
	In this article, we’re diving into the complexities of designing the UX of the <a href="https://infinum.com/work/philips-masterconnect-iot-lighting/" target="_blank" rel="noreferrer noopener">Philips MasterConnect app</a>, the core tool for setting up and configuring smart lighting networks in commercial buildings. The app helps light system installers manage connected lighting systems and brings complex hardware-software interactions, while championing simplicity.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-407"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<a	class="card-simple js-card-simple card-simple--is-ad block-card__card-simple card-simple--has-link js-card-simple-link card-simple__content-align--left"
	data-id="es-401"
	 target='_blank' rel='noopener noreferrer' href='https://infinum.com/consumer-iot-adoption/'>

	
	
	<div class="card-simple__content">
		<div class="card-simple__heading-wrap">
			<h2	class='typography typography--size-24-text js-typography card-simple__heading'
	data-id='es-402'
	>
	How are consumers adopting IoT solutions? Our report <strong>uncovers key trends and insights shaping smart device landscape</strong> in 2024 and beyond.</h2>		</div>

		<button	class="btn btn--color-infinum btn--size-small btn--width-default btn__icon-position--right card-simple__btn js-block-card-btn js-card-simple-link"
	data-id="es-404"
	 tabindex='-1'>
		<div class="btn__inner">
					<div	class='typography typography--size-none js-typography btn__label'
	data-id='es-405'
	>
	Download for free </div>		
		<i
	class="icon btn__icon icon--size-16 icon--scale-100"
	 aria-hidden='true' data-name='arrow-right-16' data-id='es-406'>
	<svg fill='none' height='16' viewBox='0 0 17 16' width='17' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g stroke='currentColor' stroke-width='2'><path d='m.5 7.99999 14 .00001'/><path d='m9.23352 2.7251 5.97848 5.97852'/><path d='m9.23352 13.2744 5.97848-5.9785'/></g></svg></i>	</div>
	</button>	</div>
</a>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-410"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-408">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-409'
	>
	<strong>IoT opportunities are too good to ignore</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-413"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-411">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-412'
	>
	The <a href="https://infinum.com/blog/iot-from-evolution-to-revolution/" target="_blank" rel="noreferrer noopener">benefits of IoT devices are too great to ignore</a>. They bring significant cost savings, efficiency, and a better user experience – all reasons we should embrace the challenges and <a href="https://infinum.com/custom-iot-solutions/" target="_blank" rel="noreferrer noopener">push the boundaries of IoT app design</a>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-416"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-414">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-415'
	>
	At the same time, designing an IoT app like MasterConnect is a whole different ballgame compared to, e.g., banking or telecommunications apps. With IoT, you’re dealing with not just the user, app, and cloud but also multiple connected devices, all exchanging information in real time. It’s a technical minefield, which is why it’s so important to do your research, validate design decisions, keep things simple, and keep the user experience front and center. In this particular instance of IoT app design, the interactions between the users, the devices, the app, and the cloud have to be as smooth as possible.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-419"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-417">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-418'
	>
	<strong>The number of entities exchanging information can add up</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-422"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-420">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-421'
	>
	In typical everyday apps, the app interacts with the user and the database stored in the cloud. So whatever the user does in the app, it is a matter of interaction between them, the app, and the cloud.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-425"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-423">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-424'
	>
	However, with IoT, we do not just have the user, the app, and the cloud but also <a href="https://infinum.com/blog/secure-iot-connectivity/" target="_blank" rel="noreferrer noopener">a plethora of connected devices that exchange data</a>. The Philips MasterConnect app can hold up to 500 connected lights, switches, sensors, and gateways. Not only does the app communicate with all these devices, but we also use it to control how the devices communicate with each other.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-427"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-426'
	>
	Since the end user is at the center of our development process, we never compromise on usability. For example, if someone wanted to power on all the lights in a warehouse, they would have to be in the range of only one light, and the others would also light up.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-430"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-428">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-429'
	>
	Solutions like this make the product a perfect fit for every lighting system size, but IoT app design becomes far more complex.</p></div>	</div>
</div>
</div>		</div>
	</div>

<div
	class="wrapper"
	data-id="es-468"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-433">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-436"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-434">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-435'
	>
	Research and validation are critical for IoT app design </h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-439"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-437">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-438'
	>
	Since most <a href="https://infinum.com/custom-iot-solutions/" target="_blank" rel="noreferrer noopener">Internet of Things projects</a> are relatively big, with a long development time (more than two years), IoT app design has to be considered &#8211; and nailed down right from the start. Any slight change can result in much extra development effort, even if it is just a small UI thing. That’s why it is essential to research and validate before making any big design decision.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-442"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-440">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-441'
	>
	Most IoT app design solutions often have to be a bit conservative in order to be future-proof. For example, in our app, devices belong to projects divided into groups consisting of zones and areas. Additionally, we have cloud backup, access sharing, and many other features. The navigation has to be set up well to make the app more intuitive and easier to use.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-445"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-443">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-444'
	>
	Interacting with physical devices for usability testing can get complicated</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-448"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-446">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-447'
	>
	Usability testing is one of the main UX techniques used to evaluate the usability of an app. In recent years, unmoderated and remote usability tests which eliminate the need for participants to travel to a physical location have become increasingly popular because of their cost-effectiveness, flexibility, and efficiency.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-451"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-449">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-450'
	>
	However, when it comes to testing the usability of IoT apps, it is usually necessary to conduct the test in person. This is because testing the app’s usability requires interacting with the physical devices. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-454"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-452">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-453'
	>
	Therefore, tests are typically done in the lab where the app is being developed. Additionally, during the <a href="https://infinum.com/custom-app-development-services/">app design and development process</a>, the IoT devices are often still in the prototype phase, making it difficult to ship them to remote users for testing.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-457"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-455">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-456'
	>
	<strong>Commissioning of lights, switches, and sensors needs to be well thought-out</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-460"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-458">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-459'
	>
	The rationale for keeping the <a href="https://infinum.com/iot-implementation/" target="_blank" rel="noreferrer noopener">IoT app design</a> conservative is to facilitate its technical complexity. A lot of research and development effort is required to come up with seemingly simple features, such as switching the lights on or off wirelessly using a wireless switch or sensor.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-463"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-461">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-462'
	>
	For example, commissioning lights, switches, and sensors are pretty complicated because a lot of user input is needed for the process to be done precisely the way it is required in a building.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-466"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-464">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-465'
	>
	Also, many factors need to be taken into account, like which group, zone, or area we should place the device in. Also, its firmware versions must be matched with other devices; sensors need calibration, etc.</p></div>	</div>
</div>
</div>		</div>
	</div>

<div
	class="wrapper"
	data-id="es-512"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-469">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-472"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-470">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-471'
	>
	<strong>Slower interactions require additional UX effort</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-475"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-473">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-474'
	>
	A big friction factor in IoT is that the delays between mobile phones and connected devices are significantly longer than the usual communication between a mobile phone and the database in the cloud.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-478"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-476">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-477'
	>
	One of the reasons for it can be a lot of interference between different signals and considerable distances between phones and devices. That’s why certain actions in IoT apps are fairly slow, so some interactions need to be tweaked, so the UX does not suffer.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-481"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-479">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-480'
	>
	<strong><strong>Wireless technology brings long-term flexibility</strong></strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-484"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-482">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-483'
	>
	Wireless technology impacts overall efficiency – it cuts down the time and effort required to service the network and lets light systems installers do their work faster. It also brings long-term flexibility in using the building since lights that are controlled by switches and sensors are not connected by wire so we can rearrange lighting in a building way easier.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-486"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-485'
	>
	The reduction in installation and maintenance time can mean up to 50% in cost savings. In addition, thanks to the wireless system&#8217;s flexibility and the ability to adapt to occupants of buildings, up to 75% of energy is saved compared to conventional lighting.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-489"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-487">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-488'
	>
	<strong>Using IOT specifics to the designer&#8217;s advantage</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-492"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-490">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-491'
	>
	There are other features that help light system installers use most of the IoT nature of the system. For example, users can use the app to blink one or more lights. The lights users select are shown with a blinking animation in the app. A nice trick to help users identify the light.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-495"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-493">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-494'
	>
	Blinking can also be used on a bigger scale. For instance, users can blink a specific set of lights, like all lights that belong to a specific group or zone, to identify if the grouping of lights on the ceiling corresponds to their arrangement in the app.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-498"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-496">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-497'
	>
	Also, we can use the lights to indicate progress. For example, if there is a particular action the installer needs to do on multiple lights, we can dim all lights that do not need the installer’s attention while the others can be on full brightness. Once they are done with what they need to do with the light, it can be dimmed down. That feature could be used to update the firmware of lights, rename them, reorganize them, or something else.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-501"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-499">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-500'
	>
	IoT App Design &#8211; the next frontier</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-504"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-502">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-503'
	>
	<a href="https://infinum.com/work/philips-masterconnect-iot-lighting/" target="_blank" rel="noreferrer noopener">Philips MasterConnect</a> simplifies the complex task of managing connected lighting systems in commercial buildings. While IoT app design as such brings challenges that require extra research, validation, and usability testing to ensure a smooth and efficient user experience, the potential outcomes are worth the effort.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-507"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-505">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-506'
	>
	With Master Connect’s design geared towards getting the most out of its technical potential, it is a prime smart lighting management solution and a step forward in the journey toward a sustainable future.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-510"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-508">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-509'
	>
	<em>To find out what else we can do in the Internet of Things realm, check out our <a href="https://infinum.com/custom-iot-solutions/" target="_blank" rel="noreferrer noopener">IoT solutions page</a>.</em></p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/pushing-the-boundaries-of-iot-app-design/">Pushing the Boundaries of IoT App Design</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>28153https://infinum.com/uploads/2022/09/0_Hero.webp</url>
				</image>
				<title>The Ultimate Figma Flavoring Tutorial</title>
				<link>https://infinum.com/blog/the-ultimate-figma-flavoring-tutorial/</link>
				<pubDate>Tue, 24 May 2022 16:21:00 +0000</pubDate>
				<dc:creator>Emanuel Loborec</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=28153</guid>
				<description>
					<![CDATA[<p>An ideal workflow for easily creating multiple flavors for apps that can be utilized for different brands or industries.</p>
<p>The post <a href="https://infinum.com/blog/the-ultimate-figma-flavoring-tutorial/">The Ultimate Figma Flavoring Tutorial</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-634"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-513">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-516"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-514">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-515'
	>
	Flavors are different versions of an app, with the same structure but changed looks. The differences vary from color palettes to completely different branding, including logos, fonts, and other visual elements.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-519"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-517">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-518'
	>
	Apps that can be utilized for different brands or industries are often made to support multiple flavors. We&#8217;ll go through an ideal workflow for easily creating multiple flavors based on quite a bit of experience working on B2B enterprise apps, each customized for a specific business.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-522"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-520">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-521'
	>
	The base flavor</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-525"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-523">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-524'
	>
	First, let&#8217;s create a version of the app where we define the style guide, the design system (including all components and their states), and all screens. This is either a non-branded version or one for a brand that will have the app first. Let&#8217;s use this simple app for a pastry shop as an example. <strong><a href="https://www.figma.com/file/p1Wtc5RJuLvTiGWvL3BHsS/TO-BE-MADE-PUBLIC-The-Ultimate-Figma-Flavoring-Tutorial?node-id=3%3A853" target="_blank" rel="noreferrer noopener">We created a comprehensive Figma file</a></strong> that consists of everything we need. That&#8217;s why we are turning that file into a library.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-528"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-526"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-527">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/1_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/1_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-531"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-529">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-530'
	>
	Colors</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-534"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-532">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-533'
	>
	It&#8217;s essential to define a color palette with all the colors we will use in the app. That color palette will be changed for each brand, so each flavor will have its own palette. We can add some gradients to the palette as well.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-537"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-535">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-536'
	>
	Palette</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-540"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-538"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-539">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/2_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/2_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-543"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-541">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-542'
	>
	We can define some colors that stay the same across brands, usually white and some grays. Maybe some signal colors as well (error, warning, success).<br><br>For example, we imagined two different brands, a restaurant and a fruit store.<br><br>For each brand we defined 6 color styles:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-546"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-544">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-545'
	>
	<li>primary</li><li>secondary</li><li>item color 1</li><li>item color 2</li><li>item color 3</li><li>background-color-style</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-549"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-547">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-548'
	>
	File setup and adding other flavors</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-552"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-550">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-551'
	>
	To create more flavors based on the first one, we need to create a new file in the same project. From there, we have two ways to create the UI for other flavors in the new file.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-555"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-553">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-554'
	>
	The first way: Instances of screens</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-558"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-556">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-557'
	>
	We can create some key screens from the original flavor file as components and add their instances (child components) to other UI flavors. That way, all design changes on the master components are inherited by other flavor files. Nothing is detached from the library. After that, we can select all screens and change colors from one brand to another.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-561"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-559"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-560">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/4_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/4_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

			<figcaption class="image__figcaption block-media__image-figcaption">
			There is a plugin called Themer that can do that color switching for you. How to use it is well explained <strong><a href="https://medium.com/incentrodesign/swapping-brands-with-themer-e5f123a6bc43" target="_blank" rel="noreferrer noopener">here.</a></strong>		</figcaption>
	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-564"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-562">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-563'
	>
	The other way: File duplicates</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-567"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-565"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-566">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/5_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/5_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-570"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-568">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-569'
	>
	The other way is to copy all screens on each Figma page and paste them to a new brand&#8217;s file, with the same color switching (manually or with a plugin).</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-573"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-571">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-572'
	>
	The drawback of this method is that there is no connection between the child screens, so keeping all flavors updated requires some work. It&#8217;s good practice to leave a note when all instances of a screen for other brands are up to date. Usually, when I&#8217;m doing some design changes on a screen, I note that all changes are applied to other brands, and I put it back after I make sure all screens are up to date.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-576"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-574"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-575">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/6_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/6_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-579"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-577">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-578'
	>
	Minor adjustments</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-582"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-580">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-581'
	>
	To switch other assets (logos, photos, illustrations, or icons) to the new brand, we need to do it one by one since there is no way to do that automatically in Figma.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-585"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-583">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-584'
	>
	However, if everything is set up well, including organizing everything using Variants, that should be pretty easy. We just go screen by screen and change a variant to the one that fits the flavor.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-588"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-586"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-587">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/7_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/7_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-591"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-589">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-590'
	>
	Fonts</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-594"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-592">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-593'
	>
	Currently, Figma does not support swapping text styles on multiple screens at once. However, the Themer plugin can do it for us. One thing to keep in mind is that one structure and layout might not work for a wide range of fonts, so we have to choose fonts keeping their proportions in mind. That&#8217;s why I advise using the same typography for all flavors. If that is too limiting, one text style can be used for all body text in the app, while subtitles can be custom-made for each flavor. This way, less stuff can go wrong when we create new flavors.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-597"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-595"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-596">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/8_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/8_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-600"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-598">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-599'
	>
	Graphic assets</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-603"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-601">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-602'
	>
	For icons, it&#8217;s best to use the same icon set for all flavors. That way, we don&#8217;t need to pay attention to having distinct icons for each flavor. For illustrations and some other assets, it&#8217;s good practice to organize them in Figma Variants, with the brand being one property. That way, we can quickly swap different versions of the same asset.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-606"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-604"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-605">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/9_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/9_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-609"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-607">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-608'
	>
	Assets export</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-612"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-610">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-611'
	>
	It&#8217;s important to name all assets in Figma properly so you can quickly navigate through them. When you select all these assets and export them, they will be organized in a folder structure according to the names in Figma. That is very useful for developers since they have their own project folder file structure for each platform. This means that they will have to place each asset into the belonging folder manually. That could get tiring when they have to place all assets for a new flavor.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-615"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-613">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-614'
	>
	Pro tip for easy handoff</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-618"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-media">
	<div	class="media block-media__media media__border--none media__align--center-center"
	data-id="es-616"
	 data-media-type='image'>

	<figure class="image block-media__image-figure image--size-stretch" data-id="es-617">
	<picture class="image__picture block-media__image-picture">
								
			<source
				srcset=https://infinum.com/uploads/2022/09/10_Visual-1400x525.webp				media='(max-width: 699px)'
				type=image/webp								height="525"
												width="1400"
				 />
												<img
					src="https://infinum.com/uploads/2022/09/10_Visual.webp"
					class="image__img block-media__image-img"
					alt=""
										height="600"
															width="1600"
										loading="lazy"
					 />
					</picture>

	</figure></div></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-621"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-619">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-620'
	>
	I found it useful to create instances of all graphic components in a naming structure that corresponds to the file structure in the project folder for development. When we export these assets, they are already organized in folders as they are in the development project folder. This makes it very easy to import all assets in a project.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-624"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-622">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-623'
	>
	Conclusion</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-627"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-625">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-626'
	>
	One of the things that are very important regarding the white-labeling process is to be consistent across different flavors. When we change something in one version, it&#8217;s important to do the exact change in other versions as well. Otherwise, we can quickly lose track of what is up to date and what is not. Luckily, this process helps us easily adapt complete UI across different flavors.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-630"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-628">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-629'
	>
	Take a look at how a file should be set up for the easy creation of new app flavors. Using this example, we explain the optimal approach for creating whitelabel apps in our post.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-632"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-24-text js-typography block-highlighted-text__typography'
	data-id='es-631'
	>
	<a href="https://www.figma.com/community/file/1000031175385030161">Whitelabeling template @ </a><a href="https://www.figma.com/community/file/1000031175385030161">figma.com</a></p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/the-ultimate-figma-flavoring-tutorial/">The Ultimate Figma Flavoring Tutorial</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>7868https://infinum.com/uploads/2021/01/engineer-working-as-designer-0.webp</url>
				</image>
				<title>An Engineer Working as a Digital Designer</title>
				<link>https://infinum.com/blog/engineer-working-as-designer/</link>
				<pubDate>Thu, 09 Sep 2021 13:40:00 +0000</pubDate>
				<dc:creator>Emanuel Loborec</dc:creator>
				<guid isPermaLink="false">https://infinum.com/the-capsized-eight/engineer-working-as-designer/</guid>
				<description>
					<![CDATA[<p>Embracing a background in tech and uniting it with design knowledge to create prime user experiences.</p>
<p>The post <a href="https://infinum.com/blog/engineer-working-as-designer/">An Engineer Working as a Digital Designer</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-731"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-635">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-638"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-636">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-637'
	>
	A while ago, while I was leading a design team of 15 members in an international engineering students’ association, I would often hear people say that they wanted to join the team. Yet, few would even sign up.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-641"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-639">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-640'
	>
	The stick-to-what-you-know mentality</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-644"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-642">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-643'
	>
	Whenever I asked why they didn’t join, I got the vibe that the majority simply didn’t believe they had what it takes – enough knowledge about design to begin with or the confidence that they would ever acquire it.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-647"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-645">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-646'
	>
	Even today, as I collaborate on a daily basis with engineers and other non-designer colleagues established in their respective professions, I often witness many of them are interested in design, but very few actually get around to educating themselves or exploring another discipline.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-652"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="blockquote block-blockquote__blockquote" data-id="es-648">
	
	<div class="blockquote__content">
		<i
	class="icon blockquote__icon icon--size-16 icon--scale-100"
	 aria-hidden='true' data-name='blockquote-24' data-id='es-649'>
	<svg fill='none' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path clip-rule='evenodd' d='m12 24c6.6274 0 12-5.3726 12-12 0-2.79685-.9568-5.37021-2.561-7.41062-.581.22951-1.0832.60583-1.5069 1.12898-.5132.60844-.7698 1.41969-.7698 2.43375v.07605h2.5789v5.59004h-5.6197v-5.01962c0-1.11547.154-2.06616.4619-2.85205.3336-.81125.757-1.48307 1.2702-2.01545.528-.52161 1.1175-.92155 1.7687-1.1998-2.0728-1.70651-4.7279-2.73128-7.6223-2.73128-6.62742 0-12 5.37258-12 12 0 6.6274 5.37258 12 12 12zm-3.53811-18.05347c-.30793.78589-.46189 1.73658-.46189 2.85205v5.01962h5.6197v-5.59004h-2.5789v-.07605c0-1.01406.2566-1.82531.7698-2.43375.5389-.63379 1.1804-1.05209 1.9245-1.2549v-2.28164c-.7441.07605-1.4626.25351-2.1555.53238-.6928.27887-1.3086.68449-1.84752 1.21688-.51321.53238-.9366 1.2042-1.27019 2.01545z' fill='currentColor' fill-rule='evenodd'/></svg></i><p	class='typography typography--size-36-text js-typography blockquote__quote'
	data-id='es-650'
	>
	Engineering is perceived to be a technical field, while design is thought to be creative work – but who says that combining the two isn’t a winning formula?</p>
		<div class="blockquote__caption-wrap">
					</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-655"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-653">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-654'
	>
	The best of both worlds</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-658"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-656">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-657'
	>
	I‘ve always been interested in technology and science but with a wish list future profession. After high school, I enrolled in the Faculty of Electrical Engineering and Computing, earned my Bachelor’s degree there – and then I decided to pursue a Master’s in Design. Wait; what?!</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-661"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-659">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-660'
	>
	As you might assume, I’m the biggest proponent of taking a multidisciplinary approach to things. Here’s how each of these disciplines, Engineering and Design, contributed to me becoming a better digital designer.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-664"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-662">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-663'
	>
	What’s taught at engineering uni that designers should know</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-667"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-665">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-666'
	>
	Building software 101</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-670"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-668">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-669'
	>
	One of the basic things I learned there is how to work on software. I had to get familiar with a vast number of technologies, architectures, and programming languages. That’s how I got to know and remember things that are common in most projects. Also, during my education, I had to work in teams with goals to create functional web or mobile apps – that’s what I do as a designer, as well.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-673"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-671">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-672'
	>
	Problem-solving skills</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-676"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-674">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-675'
	>
	In tech school, everything revolves around developing problem-solving skills. Learning about technologies that helps solve problems. When new issues emerge, you explore new solutions. That’s how science works. Funny enough, that’s how design works as well.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-679"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-677">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-678'
	>
	As a digital designer, I solve problems with solutions that are visual, organizational, or experienced. However, the logical reasoning behind proper problem-solving is always the same. A wide spectrum of math-related subjects really improves logical thinking.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-682"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-680">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-681'
	>
	A technical perspective</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-685"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-683">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-684'
	>
	Needless to say, technical education meant learning about some tech-specific stuff. I got to know the frameworks, when it’s better to use waterfall, and when agile can be more efficient. I learned how to read entity and sequence diagrams and about how they are useful in the early design stages. I got to know the difference between native and custom components. These things are not taught in design schools, although they are crucial in digital design.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-688"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-686">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-687'
	>
	Communicating in the tech lingo</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-691"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-689">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-690'
	>
	In most digital agencies, developers make up to 70% of the workforce. At Infinum, among some 270 people, there are 25 designers. Working in a digital agency, this means one will spend most of the time collaborating with <em>developers</em>. Knowing their lingo and way of thinking is a huge plus in reducing the gaps between design teams and development teams.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-694"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-692">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-693'
	>
	Why the design perspective is priceless</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-697"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-695">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-696'
	>
	A user-centric perspective</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-700"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-698">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-699'
	>
	One of the fundamental skills of a designer is to be able to step into the user’s shoes, and I’ll admit that focusing on understanding technicalities made me step away from the user-centric way of thinking. A typical design process includes conducting target audience research, interviews, leading workshops, brainstorming sessions, defining concepts, and usability testing… The list goes on.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-703"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-701">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-702'
	>
	That’s a lot of interactive work with people from all kinds of backgrounds, together with a bunch of data to process. The crucial part of the complete workflow is making decisions with confidence.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-706"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-704">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-705'
	>
	Both creativity and efficiency</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-709"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-707">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-708'
	>
	While the sense for well-organized and structured output is always desired, it should never limit visual creativity skills. Fresh and exciting experiences should have a dose of thrill, along with an innovative look and feel. It took me a while to unleash my creativity, beyond focusing on efficiency and optimizing everything. That’s also why it makes sense that plenty of designers are from an art background, doing excellent work in agencies.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-712"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-710">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-711'
	>
	The design community</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-715"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-713">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-714'
	>
	Another aspect I missed out on in the beginning was being part of a community. Design schools connect you with experienced designers from the early days. That is really helpful since networking and learning from the right people are crucial to kick-start a career. It is not easy to connect with other designers when you are in a tech school, so I only truly became a part of the design community after diving right into the field and starting my Design Master’s.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-718"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-716">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-717'
	>
	Dare to explore the unknown</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-721"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-719">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-720'
	>
	At first, I had a pretty strong impostor syndrome – an array of feelings and fears of not being good enough, common when stepping outside of one’s comfort zone. It’s important not to give in to the uncertainty but to utilize what you’d learned before in a new way. This way, you can enrich your team with new knowledge and a fresh perspective.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-726"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="blockquote block-blockquote__blockquote" data-id="es-722">
	
	<div class="blockquote__content">
		<i
	class="icon blockquote__icon icon--size-16 icon--scale-100"
	 aria-hidden='true' data-name='blockquote-24' data-id='es-723'>
	<svg fill='none' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path clip-rule='evenodd' d='m12 24c6.6274 0 12-5.3726 12-12 0-2.79685-.9568-5.37021-2.561-7.41062-.581.22951-1.0832.60583-1.5069 1.12898-.5132.60844-.7698 1.41969-.7698 2.43375v.07605h2.5789v5.59004h-5.6197v-5.01962c0-1.11547.154-2.06616.4619-2.85205.3336-.81125.757-1.48307 1.2702-2.01545.528-.52161 1.1175-.92155 1.7687-1.1998-2.0728-1.70651-4.7279-2.73128-7.6223-2.73128-6.62742 0-12 5.37258-12 12 0 6.6274 5.37258 12 12 12zm-3.53811-18.05347c-.30793.78589-.46189 1.73658-.46189 2.85205v5.01962h5.6197v-5.59004h-2.5789v-.07605c0-1.01406.2566-1.82531.7698-2.43375.5389-.63379 1.1804-1.05209 1.9245-1.2549v-2.28164c-.7441.07605-1.4626.25351-2.1555.53238-.6928.27887-1.3086.68449-1.84752 1.21688-.51321.53238-.9366 1.2042-1.27019 2.01545z' fill='currentColor' fill-rule='evenodd'/></svg></i><p	class='typography typography--size-36-text js-typography blockquote__quote'
	data-id='es-724'
	>
	Heterogeneous teams always perform better, as matters can be observed from different standpoints by people from different backgrounds.</p>
		<div class="blockquote__caption-wrap">
					</div>
	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-729"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-727">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-728'
	>
	Finally, what appealed to me the most about becoming a digital designer is being in the position to shape the future of products we are working on, expanding the boundaries to reach innovative solutions, and taking problem-solving strategies to a new level. That’s a responsible challenge, but to me, it is the most exciting job in the world.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/engineer-working-as-designer/">An Engineer Working as a Digital Designer</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>