<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Domas Markevičius on Medium]]></title>
        <description><![CDATA[Stories by Domas Markevičius on Medium]]></description>
        <link>https://medium.com/@domasmark?source=rss-646be93b568e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*rDKrSKDRhrZeKR8f0_G7KQ.png</url>
            <title>Stories by Domas Markevičius on Medium</title>
            <link>https://medium.com/@domasmark?source=rss-646be93b568e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 13 Apr 2026 17:43:28 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@domasmark/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[How AI-powered coding transformed the design process]]></title>
            <link>https://blog.gopenai.com/how-ai-powered-coding-transformed-the-design-process-7fae647fee85?source=rss-646be93b568e------2</link>
            <guid isPermaLink="false">https://medium.com/p/7fae647fee85</guid>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[design-process]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ux]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[Domas Markevičius]]></dc:creator>
            <pubDate>Tue, 30 May 2023 13:01:02 GMT</pubDate>
            <atom:updated>2023-06-10T21:51:06.374Z</atom:updated>
            <content:encoded><![CDATA[<h4>My Personal journey from design to code with AI assistance.</h4><p>By trade I’m a product designer, focusing on people’s problems, not debugging computers. In high school, I took coding classes where I learnt Pascal and <a href="https://en.wikipedia.org/wiki/Visual_J_Sharp">J#</a> (yeah 😅). While I currently work in the tech industry, my knowledge of a front-end engineering is limited. So, when Chat GPT was released and its coding capabilities became apparent, I got excited — “I could now try out design ideas myself”!</p><p>A while ago, I created a small design asset library to test some Figma features. To make it more interesting, I challenged myself to make the library as lean and versatile as possible while keeping the minimal number of components. I tested the concept in Figma and it seemed to work well, so I decided to try to code it and see if it was feasible for production. That’s where Chat GPT came in handy.</p><figure><img alt="A set of UI components." src="https://cdn-images-1.medium.com/max/1024/1*X3TNSLeprkfY2j9e9WLXQg.png" /><figcaption>The core idea behind the designed library was to maximize versatility while minimizing the number of components.</figcaption></figure><h3>Getting started</h3><p>First, I needed to understand how UI libraries are created and packaged. To get a clear understanding of such a broad topic from GPT 3.5 seemed too complex. That’s where <a href="https://dev.to/alexeagleson/how-to-create-and-publish-a-react-component-library-2oe">this article</a> really helped me out.</p><p>Once I had gained a basic understanding of how web libraries work and my working environment was set up, I felt it was time to create my first component: a button.</p><figure><img alt="A Screenshot with typescript code." src="https://cdn-images-1.medium.com/max/1024/1*e1t8kfAn6q4iUgi6YCD-yA.png" /><figcaption>A newly installed Storybook offers an excellent template that is concise enough to easily grasp how React props work.</figcaption></figure><p>A fresh install of Storybook already provides great examples of how to write a <a href="https://storybook.js.org/docs/react/writing-stories/introduction">button component</a>. While my AI prompts delivered similar examples, they were not exactly what I needed to achieve. I realised that I needed to learn a little bit more of code myself, and that’s where Chat GPT became handy.</p><h3>Learning with AI</h3><p>Searching for information on Google can be confusing when you don’t know the right terminology, and often results in lengthy documentation. This can further increase confusion. While having an AI assistant that provides concrete answers to abstract questions has significantly accelerated my learning experience.</p><p>Throughout the process I have learned my written prompts work best and give the most fun while learning for 3 cases:</p><ul><li>Learning a syntax</li><li>Writing utility scripts</li><li>Debugging errors</li></ul><h4>Learning Syntax</h4><p>At the beginning, I was unfamiliar with many programming concepts. After researching some button examples, I became suspicious that I didn’t understand something. Therefore, a prompt helped me learn what to look for on the internet:</p><blockquote>What would be the best way for react’s conditional rendering when component has 3 options?</blockquote><p>AI returned 2 examples:</p><pre>//ternary operator<br>option === &#39;option1&#39; ? &lt;Option1 /&gt; : option === &#39;option2&#39; ? &lt;Option2 /&gt; : &lt;Option3 /&gt;<br><br>//switch statements<br>switch (option) {<br> case &#39;option1&#39;:<br>   return &lt;Option1 /&gt;;<br>  case &#39;option2&#39;:<br>   return &lt;Option2 /&gt;;<br>  default:<br>   return &lt;Option3 /&gt;;<br>}</pre><p>I was already familiar with switch statements, so I decided to learn more about ternary operators. The <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_operator">Mozilla documentation</a> provided a clear explanation, but without AI, it would have taken me a long time to understand what to look for. This simple concept guided me throughout the entire creation process.</p><h4>Utility Scripts</h4><p>Once I implemented the button as intended, I decided to add a style, and for that I needed icons. I wanted the learning process to be fun, so I decided to use my own assets.</p><figure><img alt="A set of icons." src="https://cdn-images-1.medium.com/max/1024/1*cneJumAwm_Fn_GAP_07pww.png" /><figcaption>The set of icons I asked AI to convert into code.</figcaption></figure><p>The challenge was that I had a bunch of SVGs and needed to turn them into React components. The full prompt I used can be read <a href="https://domasmark.notion.site/Prompt-icon-fae8a42387a8457f979d9ac9ed6d7a99">here</a>. To my surprise, the experience was better than I could have imagined when I asked:</p><blockquote>Write a code that converts SVG files in a folder to react components in typescript</blockquote><p>It returned a code with which I was unfamiliar, so I asked again:</p><blockquote>How I’m supposed to run this code?</blockquote><p>The received answer was so clear that I simply copied and pasted the code, updated the source and output paths, and had all the icons in my library within minutes! Perhaps it worked so well because there were already many similar examples on <a href="https://github.com/topics/react-svg">GitHub</a>. I don’t know, but I must admit that the process was so efficient and quick that I doubt using any other example from the internet could be any faster.</p><h4>Debugging errors</h4><p>Gradually, I managed to implement multiple components, and the process was becoming tedious. Although I knew the order in which I wished to execute the code, I was still quite unfamiliar with the syntax. It made me struggle to avoid coding errors.</p><p>For a beginner, finding domain specific answers on Google can be scary at times. While having an artificial assistant by your side alleviates that fear. I just wrote some code, copy-pasted it into the AI and got a fixed version. Sometimes AI even reminded me what dependency package I was supposed to install. This process helped me understand what I did wrong, helped to improve my coding skills and boosted the motivation to continue.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1NbI3Pr4Msx5LO3fxk_M2g.png" /><figcaption>To achieve the desired outcome, I encountered prompts that required multiple explanations. However, these inquiries sometimes led to new errors in my code. Pasting those errors into an AI tool proved to be helpful, as it created the impression of having a coding buddy.</figcaption></figure><p>However, when dealing with complex scenarios that have multiple dependencies, I felt like I had reached the limits of AI.</p><h3>Limitations</h3><p>I started writing the library styles using <a href="https://sass-lang.com/">SASS</a>, but during the process, I realised that there was a small chance that someone would actually try to really use it. I believed the chances would increase if the library used the popular frameworks. Therefore, I decided to transition from SASS to <a href="https://tailwindcss.com/">Tailwind CSS</a>.</p><p>Unfortunately, using multiple CSS preprocessors together requires <a href="https://tailwindcss.com/docs/using-with-preprocessors">a bit of manual configuration</a>. Although there are numerous examples on the internet, I spent two whole weeks stuck trying to find a working way to integrate Tailwind into an existing Storybook and SASS project.</p><p>Neither the examples I found on the internet nor the chatbot GPT provided working solutions for my specific stack. I even asked a professional engineer to review my code. Finally, I came across a 55-second video that provided clear information on certain details that I was unable to notice in the official Tailwind installation documentation.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FDi1n3ME02GE%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DDi1n3ME02GE&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FDi1n3ME02GE%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/8ed9209623b14bd5c80ca891f49f9c88/href">https://medium.com/media/8ed9209623b14bd5c80ca891f49f9c88/href</a></iframe><h3>Summary</h3><p>I still struggled with migrating from SASS to Tailwind. However, I found <a href="https://github.com/amitavdevzone/reactjs-tailwind-ui-storybook">this template</a> and transferred all of my code there. I was able to create a working POC and test it with a few scenarios. You can preview the result by looking at the repository:</p><p><a href="https://github.com/domasmark/peacock-flounder">GitHub - domasmark/peacock-flounder: Simple UI Kit built using Chat GPT.</a></p><figure><img alt="A screenshot of a fictional web application interface." src="https://cdn-images-1.medium.com/max/1024/1*Gj9TZ37xmCHcC6bbOfVzMg.png" /><figcaption>A Demo layout using the UI library that I built.</figcaption></figure><p>My process started with GPT-3.5, it wasn’t advanced enough yet to turn all of my ideas into reality with a single click. However, it certainly helped me learn and do things that I wouldn’t have even tried a year ago. Now we have GPT-4, AutoGPT, and many more tools that are sure to come.</p><p>The future can be scary, as we know that our work will not be the same as it used to be. Yet, it’s more exciting than scary. I am sure that design work will become even more expansive than ever before.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7fae647fee85" width="1" height="1" alt=""><hr><p><a href="https://blog.gopenai.com/how-ai-powered-coding-transformed-the-design-process-7fae647fee85">How AI-powered coding transformed the design process</a> was originally published in <a href="https://blog.gopenai.com">GoPenAI</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Designing the perfect button]]></title>
            <link>https://wix-ux.com/designing-the-perfect-button-e77ec1f32ee5?source=rss-646be93b568e------2</link>
            <guid isPermaLink="false">https://medium.com/p/e77ec1f32ee5</guid>
            <category><![CDATA[ux-writing]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[ui-design]]></category>
            <category><![CDATA[case-study]]></category>
            <category><![CDATA[ux-design]]></category>
            <dc:creator><![CDATA[Domas Markevičius]]></dc:creator>
            <pubDate>Mon, 13 Jun 2022 13:26:58 GMT</pubDate>
            <atom:updated>2022-09-23T05:58:32.585Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/813/1*Jb5JszpcYpCmuwO3Z9Z2kg.png" /></figure><h4>Everything you need to know about what makes a button great.</h4><p>Buttons are one of the main UI elements in interactive design. Some of the more complex interfaces can have hundreds of buttons on a single website. Most businesses measure their success by button clicks. So it’s crucial to communicate to the user how a button works and where it’ll lead them. Over the years, our design system has fine-tuned the craft of our buttons.</p><p>Buttons allow users to control the product and achieve their goals. It can help them navigate the interface, modify content or both.</p><figure><img alt="Three examples. First example shows “home” button which navigates to home page. Second example shows “duplicate button which makes a copy. Third example shows “add new product” button which redirects to a new page and make new product at once." src="https://cdn-images-1.medium.com/max/1024/1*MWtkZG9WuenCZ3vHypbooA.png" /></figure><h3>Principles</h3><p>As <a href="https://material.io/components/buttons#usage">Google explains</a>, a good button design follows 3 principles. It must be Identifiable, Findable and Clear. We keep close to these principles at Wix.</p><h4>Making a button clear</h4><p>A button must clearly communicate what it does, with zero space for interpretation. Text is the primary element that explains intention.</p><p>Of course, you can include an icon which helps to identify and understand the context. But without any text, it’ll lack full meaning. The text is a promise of what exactly will happen when that button is clicked.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yLzTY-aq7Yao6alAZKQoWw.png" /></figure><p>Sometimes buttons need to include multiple messages, where the text and icon can even have different meanings.</p><figure><img alt="A button with icon and label." src="https://cdn-images-1.medium.com/max/1024/1*Smt7W_nMAEkYJOtdprp5CQ.png" /><figcaption>In this example “<em>More Actions ▾</em>”, the text indicates that here you’ll find more actions, while the icon indicates that the menu of more actions will display in a dropdown once you click the arrow.</figcaption></figure><h4><strong>Case study</strong></h4><p>In 2019 the OS Team at Wix decided to change the button hierarchy. When we first launched, our design system had buttons with text only in our primary CTAs. Any secondary CTAs we had on the page were indicated with just a button — no text. After our update, we turned all our icon-only buttons into text or text + icon buttons. This small change led to a huge increase in click rate for <em>“Create New Folder”</em>. The top bar actions next to the primary CTA got more exposure too.</p><p>This visual comparison shows how the upper layout won the test against the bottom layout:</p><figure><img alt="Two textual buttons." src="https://cdn-images-1.medium.com/max/1024/1*fEyRRYw9rqVxLMpreo6Wkw.png" /><figcaption>“Create New Folder” click rate significantly increased without harming the main goals.</figcaption></figure><figure><img alt="Two buttons. One uses only an icon, second one appears with a text." src="https://cdn-images-1.medium.com/max/1024/1*epB_6g5j5KcueHYosNf9Jg.png" /><figcaption>Before the change, when “Create New Folder” button displayed only the icon, few people managed their sites into folders.</figcaption></figure><h4>Making a button findable</h4><p>Actions must be located where users expect to find them. The main action must always be visible and positioned in the top area. Navigation actions can look neutral but also must be visible. Only the least important actions that don’t affect the main path (e.g. <em>“delete”</em>) can be hidden under popovers.</p><figure><img alt="Two examples of buttons that open a contextual menu. The first example uses a label making it obvious what the button will do. The second example uses only an icon making it little know what the button will do." src="https://cdn-images-1.medium.com/max/1024/1*arCAf-RYGxcC6gZhaZtHFA.png" /></figure><p>Avoid placing tool actions with navigate buttons in the same list. Users might not expect to find buttons that are out of context.</p><figure><img alt="A contextual menu with tool actions and navigation action" src="https://cdn-images-1.medium.com/max/1024/1*ACMN5UcjOzsLdOPwwMdKIA.png" /><figcaption>In this example, the “Category Manager” button is out of context. “More Actions” communicates that the menu will provide actions but doesn’t tell the user that there will be navigation buttons.</figcaption></figure><h4>Making a button identifiable</h4><p>Users must easily understand which interface parts are static and which are clickable. Wix uses blue color for all major actions. Lighter blues can be used only as the button’s background color.</p><figure><img alt="Two examples of button placement and coloring. The first example has a distinct button because of its placement and color, the the second example shows the opposite making a button hard to see." src="https://cdn-images-1.medium.com/max/1024/1*Lstfy3hnA8oUq0BqoRNJNQ.png" /></figure><p>In some cases, like on colored backgrounds, the blue color can’t be used due to the contrast. Then, text, contrast and shape plays the major role in making the button look recognizable and distinct from the rest of the environment. Following <a href="https://webaim.org/articles/contrast/#ratio">Web Content Accessibility Guidelines</a> helps to provide a good text contrast, so the majority of users will be able to read it.</p><figure><img alt="A notification message with a textual button" src="https://cdn-images-1.medium.com/max/1024/1*7rHRvnz6WIaZ2VPBGc4wog.png" /><figcaption>Black action works well on colorful backgrounds. Underlined text makes it clear that it’s actionable.</figcaption></figure><h3>Text</h3><p>Text is the primary element that explains the button’s intention. It should be clear, predictable and simple. Start with a verb to encourage action. Verbs must tell the user what happens once a button is clicked so they can predict the next step. Use simple language that will be recognized by any age group.</p><figure><img alt="Two examples of button’s label writing style. Using verb sentences make the button obvious (e.g. “Upgrade to Premium”), while buttons labeled in nouns don’t encourage users to interact." src="https://cdn-images-1.medium.com/max/1024/1*GQzN5qQk2aPiDR4BQgViRA.png" /></figure><h4><strong>Case Study</strong></h4><p>Wix’s Photo Studio Team performed an A/B test which showed that users engage more when buttons are displayed with text. The application tested three layouts; icon only, text below the icon and text on the side. Versions with text won the experiment.</p><figure><img alt="Two versions of vertical list of actions. First version uses icons and labels below. Second version uses only the icons." src="https://cdn-images-1.medium.com/max/1024/1*BPr0qS4XqY6g4-UGjfddaQ.png" /></figure><p>After a failed test, the layout was reverted to the original.</p><figure><img alt="A vertical list of actions with icons and labels. Labels are placed on the side of the icons." src="https://cdn-images-1.medium.com/max/1024/1*zvk0oRkGBqZmTs7oZ7XsDA.png" /><figcaption>This version shows the final solution used by Photo Studio. It solved the initial problem and led to a slight increase of tabs use.</figcaption></figure><p>This study showed that text plays a crucial role in making buttons clear and actionable.</p><h3>Text in context</h3><p>A button’s text should reflect the context. Make sure the user is aware what action is available. For example, alert modals appear fast and change the layout. Therefore, the potential actions must be very clear.</p><figure><img alt="A modal, where main call to actions are labeled as “Move to Trash” and “Cancel”" src="https://cdn-images-1.medium.com/max/1024/1*vOrnU4nFOKfyK5i7VIZf6Q.png" /><figcaption>The good example showing how both buttons are clear what they will do. The main button reflects the content’s title — it makes an accurate alert message.</figcaption></figure><figure><img alt="A modal, where main call to actions are labeled as “Yes” and “No”" src="https://cdn-images-1.medium.com/max/1024/1*TaZXkocNDaOF9v0cDgDqLw.png" /><figcaption>The bad example showing how buttons don’t explain what would happen if they’re clicked. A user must remember their previous actions to understand the context.</figcaption></figure><p>In modals that just state the facts, like <em>“Success”</em> or <em>“Two users can’t edit at once”</em> it’s ok to use less descriptive buttons such as, <em>“Got it, Thanks”</em>.</p><h3>Icons</h3><p>Icons help users understand the context. However, icons can often be misinterpreted. Icons don’t encourages users to take action in the same way text does. For this reason, you should use single icon buttons with caution.</p><p>Icon buttons work great for professional tools where a user will regularly click buttons and memorize them. Placing icons next to a button with text will increase the chance of being noticed by users.</p><figure><img alt="Four buttons. One of the buttons appears with a text." src="https://cdn-images-1.medium.com/max/1024/1*4p4RILy7i8DeEUQy1SQOzA.png" /><figcaption>“Edit” button attracts the user’s attention to this button group. Mouse hovered icon buttons reveal their labels in a tooltip making it obvious what the icon button will do.</figcaption></figure><h4>Case Study</h4><p>Side navigation testing showed that Wix users engage more with drill-in buttons that have arrow icons.</p><figure><img alt="Two side navigation versions. Initial version used to reveal icons on mouse hover. New version showed icons next to buttons always. It significantly increased user engagement." src="https://cdn-images-1.medium.com/max/1024/1*leCJ5mGQQ0XJRy1gEnf7ww.png" /></figure><p>This study shows how text and icons can give additional context when used together. This helps users understand what buttons leave the page and what buttons display more options.</p><h3>Hierarchy</h3><p>Applications tend to have multiple actions. Some actions are always used, others just occasionally. Not every button needs full attention but all buttons must be discoverable. A good hierarchy means every action will be discovered easily when needed. There are multiple techniques on how to create a good hierarchy.</p><h4>Placement</h4><p>The most important actions must be put in the most visible area; at Wix it’s the top of the page in the right hand corner. The lower the button, the less discoverable it’ll be.</p><p>In languages written left to right, users start to read from left, that’s why it’s good to display the main call to action last on the right side. Users can take an action once all options are already presented. According to psychologist Herman Ebbinghaus the first and last elements in a sequence are the easiest to memorize. This tendency is called the serial<a href="https://lawsofux.com/serial-position-effect"> position effect</a> and it’s used in UX design.</p><figure><img alt="A standard Wix Business Manager page" src="https://cdn-images-1.medium.com/max/1024/1*MamUkMbr-O7lDD15QTLSHw.png" /><figcaption>Most important actions “Save” and “Cancel” are positioned in the top right corner so they’re always visible.</figcaption></figure><h3>Emphasis</h3><p>All buttons must be recognizable actions. Use emphasis to achieve that. Note that not every button must be emphasized at the same level. A single page should have only one main action. Other actions should be secondary or tertiary.</p><figure><img alt="Multiple buttons sorted by their importance" src="https://cdn-images-1.medium.com/max/1024/1*DeM1NLEHgO2g177GtNb8Ow.png" /></figure><h4>Style</h4><p>Each button can have a style based on its own intention. A set of styles creates a design language which customers use when working with an application. There can be a different style for general, navigation, social share or upload buttons. Each brand product can have its own set of button styles.</p><figure><img alt="Multiple buttons in different shape and color" src="https://cdn-images-1.medium.com/max/1024/1*Q5GJvA1RXmChEhq0iE-AUA.png" /></figure><h4>Size</h4><p>Buttons can appear in multiple sizes. Large buttons should appear in large and spacious layouts, tiny buttons should be used in small and crowded spaces.</p><figure><img alt="Four different size buttons" src="https://cdn-images-1.medium.com/max/1024/1*0C_RXbbtzGz3UW5viXoajQ.png" /></figure><h3>Summary</h3><p>A well organized hierarchy between the actions creates harmony on the page so it’s easy for the user to read and understand. For example, <a href="https://community.wix.com/partners/forum/partner-announcements/exclusive-feature-access-sell-tickets-with-assigned-seats-in-wix-events">Wix Seatings Map Builder</a> shows how button’s different properties make a clear hierarchy between actions — primary, secondary and least important.</p><ul><li><strong>Primary: </strong>Highest contrast, crucial for the main goal.</li><li><strong>Secondary: </strong>Recognizable on the screen without any clicks, assisting the main goal.</li><li><strong>Least Important: </strong>Hidden under the Icon Button and are not really connected to the main goal, e.g.: <em>“Edit Ticket”</em>.</li></ul><p>Each action has a clear text label that helps users to understand the button from first glimpse. Icons in the buttons are plain and recognizable by <a href="https://www.nngroup.com/articles/icon-usability/">industry standards</a>.</p><figure><img alt="A screenshot of Wix Seatings Map Builder application" src="https://cdn-images-1.medium.com/max/1024/1*fiDOFk-3NpgTPHeVt1S8Fw.png" /></figure><p>This article is a collection of experiences from multiple designers from many teams. A big thanks to everyone who shared their case studies, insights and feedback or simply designed great products that inspired this article.</p><p><em>Article was written by Domas Markevičius, edited by Wailana Kalama.</em></p><p><strong>Is there a topic you want to see covered by the Wix UX team? Let us know by filling out this </strong><a href="https://forms.wix.com/c1e93049-0183-4e88-8674-6dabe68007a7:cf301ef2-2cea-4604-8b26-2a274556757b"><strong>form</strong></a><strong>.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e77ec1f32ee5" width="1" height="1" alt=""><hr><p><a href="https://wix-ux.com/designing-the-perfect-button-e77ec1f32ee5">Designing the perfect button</a> was originally published in <a href="https://wix-ux.com">Wix UX</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>