<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Menai Ala Eddine</title>
    <description>The latest articles on Forem by Menai Ala Eddine (@menaiala).</description>
    <link>https://forem.com/menaiala</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F365506%2F6899a10e-25cc-458a-9620-0dd2ae5f031d.png</url>
      <title>Forem: Menai Ala Eddine</title>
      <link>https://forem.com/menaiala</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/menaiala"/>
    <language>en</language>
    <item>
      <title>Visual Hierarchy : Definition</title>
      <dc:creator>Menai Ala Eddine</dc:creator>
      <pubDate>Sun, 07 Mar 2021 11:56:47 +0000</pubDate>
      <link>https://forem.com/menaiala/visual-hierarchy-definition-42lf</link>
      <guid>https://forem.com/menaiala/visual-hierarchy-definition-42lf</guid>
      <description>&lt;p&gt;As a front-end engineers, we may not give a deep focusing to UX Design, but understanding the basics will help us to discuss and improve the workflow between us ( Front-end engineers ) and UX/UI engineers.&lt;/p&gt;

&lt;p&gt;In this article, we will take a look at the  Visual Hierarchy and its importance in the UI Design.&lt;/p&gt;

&lt;p&gt;Have you ever encountered a busy web apps where the UI Patterns ( elements ) are competitive or unordered?&lt;/p&gt;

&lt;p&gt;If yes, I'm sure that you struggled to get your task done, or even where to start if its your first usage.&lt;/p&gt;

&lt;p&gt;These web apps have a &lt;strong&gt;lack of visual hierarchy&lt;/strong&gt;, but what's the definition of &lt;b&gt;Visual Hierarchy&lt;/b&gt;?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Visual Hierarchy is the organization of UI Patterns in the page or the screen which guides users eyes to the most important element and controls the delivery of information for the end users.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can create the visual hierarchy by using:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Color and Contrast.
&lt;/h4&gt;

&lt;h4&gt;
  
  
  2. Scale.
&lt;/h4&gt;

&lt;h4&gt;
  
  
  3. Proximity.
&lt;/h4&gt;





&lt;h3&gt;
  
  
  1. Color and Contrast
&lt;/h3&gt;

&lt;ul&gt;

&lt;li&gt;Applying &lt;b&gt;bright colors&lt;/b&gt; for important items, and &lt;b&gt;less saturated colors&lt;/b&gt; for lesser important items.&lt;/li&gt;


&lt;li&gt;Use &lt;b&gt;heavy-weight&lt;/b&gt; typefaces to attract attention&lt;/li&gt;


&lt;li&gt;Don't use too many colors which makes users overwhelming. It would be better to use between &lt;b&gt;2 to 3&lt;/b&gt; colors.&lt;/li&gt;


&lt;li&gt;Don't use many contrast variations. This will lead to competitive elements.&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Scale
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bigger elements stand out and attract users's eyes.&lt;/li&gt;

&lt;li&gt;Use less then &lt;b&gt;3 variations&lt;/b&gt; for the size.&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Proximity
&lt;/h3&gt;

&lt;ul&gt;

&lt;li&gt;
Implicit and explicit grouping help us discovering the content easily.
&lt;/li&gt;

&lt;li&gt;
Give much space between the UI elements.
&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>design</category>
      <category>ux</category>
    </item>
    <item>
      <title>Ask yourself these questions before you design</title>
      <dc:creator>Menai Ala Eddine</dc:creator>
      <pubDate>Mon, 19 Oct 2020 09:58:24 +0000</pubDate>
      <link>https://forem.com/menaiala/ask-yourself-these-questions-before-you-design-241o</link>
      <guid>https://forem.com/menaiala/ask-yourself-these-questions-before-you-design-241o</guid>
      <description>&lt;p&gt;Before you start designing any feature, I recommend to ask yourself these questions:&lt;/p&gt;

&lt;p&gt;→ Who are my users?&lt;/p&gt;

&lt;p&gt;→ What are my users trying to accomplish?&lt;/p&gt;

&lt;p&gt;→ How do my users think about what they’re trying to accomplish?&lt;/p&gt;

&lt;p&gt;→ What kind of experiences do my users find appealing and rewarding?&lt;/p&gt;

&lt;p&gt;→ How should my product behave?&lt;/p&gt;

&lt;p&gt;→ What form should my product take?&lt;/p&gt;

&lt;p&gt;→ How will users interact with my product?&lt;/p&gt;

&lt;p&gt;→ How can my product’s functions be most effectively organized?&lt;/p&gt;

&lt;p&gt;→ How will my product introduce itself to first-time users?&lt;/p&gt;

&lt;p&gt;→ How can my product put an understandable, appealing, and controllable face on technology?&lt;/p&gt;

&lt;p&gt;→ How can my product deal with problems that users encounter?&lt;/p&gt;

&lt;p&gt;→ How will my product help infrequent and inexperienced users understand how to accomplish their goals?&lt;/p&gt;

&lt;p&gt;→ How can my product provide sufficient depth and power for expert users?&lt;/p&gt;

</description>
      <category>ui</category>
      <category>ux</category>
      <category>design</category>
    </item>
    <item>
      <title>Why you should create design systems, not pages?</title>
      <dc:creator>Menai Ala Eddine</dc:creator>
      <pubDate>Sun, 27 Sep 2020 13:01:40 +0000</pubDate>
      <link>https://forem.com/menaiala/why-you-should-create-design-systems-not-pages-2i8b</link>
      <guid>https://forem.com/menaiala/why-you-should-create-design-systems-not-pages-2i8b</guid>
      <description>&lt;p&gt;In my second year of computer science study, our web development teacher gave us a home challenge which is creating a simple dynamic web application with HTML, CSS3, JavaScript, PHP, and MySQL.&lt;/p&gt;

&lt;p&gt;In fact, I was not a big fan of PHP and MySQL because I like to show people what I made and by nature, people love the appearance of the thing. Most of the time I was looking for a way to let my classmates and our teacher say Wow! How could you build it? Thank you to JQuery of course.&lt;/p&gt;

&lt;p&gt;In the past, before I start any web project, the first step I get used to doing is browsing a template that fits the domain or the personality of the application. I was spending sometimes a day making the decision.&lt;/p&gt;

&lt;p&gt;Obviously, finding the right template was not a thing to think about it, but customize and edit the source code based on my needs was the hardest challenge for me.&lt;/p&gt;

&lt;p&gt;Before I download the template, I was checking the number of pages, the weight of each page, the structure of CSS3, and the complexity of JavaScript code. Indeed, I was facing a big problem with extending the template by creating my customizable pages that look consistent with others even I use its CSS3 classes.&lt;/p&gt;

&lt;p&gt;I was asking myself:&lt;/p&gt;

&lt;p&gt;→ How long will that page take to build?&lt;br&gt;
→ How will it look consistent with other pages?&lt;br&gt;
→ How can I extract the components and build a new page with them?&lt;/p&gt;

&lt;p&gt;I was considering the page as an isolated, uniform thing. The fact is the components or the elements that make that page consistent is the uniform, isolated, and quantifiable thing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw62iga0uuv0a92wqrkr4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw62iga0uuv0a92wqrkr4.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The image above describes my mindset about web elements. On the left, It's the monolithic design and in the right, it's the modular design.&lt;/p&gt;

&lt;h3&gt;
  
  
  Modular Design
&lt;/h3&gt;

&lt;p&gt;Brad Frost released a book called: The Atomic Design. When you read this book you'll discover how Brad Frost explained the web design inspired by the world of Atoms. What're matters for us now, is how to create &lt;strong&gt;modular&lt;/strong&gt; user interfaces that become &lt;strong&gt;maintainable&lt;/strong&gt; in the future.&lt;/p&gt;

&lt;p&gt;Making your UI modular means breaking the large and complex visual explorations into smaller chunks, called &lt;strong&gt;elements&lt;/strong&gt; or &lt;strong&gt;components&lt;/strong&gt;, which save us &lt;strong&gt;time&lt;/strong&gt;  and make the user interfaces more &lt;strong&gt;consistent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;With the rise of new methodologies for architecture CSS3 such as BEM, OOCSS, and SMACSS, and the modern frameworks such as Bootstrap, Semantic UI, and Foundation, designers and developers spend less time to design &lt;strong&gt;scalable&lt;/strong&gt; and &lt;strong&gt;maintainable&lt;/strong&gt; user interfaces.&lt;/p&gt;

&lt;p&gt;So these frameworks address the need of &lt;strong&gt;rapid prototyping&lt;/strong&gt; by providing &lt;strong&gt;customizable&lt;/strong&gt;, &lt;strong&gt;well-tested&lt;/strong&gt;, and &lt;strong&gt;ready-to-use&lt;/strong&gt; components.&lt;/p&gt;

&lt;p&gt;However, even these front-end frameworks provide a &lt;em&gt;specific&lt;/em&gt; solution for speed up the development, the end-user interface will be the same for different brands!&lt;/p&gt;

&lt;p&gt;This is one of the cons of these frameworks, because everyone uses the same &lt;strong&gt;components&lt;/strong&gt; and &lt;strong&gt;layouts&lt;/strong&gt; to design the page.  Imagine Facebook, Amazon, and Apple use the same UI framework to build their user interface, you'll find the same UI with different colors!&lt;/p&gt;

&lt;p&gt;Furthermore, creating &lt;strong&gt;customizable&lt;/strong&gt; components using these frameworks means following their &lt;strong&gt;conventions&lt;/strong&gt;, &lt;strong&gt;code structure&lt;/strong&gt; and &lt;strong&gt;styleguide&lt;/strong&gt;. So the developers need to understand the architecture and the API of these frameworks which means invest more time for learning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Systems, The future of UI development
&lt;/h3&gt;

&lt;p&gt;Do you know &lt;a href="https://material.io/design/" rel="noopener noreferrer"&gt;Material Design&lt;/a&gt;? If yes, this is what I'm talking about.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@craftui" rel="noopener noreferrer"&gt;Alla Kholmatova&lt;/a&gt; said there's not a standard definition of “design system” within the web community and people use the term in different ways, but she defined it as :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A set of interconnected patterns and shared practices coherently organized to serve the purpose of a digital product. Patterns are the repeating elements that we combine to create an interface: things like user flows, interactions, buttons, text fields, icons, colors, typography, microcopy. Practices are how we choose to create, capture, share, and use those patterns, particularly when working in a team.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So instead of consuming built-in UI patterns from Bootstrap, you'll design and develop your own patterns by creating your own &lt;strong&gt;standards&lt;/strong&gt; and &lt;strong&gt;style guide&lt;/strong&gt;. If you're deciding to create a social media app, for instance, you'll need to create your own &lt;strong&gt;like&lt;/strong&gt;, &lt;strong&gt;comment&lt;/strong&gt;, and &lt;strong&gt;share&lt;/strong&gt; components that distinguish your application from your competitors. Also, if you'll create &lt;strong&gt;Data Visualization&lt;/strong&gt; platform, &lt;br&gt;
&lt;strong&gt;charts&lt;/strong&gt;, &lt;strong&gt;progress bars&lt;/strong&gt; are the most potent component you need to build your user interfaces.  The idea is instead of creating &lt;strong&gt;templates&lt;/strong&gt; each time, you'll create your own &lt;strong&gt;UI System&lt;/strong&gt; that empowers you to build several products by influencing brand factors. These design patterns will create a mental model for users and customers.&lt;/p&gt;

&lt;h4&gt;
  
  
  But what are the benefits of design systems?
&lt;/h4&gt;

&lt;p&gt;Before we use any technology or approach we need to know its benefits. Let’s take a look at the many ways a design system can be a much-needed painkiller for your growing pains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistency:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Standardized components used consistently and repetitively create a more predictable and easy to understand the application. Standardized components also allow designers to spend less time focused on style and more time developing a better user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;faster:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When your product grows, you need to delight your customers by delivering new features. In the past, this means producing new code and start the development from scratch. But with a design system in place, you need only to iterate and integrate your UI patterns together to develop the feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick iterations:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The design system reduces effort from hundreds of lines of code to as little as a few characters. This makes iterations quick and painless, and experimentation much faster.&lt;/p&gt;

&lt;p&gt;In conclusion, design systems are not a fad or even an untested hypothesis. For the design to find the scale necessary to match the rapid growth of technology, component-based design and development is a proven and dependable solution.&lt;/p&gt;

&lt;p&gt;I've tried to show you the power of design systems and their impact on user interfaces. If you want to learn in-depth about the design systems, I'd recommend these books:&lt;/p&gt;

&lt;p&gt;→  &lt;a href="https://www.designbetter.co/design-systems-handbook" rel="noopener noreferrer"&gt;Invision Design System Handbook&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;→  &lt;a href="https://bradfrost.com/blog/post/atomic-web-design/" rel="noopener noreferrer"&gt;Atomic Design&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/MenaiAla/You-Dont-Know-UI/pulls" rel="noopener noreferrer"&gt;Edit →&lt;/a&gt;&lt;/p&gt;




</description>
      <category>ui</category>
      <category>ux</category>
      <category>design</category>
    </item>
    <item>
      <title>How to limit your choices when you design?</title>
      <dc:creator>Menai Ala Eddine</dc:creator>
      <pubDate>Fri, 25 Sep 2020 13:24:00 +0000</pubDate>
      <link>https://forem.com/menaiala/how-to-limit-your-choices-when-you-design-17hm</link>
      <guid>https://forem.com/menaiala/how-to-limit-your-choices-when-you-design-17hm</guid>
      <description>&lt;p&gt;→ Which option will delight the users?&lt;/p&gt;

&lt;p&gt;This is the frequent question I ask myself in my work basis. Hope I'm not the only one!&lt;/p&gt;

&lt;p&gt;Designers and engineers waste more time on details and minor decisions in the early stage of designing and implementing new UI but they should realize that designing UI is an iterative process. In fact, it's better for you to not stick on minor details in the early stage of any task. You don't want to hear from me how many hours or maybe days I spent changing the font size by adding or reducing 1px.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft5ykwptm48okv7p3rjya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ft5ykwptm48okv7p3rjya.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;→ Do you think that users will notice these changes?&lt;/p&gt;

&lt;p&gt;→ Do you think that adding 1px will add more revenue to the company?&lt;/p&gt;

&lt;p&gt;Please, don't waste your time on these changes in the early-stage.&lt;/p&gt;

&lt;p&gt;From &lt;a href="http://www.scientificamerican.com/article.cfm?id=speed-dating-decision-making-why-less-is-more" rel="noopener noreferrer"&gt;Speed Dating Decision Making – Why Less Is More:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yet new research does point out a different dating problem: being confronted with a large number of choices can make it harder to make a good decision. In fact, it can even prevent you from making a decision in the first place.&lt;/p&gt;

&lt;p&gt;When you're designing without constraints, your process will be very slow, and you will never end up with a choice. Let me clarify with this example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi4va5b0njy2n7lmaje8f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi4va5b0njy2n7lmaje8f.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you see in the above image, the first scenario is for a buyer who wants to choose a flower for his wife but he's seeing flowers with different colors and they are almost similar which makes the decision so hard for him. The second scenario is for a designer who gets confused between these buttons where it's almost to see the difference between their background colors.&lt;/p&gt;

&lt;p&gt;The fact is when there were too many choices people became confused and didn’t make a choice when there were too many options. People that had few options chose more often and were happier with their selection. So, you need to stick this rule in your head: Limit your choices.&lt;/p&gt;

&lt;p&gt;So how can we limit our choices for our user interfaces?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Systematize colors:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I was a student, I remember when we were working on the design of the website with my teammate, and because we had not a system for the colors, we were picking a color randomly each time from the color picker and we see how the color looks in the UI. But after I discovered and read Material Design, I figure out how companies choose their colors.&lt;/p&gt;

&lt;p&gt;So, instead of hand-picking values randomly, create your palette from the beginning, there are dozens of online generators that can help you to make your decision. You can choose from 6-8 shades and expand when you need more colors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fipbmpz90n9fo3ayg9k33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fipbmpz90n9fo3ayg9k33.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose one or two font families:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's hard to achieve consistency in UI and most of the time over designing is the reason behind losing it.&lt;/p&gt;

&lt;p&gt;Having more than two font families will make your brand less-memorable like the logo and the content becomes more inconsistent for the reader. Obviously, choosing the font family is very hard in the early stage and my recommendation is to choose the one that fits the personality of the product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Systematize font size&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similarly, don't do what I was doing by adding or reducing 1px until it looks perfect. You may waste 2 hours without taking a decision. Instead, create a stylesheet for your typescale in advance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxybwrhul1py483smuxqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxybwrhul1py483smuxqq.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Systematize icon sizes:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Defining a system for the sizes of the icons in advance will save you time later.&lt;/p&gt;

&lt;p&gt;For example, you can constraint yourself by 4-based or 6-based scale. Your options will be :&lt;/p&gt;

&lt;p&gt;12px, 16px, 20px, 24px, 36px, 48px, 64px.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4sd0o7vwegg3z8ny1ort.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F4sd0o7vwegg3z8ny1ort.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sytematize opacity values:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Opacity values confuse me a lot because it's so hard to see the difference between them.&lt;/p&gt;

&lt;p&gt;Personally, I choose a 5-based opacity-scale and I limit myself by 4 values:&lt;/p&gt;

&lt;p&gt;12.5%, 25%, 50%, 75%.&lt;/p&gt;

&lt;p&gt;In CSS3, this is equivalent to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
   opacity:0.125;
   opacity:0.25;
   opacity:0.5;
   opacity:0.75;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo115gsgla1ij7fpu3xfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fo115gsgla1ij7fpu3xfr.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Having some choice is better than having no choice at all. But there is a limit. As it turns out, having more choices isn’t always a good thing.&lt;/p&gt;

&lt;p&gt;Don't miss to star &lt;a href="https://github.com/MenaiAla/You-Dont-Know-UI" rel="noopener noreferrer"&gt;You Don't Know UI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>uiweekly</category>
      <category>ux</category>
      <category>design</category>
    </item>
    <item>
      <title>Design few, Implement few is the right workflow for designers and front-end developers!</title>
      <dc:creator>Menai Ala Eddine</dc:creator>
      <pubDate>Fri, 25 Sep 2020 12:57:42 +0000</pubDate>
      <link>https://forem.com/menaiala/design-few-implement-few-repeat-2n7e</link>
      <guid>https://forem.com/menaiala/design-few-implement-few-repeat-2n7e</guid>
      <description>&lt;p&gt;I have this question for you:&lt;/p&gt;

&lt;p&gt;→ Why do you need to design perfect UI with all details then implement it?&lt;/p&gt;

&lt;p&gt;I have another question for you:&lt;/p&gt;

&lt;p&gt;→ Did you feel frustrated in the stage of implementation of a new feature because the design does not take programming limits into consideration?&lt;/p&gt;

&lt;p&gt;My last question is:&lt;/p&gt;

&lt;p&gt;→ Why do you focus on details in the early stage of the design?&lt;/p&gt;

&lt;p&gt;Ha! I know you're thinking in Agile but you're working with the Waterfall approach.&lt;/p&gt;

&lt;p&gt;Indeed, people get confused when they switch from task to other per day even in the same domain, it happened to me usually, especially when it comes to designing different concepts of user interfaces per day.&lt;/p&gt;

&lt;p&gt;Furthermore, people want to start a thing and finish it once time. They want to make it perfect from the beginning! Even with low resources and in limited time. It happens most of the time in early-stage startups.&lt;/p&gt;

&lt;p&gt;So, let me tell you something: Details do not matter when you start from scratch.&lt;/p&gt;

&lt;p&gt;The hard thing about the design is when someone asks you: Why you take this decision?&lt;/p&gt;

&lt;p&gt;→ Why you chose this palette of colors?&lt;/p&gt;

&lt;p&gt;→ Why you chose this typeface?&lt;/p&gt;

&lt;p&gt;→ Why you chose this style of icons?&lt;/p&gt;

&lt;p&gt;If you have not a Design System in place, creating consistent user interfaces is very hard, and focusing in-depth on details, will lose time, effort, and of course the consistency of your user interfaces.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fheggd48p7g65f49o14nv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fheggd48p7g65f49o14nv.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, what's the solution here?&lt;/p&gt;

&lt;p&gt;As I mentioned in the title: Design few, Implement few, Repeat.&lt;/p&gt;

&lt;p&gt;In the earliest stage of the new design or new feature, you don't need to stick on the high-level decisions about the foundation of your design ( Spacing, Color, Typography, Iconography). I know they matter but not in the beginning, right?&lt;/p&gt;

&lt;p&gt;Let's say, when you were having a shower you came up with an idea for a new killer feature, and you want to make it more tangible for your teammates and the stakeholders to get buy-in. Adding new features means a new investment of money and time and what's matter later for any company is: Revenue.&lt;/p&gt;

&lt;p&gt;The first thing, you need to do is ignore all details ( nice-to-have ) and just focus on the requirements ( must-to-have ).&lt;/p&gt;

&lt;p&gt;So, I recommend this workflow to get quick both of internal and external feedback:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a hand-drawn version:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsxujdtrpjr0vkko2ou51.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsxujdtrpjr0vkko2ou51.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you see here, there are zero details about your user interface &lt;br&gt;
in production, but why this step matters?&lt;/p&gt;

&lt;p&gt;This hand-drawn activity may take between 5min and 20mins if you want to make it a high-fidelity draw!&lt;/p&gt;

&lt;p&gt;In fact, this step will help you to see other teammates and stakeholder's opinions and gather individual recommendations from each member of your team. People could not recommend changes when they see a well-done thing. But they can tell you how can you make it better when you deliver it clean but incomplete and ugly. It's human nature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignore colors:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frvqx5nvk4wr2cx3zgyky.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Frvqx5nvk4wr2cx3zgyky.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When I was a kid, I remember my Dad when he was buying a paint book for me. The content was grayscale images and my mission was to colorize these images using wood colors. Sometimes, I and my friend have the same image but when we colorize we end up with different looks! After that, we go to family members and ask them which one is better.&lt;/p&gt;

&lt;p&gt;But how can we adopt this workflow in our design?&lt;/p&gt;

&lt;p&gt;The idea is to hold the color even if you'll refine your design in higher fidelity. Let people tell you how are the shapes, sizes, spaces, and the position of your elements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implement the UI:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modern frameworks and libraries such as Vue, React and Svelte were created for Rapid Prototyping which means you can implement one component and use it with different looks in different positions. So, you don't need to have a full prototype with all user interfaces to start the implementation.&lt;/p&gt;

&lt;p&gt;It's a little bit challenging, but I can say that you don't need to regret the time you spent for designing perfect UI that you'll never see it on production.&lt;/p&gt;

&lt;p&gt;The goal of this step is to test the back functionality ( How it works ) of the UI without sticking on how it looks for users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Colorize:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you don't have a color palette in place, you can try several colors and see the consistency between them based on color theory rules.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsosfmx2faveu6bq3vkz5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fsosfmx2faveu6bq3vkz5.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repeat:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our purpose here is to prevent the over investing and moving fast by doing parallel iterations on both design and code in a short time, so you can build real things as soon as possible. In the end, what matters is your UI in production.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjzo0ui9w8kvtmjyx5stq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjzo0ui9w8kvtmjyx5stq.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ux</category>
      <category>ui</category>
      <category>design</category>
    </item>
    <item>
      <title>Why you should think in a feature, not a layout when you create UI?</title>
      <dc:creator>Menai Ala Eddine</dc:creator>
      <pubDate>Fri, 25 Sep 2020 11:41:45 +0000</pubDate>
      <link>https://forem.com/menaiala/think-a-feature-not-a-layout-32ke</link>
      <guid>https://forem.com/menaiala/think-a-feature-not-a-layout-32ke</guid>
      <description>&lt;p&gt;I've wasted months not just days trying to create an MVP ( Minimal Viable Product ) for an idea. I spent nights and nights refactoring the user interfaces by changing just the places of the components and the layouts. Don't be stupid like me!&lt;/p&gt;

&lt;p&gt;When you start designing a new user interface for a web or mobile application, most of the time you think about the structure or the position of your components, so you start designing the Header or the Top Navigation as your first component in your UI. Me too I was doing this mistake!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foqorb89zm5bf0riudskj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Foqorb89zm5bf0riudskj.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you know why it's a mistake? Because you're limiting yourself from the beginning. Because you're seeing the App Design from Top-To-Down or Down-To-Top while the App Design is a collection of features. You're not building a house here using LEGO bricks! But you're building a car and you can start designing the engine or the wheels, right?&lt;/p&gt;

&lt;p&gt;Most of the folks try to copy &amp;amp; paste from popular websites and apps, without knowing the Standards or the Design Decisions for each product. This is the easiest way to find themselves frustrated, limited and they figure out that they overthink only on Generic Things.&lt;/p&gt;

&lt;p&gt;They focus on the shape of their app but not the core features, and they start asking frequently these questions :&lt;/p&gt;

&lt;p&gt;→ Where should I put the Logo?&lt;/p&gt;

&lt;p&gt;→ How many items should I have in the navigation bar?&lt;/p&gt;

&lt;p&gt;→ Should I have one or two sidebars?&lt;/p&gt;

&lt;p&gt;→ Should I have a Grid Layout or a Table of items?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxj5v3aswgsqedebsjt5p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxj5v3aswgsqedebsjt5p.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But, what you don't know ( maybe ) is UI Components are made to solve certain problems that are related to user interaction, data displaying, or new device screen invention, and you may be noticed that the Hamburger element is started to be well-known in mobile devices.&lt;/p&gt;

&lt;p&gt;Obviously, we are not designing user interfaces but we are designing and implementing features, and Top Navigation is just a common feature that helps users to do quick navigation for certain and most important pages.&lt;/p&gt;

&lt;p&gt;So, don't care about common features or what I call them Generic features or layouts.&lt;/p&gt;

&lt;p&gt;Instead of starting by a layout, start with a feature or specific functionality, and not any feature but the core feature in your product.&lt;/p&gt;

&lt;p&gt;Let's say you'll build the next-gen social media app for sharing videos. You could start with this core feature: Share a short-form video.&lt;/p&gt;

&lt;p&gt;The UI will need :&lt;/p&gt;

&lt;p&gt;→ Field for upload a video&lt;/p&gt;

&lt;p&gt;→ Field for the caption&lt;/p&gt;

&lt;p&gt;→ Field for the description&lt;/p&gt;

&lt;p&gt;→ Button for posting or sharing&lt;/p&gt;

&lt;p&gt;→ Button for saving in draft&lt;/p&gt;

&lt;p&gt;These are the requirements to design your UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvlga6605mksmvdv5kcuq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fvlga6605mksmvdv5kcuq.png" alt="Alt Text" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Star the project on Github: &lt;a href="https://github.com/MenaiAla/You-Dont-Know-UI" rel="noopener noreferrer"&gt;You Don't Know UI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ui</category>
      <category>ux</category>
    </item>
  </channel>
</rss>
