Best Design Conferences in 2024

Design conferences

One of the best things about being a part of the design community is that most designers love to exchange ideas, spread knowledge, and share their experiences regardless of their seniority level. You can be a starting designer or an established thought leader, and it’s almost a given that you find a design conference that may teach you something new.

What’s also great about UX conferences is that not all of them target the UX/UI community, but the people who work with them on a daily basis. Product managers, developers and other professionals who work closely with design can find an event for themselves.

Increase design maturity with UXPin Merge. Build a more collaborative design process and bridge the gap between designers and devs by using a single source of truth in your prototypes: interactive components. Discover more about UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

January 2024 Conferences

 QRCA 2024 Annual Conference

QRCA stands for Qualitative Research Consultants Association. The conference covers research methods, tools, and lessons that will prepare designers for the next era of qualitative research.

  • Date: Jan 22-25, 2024
  • Free: No
  • Where: Virtual & Denver
  • Audience: UX researchers, marketing researchers
  • Common topics: qualitative research, research methods, research tools

UX360 Research Summit 2024

We will welcome the third edition of a conference dedicated entirely to research. The line up includes UX researchers from top companies: Google, Meta, Dropbox, Delivery Hero, and more.

  • Date: Jan 30-31, 2023
  • Free: No
  • Where: Virtual
  • Audience: UX researchers, UI designers, UX designers
  • Common topics: research, design strategy, human-centered design

Design Matters Mexico

Join Design Matters and listen to Mexican designers telling you about local design and the intersection between technology and humanity.

  • Date: Jan 31-Feb 1, 2023
  • Free: No
  • Where: Mexico City
  • Audience: UX researchers, UI designers, UX designers
  • Common topics: inclusivity, design future, technology

February 2024 Conferences

What about the second month of the year? We’ve found a couple of conferences that may catch your eye. Let’s see them.

AXE CON 2024

Sign up to attend a virtual accessibility conference focused on building, testing, and maintaining accessible digital experiences.

  • Date: Feb 20-22, 2024
  • Free: No
  • Where: Virtual
  • Audience: designers
  • Common topics: accessibility, UX

Product World [Hybrid]

Product conference that concerns itself with sharing the product success stories from tech product professionals at Silicon Valley’s top tech companies.

  • Date: Feb 21-29, 2024
  • Free: No
  • Where: Virtual and San Francisco Bay Area
  • Audience: product managers, developers, product designers
  • Common topics: collaboration, leadership, growth

ConveyUX 2024 [Hybrid]

Learn about what is going on in the world of user experience in this AI-driven era. 

  • Date: Feb 27-29, 2024
  • Free: No
  • Where: Virtual and Seattle, US
  • Audience: product managers, developers, product designers
  • Common topics: design process, design future, AI

HUCCAP 2024 [Hybrid]

At the same time as ConveyUX, there’s a Human-Computer Interaction Conference hosted in Rome, Italy. Join to discuss HCI matters in an interdisciplinary environment.

  • Date: Feb 27-29, 2024
  • Free: No
  • Where: Virtual and Seattle, US
  • Audience: product managers, developers, product designers
  • Common topics: human-computer interaction.

March 2024 Conferences

DDX Dubai

A great meeting place for people interested in discussing the impact technology has on our daily lives and UX meaning.

  • Date: March 2, 2024
  • Free: No
  • Where: Dubai
  • Audience: UX designers and product managers
  • Common topics: artificial innovation, innovation, design process

Leading Design New York

One of the design conferences by Clearleft will be hosted in New York.

  • Date: Mar 20-21, 2024
  • Free: No
  • Where: New York, US
  • Audience: UX designers
  • Common topics: career, leadership, future of design

UX Copenhagen [Hybrid]

It’s the 10th edition of annual “Human Experience” conference. This year it will examine overconsumption and tackle de-growth.

  • Date: Mar 20-21, 2024
  • Free: No
  • Where: Virtual & Copenhagen, Denmark
  • Audience: UX designers, UX researchers
  • Common topics: UX design, leadership, future

ACM IUI 2024

Interested in AI for design? If so, you can’t miss out on this conference! It focuses on the advances at the intersection of Artificial Intelligence (AI) and Human-Computer Interaction (HCI).

  • Date: Mar 18-21, 2024
  • Free: No
  • Where: Sydney, Australia 
  • Audience: product designers, researchers
  • Common topics: information architecture, artificial intelligence

April 2024 Conferences

AI in Web Design Conference’24

Join other professionals who design websites and web apps and learn about weaving artificial intelligence into the process beyond using ChatGPT in UI design.

  • Date: Apr 2-3, 2024
  • Free: No
  • Where: Virtual 
  • Audience: product designers, researchers, product managers
  • Common topics: design process, artificial intelligence

Web Con

Who said university conferences are for students only? Join an online 2-day event organized by University of Illinois.

  • Date: Apr 4-5, 2024
  • Free: No
  • Where: Virtual 
  • Audience: UX designers, UI designers, product managers
  • Common topics: design process, artificial intelligence

Information Architecture Conference

It’s one of the leading conferences for information architects, designers, and others who create and manage UI and information environments. This year theme is to examine the impact of AI on information architecture.

  • Date: Apr 9-13, 2024
  • Free: No
  • Where: Virtual 
  • Audience: product designers, researchers, product managers
  • Common topics: information architecture, artificial intelligence

UX Research Festival [Hybrid]

Being a brainchild of UXInsights, the largest UX research communities in Europe, UX Research Festival invites you to Breda (in the Netherlands) to hear out amazing talks about UX research.

  • Date: Apr 15-17, 2024
  • Free: No
  • Where: Virtual and Breda, Netherlands
  • Audience: researchers, designers
  • Common topics: UX research, artificial intelligence

Prompt UX

April is full of AI conferences and Prompt UX is one of it! Travel to Berlin and discuss the impact of artifical intelligence yet again this month.

  • Date: Apr 17-18, 2024
  • Free: No
  • Where: Berlin, Germany
  • Audience: UX designers
  • Common topics: design process, artificial intelligence

May 2024 Conferences

DDX Conference Munich

If you’re interested in subjects such as sustainability, future-oriented design, ethical design, this conference will be your cup of tea. Discuss innovative ideas and solutions during 1-day stay in Munich.

  • Date: May 11, 2024
  • Free: No
  • Where: Munich
  • Audience: UX designers and product managers
  • Common topics: artificial innovation, innovation, design process

CHI 2024 [Hybrid]

This year’s annual ACM Computer Human Interaction conference is hosted in beautiful Hawaii. It embraces the theme of Surfing the World – which means reflecting the focus on pushing forth the wave of cutting-edge technology and riding the tide of new developments in human-computer interaction. 

  • Date: May 11-16, 2024
  • Free: No
  • Where: Virtual & Honolulu, Hawaii
  • Audience: researchers
  • Common topics: research tools, research methods

UXDX Community USA [Hybrid]

UXDX is a popular conference for UX designers, developers and product people around the world, sharing with them collaboration ideas.

  • Date: May 15-17, 2024
  • Free: Yes
  • Where: Virtual and on site
  • Audience: UX designers, UX researchers, developers and product managers
  • Common topics: leadership, collaboration, design system

UXLx

Join fellow designers in sunny Lisbon. Soak up UX knowledge, network with like-minded individual, and hone your design skills.

  • Date: May 21-24, 2024
  • Free: No
  • Where: Lisbon, Portugal
  • Audience: designers
  • Common topics: UX, design process

UXistanbul

Organized by UXServices, this conference is a place for gathering Web3 enthusiasts and designers interested in the field. Come and join them online on Discord.

  • Date: May 21-23, 2024
  • Free: No
  • Where: Virtual 
  • Audience: product designers, researchers, product managers
  • Common topics: NFT, metaverse

From Business to Buttons 2024

Spend one day in Stockholm to discuss user experience and customer expaerience. Great conference for business-savvy designers.

  • Date: May 24, 2024
  • Free: No
  • Where: Stockholm, Sweden
  • Audience: designers, product managers
  • Common topics: design process, design impact, leadership

WebExpo

Travel to Prague, an extraordinary European city, to join fellow web designers, developers, marketers, and more discussing innovations in web design and development.

  • Date: May 29-31, 2024
  • Free: No
  • Where: Prague, Czechia
  • Audience: designers, developers, product managers
  • Common topics: web design, front-end design, UX

June 2024 Conferences

UX Sofia

Travel to sunny Bulgaria to discuss topics connected to strategy, career growth and more.

  • Date: Jun 5-7, 2024
  • Free: No
  • Where: Sofia, Bulgaria
  • Audience: product designers, researchers
  • Common topics: strategy, UX design, UX research

ACE!

This Polish conference has two tracks: Agile Software Development and Product Design & Management. Yet, there will be a lot of content for product designers, too.

  • Date: Jun 13-14, 2024
  • Free: No
  • Where: Kraków, Poland
  • Audience: product managers, developers, product designers
  • Common topics: leadership, product strategy, product growth

Pixel Pioneers

It may be just a day-long, but the Pixel Pioneers is fully-packed with inspirational presentations from leading UX/UI designers and front-end developers.

  • Date: Jun 14, 2024
  • Free: No
  • Where: Bristol, UK
  • Audience: product designers, developers, researchers
  • Common topics: human-centered design, inclusive design, future of design

DRS 2024 BOSTON

Hosted by Design Research Society, this conference is about 4 Rs: resistance, recovery, reflection, and reimagination, which we’re sure are relevant to the state of design in 2024.

  • Date: Jun 24-28, 2024
  • Free: No
  • Where: Boston, US
  • Audience: design research
  • Common topics: research, leadership, future of design

UXPA 2024

At the same time, visit sunny San Diego and join the UXPA conference may be your cup of tea. It is a design conference in the USA.

  • Date: Jun 24-27, 2024
  • Free: No
  • Where: San Diego, US
  • Audience: product designers, researchers
  • Common topics: human-centered design, leadership, research

HCI INTERNATIONAL 2024

That international conference on human-computer interaction that is usually held in Gothenburg, Sweden, but this year it will be hosted in the USA. We highly recommend to attend. It’s a great treat for the interaction designers.

  • Date: Jun 29-July 4, 2024
  • Free: No
  • Where: Washington, DC, USA
  • Audience: product designers, researchers
  • Common topics: human-centered design, research, leadership

August 2024 Conferences

UXDX APAC 2024

It’s yet another UXDX event, but this one is an Audio-Pacific version. It’s dedicated to Product, UX, Design and Development teams that want to find a way of working together.

  • Date: Aug 13-15, 2024
  • Free: No
  • Where: San Diego, USA
  • Audience: product managers, developers, product designers
  • Common topics: product direction, scaling design, validation, product growth

UX Nordic [Hybrid]

Sharpen your skills and nurture your growth as a UX researcher, designer or writer. Meet other design professionals and explore your interests.

  • Date: Aug 28-29, 2024
  • Free: No
  • Where: Virtual & Aarhus, Norway
  • Audience: UX researchers, UX designers, UX writers
  • Common topics: design process, leadership

UX Australia [Hybrid]

It’s the 16th edition of UX Australia. The conference focuses on UX, product and service design, and the surrounding disciplines of research, content, operations, management, and more.

  • Date: Aug 27-30, 2024
  • Free: No
  • Where: Virtual & Melbourne, Australia
  • Audience: UX researchers, product managers, product designers
  • Common topics: research operations, leadership, research methods, research tools

September 2024 Conferences

SmashingConf Freiburg 2024

Are you a UX Architect, UI Developer, or a Product Designer that needs to work a lot with engineers? You can’t miss this UX design conference that oh-so-smoothly merges development and design.

  • Date: Sep 9-11, 2024
  • Free: No
  • Where: Freiburg, Germany
  • Audience: product designers, developers
  • Common topics: accessibility, web development, design process

October 2024 Conferences

SmashingConf Freiburg 2024

Smashing Magazine stops in New York to network with designers and front-end developers, and guess what? UXPin will have a booth there! We can’t wait to meet you.

  • Date: Oct 7-10, 2024
  • Free: No
  • Where: New York, US
  • Audience: product designers, developers
  • Common topics: accessibility, web development, design process

UXDX EMEA [Hybrid]

Break down the barriers between Product, UX, Design and Dev and build better products, faster, together.

  • Date: Oct 9-11, 2024
  • Free: No
  • Where: Dublin, Ireland and Virtual
  • Audience: product designers, developers, product
  • Common topics: accessibility, web development, design process

World Usability Conference

Let’s meet in Austria and discuss usability with other UX professionals and participate in talks and masterclasses where handpicked speakers share meaningful hands-on insights.

  • Date: Oct 15-17, 2024
  • Free: No
  • Where: Graz, Austria
  • Audience: product designers, UX researchers
  • Common topics: design process, usability, sustainability

Design Matters Copenhagen [Hybrid]

This well-known design conference advertises itself as, “Made for designers, by designers.” And it truly is so! We highly recommend you attend it.

  • Date: Oct 23-25, 2024
  • Free: No
  • Where: Copenhagen, Denmark
  • Audience: product designers, UX researchers
  • Common topics: tutorials, design process, leadership

November 2024 Conferences

Leading Design London

Let’s meet in London to discuss design.

  • Date: Nov 6-7, 2024
  • Free: No
  • Where: London, UK
  • Audience: UX designers
  • Common topics: career, leadership, future of design

Push UX 2024

From Lisbon travel to a lovely Munich to meet like-minded UX professionals that will discuss design research, presentation, and other aspects of daily UX designer’s activities.

  • Date: Nov 7-8, 2024
  • Free: No
  • Where: Munich, Germany
  • Audience: product designers, UX researchers
  • Common topics: design process, design leadership, product growth

Web Summit Lisbon

Come to a sunny Lisbon to participate in lively discussions on web design and development.

  • Date: Nov 11-14, 2024
  • Free: No
  • Where: Lisbon, Portugal
  • Audience: product managers, developers, product designers
  • Common topics: web design, web development

Wey Wey Web

Creating UI for the web? Then, you must show up at this conference. Located in a beatiful Spanish city of Malaga, the conference blends the topics of accessibility, UI, UX, and front-end development.

  • Date: Nov 27-29, 2024
  • Free: No
  • Where: Malaga, Spain
  • Audience: developers, product designers
  • Common topics: web design, web development

December 2024 Conferences

TBD

Which Design Conferences Are You Attending in 2024?

It seems as if 2024 is going to be full of inspiring and educational content coming from the best speakers in design and product management. Have you found a conference for you? We will definitely keep you posted if any new event comes our way.

Use the knowledge that you acquired from design conferences in practice. Instead of working in siloed environment, unite your team with a single source of truth: interactive components that can be used across design and product. Discover more about it. Check out UXPin Merge.

Web Design Process – A Step-by-Step Guide from Planning to Post-Launch

Design System for Developers

A well-structured web design process is essential for creating user-friendly, engaging websites that effectively communicate your brand’s message. Whether you’re a designer, developer, or business owner, understanding the website development process can save time, reduce costs, and ensure a seamless collaboration between teams.

To streamline this process, UXPin offers a powerful solution: UXPin Merge. With Merge, you can use a drag-and-drop interface to build fully functional prototypes using actual code components. This unique approach bridges the gap between design and development, reducing inconsistencies and accelerating project timelines. Request access to UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Step 1: Ideation & Goal Setting

The ideation and goal-setting phase establishes a solid foundation for your web design project. This is where teams come together to define the purpose of the website and set clear, measurable goals. Here are some critical questions to guide this stage:

With these questions answered, it’s important to establish a timeline and budget. Setting realistic expectations early on can help avoid potential project delays or cost overruns. During this phase, engage all stakeholders to ensure alignment on priorities, deliverables, and constraints.

Tools for Brainstorming

Brainstorming is an essential part of ideation. Leverage tools like Miro, FigJam, and Affinity Board for real-time collaboration and visual organization of ideas. Affinity Board, for instance, is particularly useful for grouping related concepts, making connections, and prioritizing features.

Other tools to consider:

  • MindMeister: Create mind maps to explore and organize design ideas.
  • Stormboard: Capture brainstorming sessions with sticky notes, images, and documents.
  • Lucidspark: A virtual whiteboard for diagramming workflows and gathering team input.

Combining these tools enables teams to turn abstract concepts into concrete plans, providing a solid base for the next steps in the web design process. After brainstorming, consider documenting the insights in a project brief to outline objectives, scope, and key milestones—setting the stage for a streamlined, efficient design process.

See also: Best Design Collaboration Tools.

Tools for Goal Setting

For goal setting, web designers and their teams often use a combination of strategic frameworks and digital tools:

Frameworks to Organize Goals

  1. SMART Goals: Goals should be Specific, Measurable, Achievable, Relevant, and Time-bound.
  2. OKRs (Objectives and Key Results): Define high-level objectives and identify specific, measurable outcomes.

Goal Tracking Tools:

  1. Trello or Asana: Manage tasks, deadlines, and goals in a visual format.
  2. Google Sheets: Track goals, timelines, and progress collaboratively.
  3. Notion: Combine note-taking, planning, and goal-setting in one platform.
  4. Miro: Visualize project goals and workflows with diagrams and mind maps.

These frameworks and tools help teams align on goals, prioritize tasks, and track progress throughout the project.

Step 2: Research & Strategy

Research and strategy lay the groundwork for informed design decisions, helping you create a website that resonates with your target audience and stands out from competitors.

Competitor Analysis and Inspiration Sources

Start by evaluating competitor websites to identify strengths, weaknesses, and industry trends. Look for design patterns, content structure, and user experience elements. Tools like SimilarWeb, SEMrush, and Ahrefs provide insights into competitor traffic, user behavior, and content performance.

For web design inspiration, platforms like Awwwards, Dribbble, and Behance are excellent sources to gather visual ideas and emerging trends in web design.

User Persona Creation and Understanding the Audience

Creating detailed user personas is crucial for aligning the website’s design with user needs and preferences. A persona should include:

  • Demographics: Age, location, profession
  • Psychographics: Interests, behaviors, and pain points
  • User Goals: What users want to achieve on the website

Tools like Xtensio and HubSpot’s Persona Creator help document personas, while Google Analytics provides data on user demographics and behaviors.

Defining Scope, Content Strategy, and Functionality Requirements

Defining the project scope sets boundaries for design and development. Use a scope statement to clarify the deliverables, timeline, and resource allocation. Content strategy, meanwhile, should address:

  • Messaging: Key topics and tone of voice
  • Content Types: Blog posts, case studies, product descriptions
  • SEO Requirements: Keywords, meta descriptions, and internal linking

Lastly, document the functional requirements, such as interactive elements (forms, calculators) and integrations (CRM, e-commerce platform). Tools like Jira, Confluence, and Notion are ideal for tracking scope and feature requirements, ensuring that everyone is aligned and the project stays on track.

This comprehensive approach to research and strategy will ensure your web design project is both user-centered and strategically sound.

Step 3: Sitemap & Wireframing

Once research and strategy are established, it’s time to create a blueprint for the website. The sitemap and wireframing phase outlines the structure and visual layout, ensuring that the site is easy to navigate and meets user needs.

Creating a Sitemap

A sitemap is a visual representation of the website’s structure. It outlines the pages, hierarchy, and navigation, making it easier to visualize user flows and ensure that all essential pages are included.

When building a sitemap, consider:

  • Logical Structure: Organize pages based on user journeys.
  • Content Hierarchy: Prioritize important pages and define categories (e.g., Home, About, Services, Blog).
  • Internal Linking: Plan for how pages will connect to each other to enhance navigation and SEO.

Designing Wireframes

Wireframes are low-fidelity sketches that define the placement of elements on each page, such as headers, navigation, content areas, and footers. Wireframes help you focus on layout and functionality before diving into visual design.

When creating wireframes, consider:

Tools for Wireframing and Sitemap

With UXPin, you can streamline the entire process of creating sitemaps and wireframes, making collaboration and iteration much more efficient.

Creating a Sitemap in UXPin

  1. Use UXPin’s Pages Panel: Begin by creating new pages in the Pages panel, which allows you to structure your sitemap hierarchically.
  2. Organize Pages: Drag and drop pages to establish parent-child relationships, visually representing the structure and navigation paths of your site.
  3. Linking and Navigation: Create interactions between pages to simulate internal linking and user flows.

Designing Wireframes in UXPin

  1. Start with a Blank Canvas: Choose the appropriate canvas size for your project. UXPin’s flexible canvas allows you to design for different devices and screen sizes.
  2. Add Elements from the Component Library: Use drag-and-drop elements like buttons, forms, and text fields from the built-in UI library to quickly build your wireframe.
  3. Create Reusable Components: If certain elements, like headers or footers, will be used on multiple pages, create them as reusable components to maintain consistency across your wireframes.
  4. Establish Layouts and Grids: Use guides and grids to structure your layout and ensure alignment of elements, which is crucial for creating visually balanced designs.

Collaboration and Feedback

UXPin allows for real-time collaboration and feedback, making it easy for your team to leave comments directly on specific elements within the wireframes. Use the commenting features to manage feedback and iterate quickly, ensuring everyone is on the same page before moving to the next step.

This integrated approach in UXPin allows you to manage sitemaps and wireframes seamlessly within a single tool, enhancing efficiency and collaboration while maintaining alignment across all project stages.

Step 4: Visual Design & Prototyping

In this phase, it’s time to turn your wireframes into interactive prototypes using UXPin’s robust design tools. Consistency in branding, testing, and iterating designs are key components of this step.

Importance of Consistent Branding

In UXPin, you can create a design system that includes your brand’s colors, typography, and components. By using the Design System Manager (DSM), you ensure that all elements—buttons, icons, forms—are consistently styled across your prototype, eliminating discrepancies during design handoffs.

  1. Define Branding Elements: Set up your brand’s primary and secondary color palettes, typography styles, and reusable UI elements in UXPin. This ensures that all elements reflect your brand guidelines.
  2. Utilize Design Tokens: Create tokens for consistent spacing, border radii, and shadows, ensuring uniformity across all screens.

Designing High-Fidelity Mockups and Prototypes

High-fidelity prototypes in UXPin allow you to create pixel-perfect designs with interactive components that closely simulate the final product. Here’s how you can build them:

  1. Drag-and-Drop Components: Use UXPin’s library or import your custom components to create layouts quickly. With UXPin Merge, you can build screens using code-backed components, providing a seamless integration between design and development.
  2. Create Interactions and Animations: Use UXPin’s interactive states to show different component behaviors like hover, click, or disabled states. Add microinteractions to enhance user experience, such as smooth transitions or animations.

User Testing on Prototypes for Early Feedback

Testing high-fidelity prototypes early on helps identify usability issues and design flaws before development. UXPin integrates with tools like FullStory to record user interactions and collect insights, making it easier to validate designs with real-world users.

  1. Share Prototypes for Usability Testing: Share a link to your interactive prototype, and use the commenting feature to gather feedback.
  2. Integrate with FullStory: Analyze how users interact with your prototype to understand pain points, drop-offs, and successful flows. Iterate based on these findings to optimize the design.

By leveraging UXPin’s high-fidelity prototyping and testing capabilities, you can create a cohesive visual design and validate it before development, ensuring a smoother project workflow and fewer revisions.

Step 5: Content Creation & SEO Optimization

Creating compelling content is essential for engaging users, while SEO optimization ensures that your content reaches the right audience. Here’s how you can use UXPin to manage and optimize content effectively.

Best Practices for Writing Website Content

  1. Create Clear and Concise Content: Make sure that every piece of content serves a purpose. Use headers and bullet points to break up text, making it easy to scan.
  2. User-Focused Language: Write content that addresses user pain points and needs, and use a consistent tone that matches your brand.
  3. Accessibility Considerations: Make text readable by choosing the right contrast and font size, and add alt text for images to support screen readers.

SEO Tips for Better Visibility and Performance

  1. Keyword Integration: Use primary and secondary keywords naturally throughout the content, and include them in headings, subheadings, and meta descriptions.
  2. Optimize for Core Web Vitals: Use UXPin to design responsive layouts and reduce layout shifts, improving page load speed and user experience, both of which are critical for SEO rankings.
  3. Internal Linking: Use UXPin’s prototyping to map out and link between key content pages, ensuring clear navigation and site structure that search engines can easily crawl.

Integrating Multimedia Elements

UXPin allows you to easily integrate and position multimedia elements like images and videos within your prototypes. Using multimedia effectively can boost engagement and SEO:

  1. Optimize Images: Compress images and use descriptive file names and alt text to help search engines understand the context.
  2. Utilize Video Content: Embedding videos in your designs? Use UXPin to add video and test different placement options. Videos can significantly increase time-on-page and reduce bounce rates, enhancing user experience.

By applying these best practices, you can ensure that your content is both user-friendly and optimized for search engines, giving it the best chance to rank highly and attract organic traffic.

Step 6: Development & Implementation

After finalizing the visual design, the next step is converting these designs into functional code. With UXPin’s integrated features, you can streamline the development process and ensure consistency between design and implementation.

Converting Designs into Code

Using UXPin Merge, you can build prototypes with live React components, making your designs as close to code as possible. This feature allows developers to extract production-ready React code directly from the prototype, reducing handoff errors and speeding up implementation.

  1. Export Production-Ready Code: Use UXPin Merge to seamlessly transition designs into code. This process reduces the gap between design and development, minimizing discrepancies.
  2. Live Preview: Use UXPin’s live preview mode to see how your design will render in a browser, ensuring all elements are coded correctly before final export.

Responsive Design Principles and Testing

Responsive design is crucial for delivering a consistent user experience across all devices. With UXPin, you can test responsive layouts and interactions directly within the platform:

  1. Responsive Breakpoints: Use UXPin’s responsive design features to adjust layouts for different screen sizes (mobile, tablet, desktop) and preview them in real-time.
  2. Testing Across Devices: Run interactive tests to ensure designs adapt correctly to different breakpoints, helping you catch layout issues before they reach development.

Collaboration Tips Between Designers and Developers

UXPin simplifies the collaboration between designers and developers through its robust commenting and handoff features:

  1. Design Handoff: UXPin’s Design Specs feature allows designers to share specs, assets, CSS styles, and dependencies with developers. Developers can easily inspect and download the necessary assets and styles, making it easier to implement designs accurately.
  2. Real-Time Collaboration: Designers and developers can leave comments, resolve issues, and track changes in real-time, ensuring continuous alignment throughout the project.

By leveraging UXPin’s development and collaboration tools, you can significantly reduce design inconsistencies and speed up the development cycle, ensuring a smooth transition from design to implementation.

Step 7: Testing & Quality Assurance

Testing and quality assurance (QA) are critical steps in the web design process to ensure that the website functions correctly, provides a positive user experience, and meets the expected standards of quality. Here’s how to execute a thorough QA process using a step-by-step approach:

Types of Testing

  1. Usability Testing: focuses on evaluating how easily users can navigate and interact with the website. This type of testing helps identify areas of friction or confusion in the user journey. QA teams conduct usability testing by observing real users as they complete tasks and noting any difficulties they encounter. The goal is to enhance overall user satisfaction by ensuring an intuitive and seamless experience.
  2. Functionality Testing: ensures that all interactive elements, such as buttons, forms, and navigation menus, are working as intended. This includes verifying links, form submissions, and interactive UI components. Functional tests can be done manually or automated to ensure that there are no broken elements that could hinder user interaction.
  3. Performance Testing: evaluates the website’s responsiveness and speed under different conditions. It includes checking page load times, server response, and resource usage. Performance testing tools can simulate heavy user loads to test how well the website performs under stress.

Cross-Browser and Cross-Device Testing

To ensure a consistent user experience across different devices and browsers, it’s crucial to conduct cross-browser and cross-device testing. Tools like BrowserStack can help by simulating different environments, allowing you to test the website’s compatibility and performance on multiple devices (e.g., smartphones, tablets) and browsers (e.g., Chrome, Firefox, Safari).

  1. Create a Testing Plan: Define which browsers and devices are most relevant for your audience, based on user analytics data.
  2. Execute Cross-Browser Testing: Use tools to check visual appearance, layout consistency, and interactive elements across different browsers.
  3. Test for Responsive Design: Validate that the website adapts well to various screen sizes and resolutions.

Creating a QA Checklist

A comprehensive QA checklist ensures that all aspects of the website are tested and verified before launch. A well-structured QA process includes the following steps:

  1. Test Planning and Design:
    • Define test cases based on the project requirements, such as form validation, navigation flow, and media functionality. Outline expected outcomes and set up the staging environment to replicate production conditions​.
  2. Test Execution:
    • Execute the planned tests, including both manual and automated testing, as needed. Record all identified defects in a defect-tracking system for efficient management and follow-up.
  3. Defect Management and Reporting:
    • Report bugs to the development team for resolution, and re-test to validate fixes. Conduct regression testing to ensure that bug fixes do not introduce new issues​.
  4. Configuration Management:
    • Maintain version control and change management throughout the testing process. This ensures consistency and integrity in the testing environment, minimizing risks of unapproved changes or unauthorized access​.
  5. Final Release Testing:
    • Perform final release tests such as smoke tests and performance tests to validate the stability and readiness of the website for launch. If the tests pass, generate a QA report summarizing test results and findings​.

By following this structured QA process and using appropriate tools, you can ensure a smooth, error-free launch that provides a high-quality user experience and meets all functional requirements.

Step 8: Launch & Post-Launch Activities

The final step of the web design process is launching the website and planning for its ongoing maintenance and improvement. A successful launch involves more than just pushing the site live; it requires a robust strategy to ensure a smooth rollout, promote the website, and monitor its performance post-launch.

Final Review and Checklist Before Launch

Before going live, ensure the website is thoroughly tested and optimized. Conduct a comprehensive pre-launch checklist, which should include:

  • Cross-Browser Testing: Verify that the website looks and functions correctly across different browsers and devices.
  • Performance Testing: Check page load times and server response under various conditions.
  • SEO Optimization: Confirm that all on-page SEO elements—title tags, meta descriptions, and alt text—are correctly implemented.
  • Accessibility Compliance: Ensure the site adheres to accessibility guidelines such as WCAG, making it usable for all visitors.

Launch Strategies

Effectively launching a website involves more than just hitting the publish button. A well-coordinated launch strategy will help you maximize visibility and traffic:

  • Pre-Launch Marketing: Generate buzz by sharing sneak peeks or teasers on social media and through email campaigns.
  • Launch Day Announcements: Use various channels like newsletters, press releases, and social media platforms to announce the website’s launch. Platforms like Product Hunt can be particularly effective for promoting new products or services.
  • Partnerships and Influencer Outreach: Collaborate with influencers or partners to expand your reach and create excitement around the launch.

Post-Launch Maintenance and Continuous Improvement

Launching the website is just the beginning. Post-launch, you need a structured plan to gather insights, make improvements, and keep the content fresh.

  1. Gathering User Feedback: Tools like surveys, heatmaps, and FullStory integration can help you analyze user behavior and gather feedback. Use these insights to identify pain points, drop-off areas, and usability issues that need to be addressed.
    • Surveys: Use tools like Google Forms or Typeform to ask visitors about their experience.
    • Heatmaps: Tools like Hotjar or Crazy Egg can show you where users are clicking and scrolling, helping you optimize layouts and CTAs.
    • FullStory Integration: Analyze user sessions to see how they navigate your site, where they struggle, and what features they find most useful. This data helps you make informed decisions on what to improve.
  2. Regular Updates and Content Refreshes:
    • Plan for periodic content updates, including new blog posts, case studies, or product information, to keep the site relevant and engaging.
    • Schedule regular SEO audits to identify opportunities for optimization, such as updating meta tags, improving page speed, and addressing broken links.
    • Implement new features or design enhancements based on user feedback and technological advancements.
  3. Tracking and Monitoring:
    • Use tools like Google Analytics and Google Search Console to monitor website performance, track key metrics like traffic, bounce rates, and conversion rates, and identify areas for improvement.
    • Set up alerts for site errors, performance drops, or other issues that may arise, ensuring that you can act quickly to resolve them.

This structured approach to post-launch maintenance and continuous improvement will help you maintain a high-quality website that evolves with user needs and market trends, setting it apart from competitors and ensuring long-term success.

Design Your Website Now

Creating a successful website requires a structured approach to the web design process, covering everything from initial ideation and research to design, development, and post-launch activities. By following these steps, designers and teams can produce user-centric, high-performing websites that meet business goals and provide a positive user experience.

By leveraging UXPin’s all-in-one platform, especially with UXPin Merge, you can streamline the web design process, reduce rework, and ensure a cohesive, high-quality product that meets user needs and business objectives. This comprehensive approach sets you up for success and helps your website stand out from the competition. Request access to UXPin Merge.

HTML vs CSS – Web Development Foundations in 2024

HTML vs CSS

HTML and CSS are the core technologies behind every website, each serving a unique purpose. HTML, or Hypertext Markup Language, provides the structure and content, laying out the framework for a webpage. CSS, or Cascading Style Sheets, is responsible for styling and layout, bringing your HTML to life with colors, fonts, and layouts.

Understanding the differences between HTML and CSS is crucial for any web designer or developer. In this article, we’ll break down these two essential languages and explore how they work together to create beautiful, functional websites. 

UXPin is a prototyping tool that leverages both HTML and CSS to help designers create interactive, code-based prototypes. Try UXPin for free.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

What is HTML?

HTML, or Hypertext Markup Language, is the standard markup language used to create and structure content on the web. It acts as the backbone of all web pages, providing a framework that defines the layout and organization of a website. HTML uses a series of elements or tags to specify different parts of a webpage, such as headings, paragraphs, links, images, and lists. Each element tells the browser how to display the content on the page.

Developed in the early 1990s, HTML has evolved significantly, with the latest version being HTML5. This version introduced a range of new features and capabilities, such as improved support for multimedia, better semantic elements, and more powerful forms, enhancing both user experience and website functionality.

At its core, HTML is all about structure. For example, an HTML file starts with a <!DOCTYPE html> declaration, followed by the <html> tag, which encompasses the entire document. Inside the <html> tag, you’ll find the <head> and <body> tags. The <head> contains meta-information like the title and links to stylesheets, while the <body> includes all the visible content on the page.

Example of HTML code

&lt;!DOCTYPE html>
&lt;html>
  &lt;head>
    &lt;title>My First Web Page&lt;/title>
  &lt;/head>
  &lt;body>
    &lt;h1>Hello, World!&lt;/h1>
    &lt;p>This is my first web page using HTML.&lt;/p>
  &lt;/body>
&lt;/html>

In this example, the <h1> tag is used to create a heading, while the <p> tag creates a paragraph. These HTML elements are the basic building blocks of web pages, and they form the structure that CSS and JavaScript can later style and enhance.

Understanding HTML is crucial for anyone involved in web design or development. It’s not just about creating content but also about ensuring that content is well-structured and accessible to all users, including those using screen readers or other assistive technologies. Additionally, well-structured HTML helps search engines understand and index your content effectively, which is vital for SEO.

In summary, HTML lays the foundation for all web content, providing the essential structure that defines how information is organized and displayed. Whether you’re creating a simple webpage or a complex web application, mastering HTML is a fundamental step in building a successful online presence.

What is CSS?

CSS, or Cascading Style Sheets, is the language used to describe the presentation and design of a webpage. While HTML provides the structure and content of a webpage, CSS is responsible for its visual style, including layout, colors, fonts, and spacing. In essence, CSS brings HTML to life, transforming plain text into visually engaging content that enhances the user experience.

CSS was first introduced in the mid-1990s to address the limitations of HTML when it came to styling and design.

Before CSS, all styling had to be done directly within HTML, leading to repetitive and cumbersome code. CSS revolutionized web design by allowing designers to separate content from presentation, making it easier to maintain and update websites. The latest version, CSS3, has introduced advanced features like animations, gradients, transitions, and flexible layouts, enabling more dynamic and responsive web designs.

The core concept of CSS is its cascading nature, where styles are applied based on a hierarchy of rules and priorities. A simple CSS rule consists of a selector, which targets an HTML element, and a declaration block, which contains one or more declarations specifying the styling properties for that element.

Example of CSS code

body {
  font-family: Arial, sans-serif;
  background-color: #f0f0f0;
}
h1 {
  color: #333333;
  text-align: center;
}

In this example, the body selector applies a default font and background color to the entire webpage, while the h1 selector styles all <h1> headings with a specific text color and alignment. This approach allows for consistent styling across a site and makes it easier to change the look and feel by simply modifying the CSS code.

CSS also supports different ways to apply styles: inline, internal, and external. Inline styles are applied directly within HTML elements, internal styles are defined within a <style> tag in the <head> section of an HTML document, and external styles are linked through a separate CSS file. External stylesheets are the most efficient way to manage styles across multiple pages, promoting cleaner code and easier updates.

By separating content from design, CSS empowers designers to create visually appealing and user-friendly websites without altering the underlying HTML structure. It also plays a crucial role in responsive web design, allowing pages to adapt to various screen sizes and devices. With media queries and flexible grid layouts, CSS makes it possible to design sites that look great on desktops, tablets, and smartphones alike.

In conclusion, CSS is an essential tool for web designers and developers, providing the means to control the visual presentation of a website. By mastering CSS, you can create more dynamic, responsive, and aesthetically pleasing web experiences that engage users and enhance the overall effectiveness of your site.

HTML vs CSS – 5 Key Differences

HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets) are two fundamental technologies that work together to create and style web pages, but they serve distinct purposes and have different roles in web development. Understanding their differences is essential for anyone looking to build or design websites.

Purpose and Function

The primary difference between HTML and CSS lies in their purpose. HTML is a markup language used to structure and organize content on the web. It defines the elements of a webpage, such as headings, paragraphs, images, links, and lists, and establishes the framework for how the content is displayed in a browser.

In contrast, CSS is a style sheet language used to control the presentation and layout of HTML elements. CSS defines the visual aspects of a webpage, such as colors, fonts, spacing, and positioning, allowing designers to separate content from design.

Syntax and Structure

HTML and CSS also differ in their syntax and structure. HTML uses a tag-based syntax, where elements are enclosed in angle brackets (e.g., <h1>, <p>, <div>), and often come in pairs with opening and closing tags (e.g., <p>…</p>).

These tags provide the instructions for browsers on how to display content. CSS, on the other hand, uses a rule-based syntax. Each rule consists of a selector (e.g., p, .class, #id) that targets HTML elements, and a declaration block that contains one or more declarations defining the styling properties (e.g., color: blue; font-size: 16px;). This separation allows CSS to be more flexible and reusable, as a single style sheet can be applied to multiple HTML documents.

Dependency and Relationship

HTML and CSS have a complementary yet interdependent relationship. HTML can exist without CSS, but a webpage created solely with HTML would be plain and lack visual appeal. Conversely, CSS needs HTML to function, as it relies on HTML elements to apply styles.

Together, they create a complete and cohesive web page: HTML provides the structure and content, while CSS adds the style and visual enhancement. This separation of concerns is a key principle in web development, promoting clean, maintainable, and scalable code.

Implementation and Maintenance

Another key difference is how HTML and CSS are implemented and maintained. HTML is written directly within the HTML file of a webpage, making it integral to the content. CSS can be implemented in three ways: inline (within HTML elements), internal (within a <style> tag in the HTML document), or external (in a separate CSS file linked to the HTML document).

External CSS files are the most efficient way to manage styles across multiple pages, as they allow for centralized control over the design. This approach makes it easier to update and maintain the website’s appearance, as changes to a single CSS file can instantly affect the entire site.

Impact on User Experience and SEO

HTML and CSS also differ in their impact on user experience and search engine optimization (SEO). Well-structured HTML is crucial for accessibility and SEO, as it helps search engines understand and index the content of a webpage. Proper use of semantic HTML tags (e.g., <header>, <article>, <footer>) improves the accessibility of a webpage for screen readers and enhances SEO by giving search engines more context about the content.

CSS, while not directly affecting SEO, plays a vital role in user experience. It ensures that a webpage is visually appealing and responsive, adapting to different screen sizes and devices, which can reduce bounce rates and improve overall engagement.

How HTML and CSS Work Together

HTML and CSS are designed to work in tandem to create visually appealing and well-structured web pages. While HTML provides the foundational structure and content of a webpage, CSS enhances the visual appearance by applying styles to the HTML elements. This combination of structure and style is what brings a webpage to life, offering both functionality and aesthetics.

Separation of Content and Presentation

One of the core principles of modern web development is the separation of content and presentation, which is achieved through the use of HTML and CSS together. HTML focuses on defining the content and structure of a webpage using tags and elements. These elements outline where different pieces of content, such as text, images, and links, should appear.

CSS, on the other hand, is used to style these HTML elements, specifying how they should look and behave on the page. By keeping HTML and CSS separate, developers can maintain cleaner, more organized code, making it easier to update and modify either the content or the styling without affecting the other.

Applying CSS to HTML

CSS can be applied to HTML in several ways: inline, internal, and external. Inline CSS is added directly within the HTML element using the style attribute, allowing for quick and specific styling. Internal CSS is defined within a <style> tag in the <head> section of an HTML document, which applies styles to that specific page. External CSS involves linking an HTML document to a separate CSS file using the <link> tag.

External stylesheets are the most efficient method, especially for larger websites, as they allow for consistent styling across multiple pages and easier maintenance. For example, with an external CSS file, a single change in the CSS can be reflected on every page that uses that stylesheet.

Cascading and Inheritance

The “Cascading” in Cascading Style Sheets refers to how CSS rules are applied to HTML elements based on a hierarchy of rules and priorities. When multiple CSS rules could apply to an element, the browser determines which rules take precedence based on specificity, importance, and source order. This cascading nature allows for flexible and precise control over styling.

CSS also supports inheritance, where certain properties defined for a parent element are automatically passed down to its child elements, reducing the need for redundant code and making it easier to maintain a consistent design throughout a webpage.

Example of HTML and CSS Working Together

To illustrate how HTML and CSS work together, consider a simple example of a webpage with a header and a paragraph:

HTML:

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="styles.css">
  </head>
  <body>
    <h1>Welcome to My Website</h1>
    <p>This is a simple example of HTML and CSS working together.</p>
  </body>
</html>

CSS (styles.css)

body {
  font-family: Arial, sans-serif;
  background-color: #f0f0f0;
  color: #333;
  margin: 0;
  padding: 20px;
}
h1 {
  color: #005f99;
  text-align: center;
}
p {
  font-size: 16px;
  line-height: 1.5;
}

In this example, the HTML file structures the content using <h1> for the header and <p> for the paragraph. The CSS file (styles.css) then styles these elements, setting the background color of the page, the font family, and the specific styles for the <h1> and <p> elements.

The HTML and CSS files work together seamlessly, with HTML providing the content and CSS enhancing the presentation.

Enhancing User Experience with HTML and CSS

By working together, HTML and CSS allow developers to create web pages that are both functional and visually engaging. HTML provides the semantic structure that search engines and assistive technologies rely on, improving accessibility and SEO. CSS enhances this structure with styling that makes the content more appealing and easier to navigate. Together, they ensure that web pages look good and perform well across a variety of devices and screen sizes, enhancing the overall user experience.

In summary, HTML and CSS are two complementary technologies that work together to build the modern web. HTML defines the content and structure of a webpage, while CSS provides the styling and layout, making the web visually appealing. By understanding how they interact, web designers and developers can create efficient, maintainable, and beautiful websites that meet both functional and aesthetic needs.

HTML vs CSS – Still Relevant in 2024?

Despite the rapid evolution of web development, HTML and CSS remain fundamental technologies in 2024. As the building blocks of the web, HTML structures content, while CSS handles styling and layout, making them essential for creating all websites and web applications. They have adapted well to new demands, with HTML5 and CSS3 introducing features like responsive design, advanced layouts, and multimedia support, ensuring compatibility with modern web standards.

HTML and CSS are also crucial for SEO and accessibility. HTML provides the semantic structure that search engines and assistive technologies rely on, while CSS allows for visual adjustments that enhance usability. Their universal compatibility across browsers ensures that websites reach a wide audience, making them indispensable tools in any developer’s toolkit.

Learning HTML and CSS is still a fundamental skill for web developers, as they form the foundation for more advanced technologies. As web development continues to evolve, HTML and CSS remain relevant, adaptable, and essential for creating interactive, user-friendly websites.

Build Code-Backed Prototypes with UXPin

In summary, while HTML and CSS are both essential for building and designing websites, they have distinct roles and functions. HTML provides the structure and content of a webpage, while CSS controls its presentation and style. Understanding these key differences allows web designers and developers to use both technologies effectively, creating web pages that are not only functional and accessible but also visually engaging and responsive.

UXPin uses real HTML, CSS, and JavaScript to create interactive prototypes. When you design in UXPin, you’re not just creating visual representations of your interface; you’re actually building it with code. This means the elements you design in UXPin behave as they would in a real web environment, offering a true-to-life user experience. For instance, buttons created in UXPin will have actual HTML and CSS properties that you can inspect and modify. Try UXPin for free.

How to Design a Product Page – A Quick Tutorial

Product Page

Designing an effective product page is essential for any eCommerce site or online store. It’s where customers make their purchasing decisions, so every element needs to be thoughtfully crafted to ensure a seamless user experience. A well-designed product page can significantly impact conversion rates, helping turn casual browsers into loyal buyers.

In this quick tutorial, we’ll guide you through the process of designing a compelling product page using UXPin’s built-in MUIv5 library components. With the power of UXPin and the versatility of MUIv5, you can create intuitive and visually appealing product pages that provide all the necessary information while maintaining a clean, user-friendly layout. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Product Page?

A product page is a specific webpage on an eCommerce or company website dedicated to a single product. Its primary purpose is to provide detailed information about the product to help potential customers make an informed purchasing decision. Product pages are a crucial step in the online shopping customer journey, as they aim to convert visitors into buyers by highlighting the benefits and features of the product.

Key Elements of a Product Page

  1. Product Title: Clearly states the name of the product, often including key attributes like brand, model, or size.
  2. Product Images and Videos: High-quality images from various angles, sometimes accompanied by videos, to give a clear visual representation of the product.
  3. Product Description: Detailed text that provides information about the product’s features, specifications, usage, benefits, and any other relevant details.
  4. Pricing Information: Displays the price of the product, including any discounts, sales, or promotional offers.
  5. Call to Action: A prominent button or link, such as “Add to Cart” or “Buy Now,” that encourages the customer to take the next step towards purchasing the product.
  6. Customer Reviews and Ratings: User-generated reviews and ratings that provide social proof and help potential buyers understand others’ experiences with the product.
  7. Availability and Stock Information: Indicates whether the product is in stock or if there are any shipping delays or limitations.
  8. Additional Details: This may include information about shipping, returns, warranties, and customer support.
  9. Related Products or Recommendations: Suggests other products that might be of interest to the customer based on the product they are viewing.

What is the Purpose of a Product Page?

The main goal of a product page is to provide all the necessary information a customer might need to decide whether or not to purchase the product.

It serves as a virtual salesperson, guiding the customer through the features, benefits, and purchasing process. Effective product pages are designed to be user-friendly, informative, and persuasive, aiming to convert site visitors into paying customers.

How to Design a Product Page in UXPin

In this tutorial, we’ll walk you through the process of designing a product page using UXPin’s built-in MUIv5 library components. With these powerful design elements, you’ll be able to create a professional and conversion-focused product page in under 15 minutes.

Step 1: Start a New Project in UXPin

new project in uxpin

Begin by logging into your UXPin account and starting a new project. Once you’re in the editor, select a Page 1 and name it “Product Page.”

product page

Step 2: Set Up Your Layout

grid mui

To establish a strong visual hierarchy and ensure your product page is user-friendly, start by setting up a grid layout. You can easily do this by selecting the “Layout” tool from the top menu and choosing a grid that suits your design needs—typically, a 12-column grid is ideal for most eCommerce layouts.

Step 3: Add a Product Image Component

image list

A high-quality product image is essential for any product page. To add an image component:

  1. Go to the MUIv5 library in UXPin.
  2. Drag and drop the ImageList component onto your canvas.
  3. Adjust the size and placement to make the image a prominent feature of the page.

Make sure to use high-resolution images and include multiple angles or variations if available. You can customize the ImageList component to display a gallery of product images, allowing users to swipe through different views.

Step 4: Insert Product Details

mui typography

Next, you’ll want to add the product title, description, and price. Here’s how you can do it:

  1. Product Title: Drag a Typography component from the MUIv5 library. Set the variant to “h5” for a prominent headline, and type in your product name.
  2. Product Description: Below the title, drag another Typography component and set the variant to “body1.” Here, you can provide a detailed description of the product, highlighting its features, benefits, and specifications.
  3. Price: Finally, use another Typography component for the price. Set it to a slightly larger variant like “h6” to make it stand out. You can also use a different color to draw attention.

Step 5: Add a Call to Action

button mui

Your product page needs a clear and compelling call to action. For most e-commerce sites, this is the “Add to Cart” or “Buy Now” button. To add this:

  1. Drag the Button component from the MUIv5 library onto the canvas.
  2. Place it below the product details and adjust its size and position.
  3. Set the button’s variant to “contained” for a solid, noticeable look. You can customize the color to match your brand’s theme.

Make sure your CTA is prominent and easy to find—this is key to driving conversions.

Step 6: Include Customer Reviews and Ratings

review

Customer reviews and ratings build trust and provide social proof. To add a review section:

  1. Use the Grid component from MUIv5 to create a structured layout.
  2. Inside the grid, use the Rating component for displaying stars and Typography components for review text.
  3. You can also add an IconButton with a “thumbs up” icon to allow users to like reviews, enhancing engagement.

Step 7: Add Related Products or Recommendations

card MUI

To encourage cross-selling, add a section for related products or recommendations:

  1. Use a Card component from the MUIv5 library.
  2. Add an image, title, and price to each card, mimicking your primary product layout but on a smaller scale.
  3. Arrange these cards horizontally or in a grid layout below the main product information.

Step 8: Finalize and Preview

Once all components are in place, fine-tune the alignment, spacing, and visual hierarchy to ensure a cohesive and polished design. Use UXPin’s Preview Mode to test your design and make any necessary adjustments.

Check out UXPin’s example page to see how Preview mode works at UXPin.

redlining

Step 9: Share and Collaborate

After finalizing your product page design, share it with your team or stakeholders for feedback. UXPin allows for easy collaboration, so you can quickly iterate on the design based on their input.

Create Your Own Product Page Design in UXPin

And there you have it—a fully functional and visually appealing product page designed in under 15 minutes using MUI components. With these steps, you’ve created a user-friendly product page that not only looks great but is also optimized for conversions.

Give it a try and see how quickly you can design a product page that will impress your customers and drive sales. Discover UXPin Merge.

What are Design Specifications?

What are Design Specifications

In the world of digital product design, a seamless design handoff is crucial for ensuring that the vision crafted by designers is accurately brought to life by developers. Yet, this phase can often be fraught with miscommunication, inconsistencies, and inefficiencies.

UXPin provides a unique platform that integrates design and development like no other. Whether you’re a designer looking to streamline your workflow or a developer wanting to minimize guesswork, understanding the power of UXPin can revolutionize the way you work. Try UXPin for free.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

Definition of Design Specifications

Design specifications are detailed documents that provide comprehensive information about the functionality, appearance, and behavior of a product.

These specifications serve as a bridge between designers, developers, and stakeholders, outlining all necessary details that help developers translate the design into an end product.

They typically include information such as dimensions, colors, typography, spacing, interactions, and various other elements that are crucial for maintaining consistency and alignment throughout the development process.

Purpose of Design Specifications

handoff spec

The primary purpose of design specifications is to ensure that the vision of a design team is accurately translated into the final product. By providing clear and detailed guidelines, design specifications help reduce ambiguity and misinterpretation during the development phase.

This also serves as a documentation that designers use when a product has been developed to remind everyone, including developers, product managers, and stakeholders how the product was designed, ensuring everyone involved has a shared understanding of the product’s goals and requirements.

Moreover, design specifications serve as a reference point throughout the product lifecycle. They can be revisited and updated as necessary, ensuring that any changes or enhancements to the product align with the original design intent. This consistency is vital in maintaining a cohesive user experience and brand identity across different platforms and updates.

How to Create Design Specifications

Creating design specifications involves several steps, each aimed at capturing the essential aspects of a design in a way that is both comprehensive and easy to understand. Here are the key steps to develop effective design specifications:

  1. Understand the Product Requirements: Start by gathering all necessary information about the product’s goals, user goals, technical constraints, and business objectives. This foundational knowledge helps in creating a design specification that aligns with the overall project vision.
  2. Leave Comments on Your Design: As you develop the design, meticulously leave notes on your design outlining all design decisions, including the reasoning behind them. This includes detailing the visual design (colors, fonts, iconography), interaction patterns, and user flows. Providing context for these decisions helps other team members understand the rationale and ensures consistency.
  3. Automate Design Specifications with Tools: Leverage design tools and platforms like UXPin to create and manage design specifications efficiently. UXPin, for instance, creates the design specs automatically based on the prototype.
  4. Maintain Clarity and Detail: The design specifications should be detailed enough to prevent any misinterpretations but clear enough to be quickly understood. Use clear language, lots of comments, and annotations to enhance comprehension. Including examples of edge cases and describing the behavior of interactive elements can also be particularly helpful.

By following these steps, teams can create robust design specifications that streamline the development process, enhance communication, and ensure a high-quality final product.

How UXPin Simplifies Design Specifications

UXPin offers a robust set of tools for reviewing designs, collaborating with team members, and preparing for developer handoff.

The tool has four modes that help designers create and share design specifications. Each mode serves a unique purpose to enhance every part of design process, from collaboration and feedback to developer handoff. 

  • Simulate mode allows you to bring your interactions and animations to life and see how they work on different devices.
  • Comment mode is perfect for gathering feedback and collaborating with your team and stakeholders.
  • Spec mode provides detailed technical information, making it ideal for developer handoff.
  • Documentation mode ensures that all additional details and explanations are available for a smooth development process.

By effectively utilizing these modes, you can streamline your design workflow, enhance collaboration, and ensure a high-quality final product.

Navigating UXPin

Before we dive into the specific modes, let’s start with the basics of navigating the UXPin Preview interface.

Menu Options

On the left side of the preview window, you will find several options. These allow you to:

  • Edit Your Prototype: Return to the editor where you can make changes to your design.
  • Go Back to Your Dashboard: Navigate to your projects dashboard.
  • Start a Live Presentation: Launch a live presentation to showcase your prototype.
  • Logout: Sign out of your UXPin account.

Getting to a Site Map

Just to the right of the menu, you’ll see the site map, which displays all the pages in your prototype. You can navigate through these pages here and search for a specific page using the search bar. Additionally, an icon next to a page indicates that documentation has been added to that page.

UXPin Preview

Now, let’s go through each mode in UXPin Preview and understand their functionalities.

Simulate Mode

simulate

The Simulate mode brings your interactions and animations to life. Here’s what you can do in Simulate mode:

  • Preview Interactions and Animations: This mode allows you to see how the interactions and animations designed in the editor behave in a real-time environment.
  • Device View: You can preview your design on different devices, which is great for ensuring responsiveness and usability across various platforms.
  • Share Preview Links: Share the preview link of your prototype with stakeholders. They can view and interact with the design directly in Simulate mode, providing an interactive experience without needing access to UXPin.
  • Zoom and Highlight Interactions: On the right side, there are options to zoom in and out of your design and highlight interactions to see which elements are interactive. This is particularly helpful for reviewing complex designs.

Comment Mode

comment

The Comment mode is all about collaboration and feedback. Here’s how to use it effectively:

View Comments

When you switch to Comment mode, you’ll see pins or icons indicating comments on the design. The color coding of the pins represents the status and type of the comment:

  • Green: Resolved comments.
  • Purple: Team comments, visible only to team members.
  • Red: Public comments, visible to everyone who has access to the preview.

Add Comments

To add a comment, click anywhere on the design. A comment box will appear where you can type your feedback or suggestions. You can also specify if the comment is public or for the team only.

  • Notify and Assign Comments: You can notify specific team members or assign comments directly to them, making it easier to manage feedback and action items.
  • Review and Filter Comments: In the top right, there’s an option to review all comments. You can search and filter comments by visibility (team or public) or status (resolved or unresolved). This helps in managing feedback effectively and ensuring nothing is missed.

Spec Mode

spec in uxpin

Spec mode is the technical side of your design, ideal for developer handoff. Here’s what you can do in Spec mode:

  • Overview of Page Elements: On the right side, you’ll find a summary of the entire page, including general information like canvas size, grid usage, colors, and typography.
  • Detailed Element Information: Clicking on any specific element provides automated redlining, which shows the distance between elements, ensuring precise alignment and spacing. You can also view details like size, color, typography, and CSS code. UXPin automatically generates the CSS code for each element, making the handoff to developers seamless.
  • Style Guide: The style guide section gives an overview of all the design elements used, including colors, typography, and assets. This comprehensive summary helps developers understand the design system and implement it consistently across the product.

Documentation Mode

Documentation mode provides additional details about your design, which are added by designers in the editor. This mode is crucial for sharing context and explanations with developers and stakeholders. Here’s what it includes:

  • Detailed Annotations: Designers can add notes and explanations for different design elements, providing extra context that might not be immediately obvious. This helps developers understand the intended functionality and behavior of elements.
  • Comprehensive Documentation: Documentation mode ensures that everyone involved in the project has access to all the necessary information, reducing the chances of miscommunication and errors during development.

Why Use UXPin Merge for Design Specifications?

UXPin Merge offers a transformative approach to managing design specifications by integrating design and development in a way that no other tool does.

For teams looking to improve collaboration, reduce errors, and ensure that designs are implemented exactly as intended, UXPin Merge is an invaluable asset. By providing a single source of truth, automating specifications, and fostering a more integrated workflow, Merge helps teams build better products, faster.

Accessing Design Specifications in UXPin Merge is intuitive and streamlined, providing both designers and developers with immediate access to everything they need:

  • Real-Time Component Specs: With UXPin Merge, specifications are automatically tied to the code components used in your designs. This means you can access up-to-date specs directly from the design canvas at any time. By clicking on a component, designers and developers can view all relevant specifications—such as color, typography, spacing, states, and interactions—without needing to switch tools or manually document anything.
  • Interactive Previews and Live Code: Merge provides an interactive environment where you can see live code and real-time previews of your components. This makes it easy to understand how changes in code affect the design. By allowing developers to inspect the code directly from UXPin, you eliminate guesswork and ensure that every aspect of the design aligns with the production environment.
  • Centralized Documentation and Style Guides: All specifications and documentation are centralized within UXPin, making them easily accessible to everyone on the team. This includes detailed component documentation, usage guidelines, and style guides. By having a single, centralized repository for all specs and guidelines, UXPin Merge simplifies the process of maintaining design consistency across the entire product.
  • Simplified Handoff with Downloadable Assets and Code: When it’s time for developer handoff, UXPin Merge allows for easy downloading of assets and export of CSS, ensuring developers have all the resources they need to implement the design accurately. This feature greatly reduces the back-and-forth typically required during the handoff process and ensures that the final product matches the design specifications perfectly.

If you’re ready to streamline your design and development process, reduce the friction of handoffs, and maintain consistency across your product, UXPin Merge is the tool you’ve been looking for.

With its powerful combination of design specs, code to copy, and centralized documentation, UXPin Merge ensures that your design and development teams are always in sync. Experience the power of design and development in harmony with UXPin Merge and elevate your product design workflow to new heights.

Put Design Specifications on Autopilot

Design specifications are a vital part of the design process, ensuring that every detail of a design is clearly communicated to developers and stakeholders. They serve as a blueprint that guides the implementation of your design, helping to maintain consistency and alignment across your product.

With features like automated redlining, interactive simulations, and built-in style guides, UXPin makes the complex task of managing design specifications simple and efficient. If you’re looking to enhance your design workflow, reduce errors, and create a more cohesive product, give UXPin a try. Its powerful tools and user-friendly interface make it an invaluable asset for any design team. Try UXPin for free.

React vs Web Components – Which Is Best for Your Project?

React vs Web Components

As web development increasingly moves toward component-based architecture, two powerful technologies often dominate the conversation: React and Web Components. But when it comes to deciding between React vs Web Components, how do you know which is the best fit for your project?

React is widely used for building dynamic, interactive user interfaces, thanks to its extensive ecosystem and developer-friendly tools. Meanwhile, Web Components offer a framework-agnostic, native approach to creating reusable UI elements that work seamlessly across various platforms.

Supercharge your design and development process with UXPin Merge—an advanced drag-and-drop React UI builder that allows you to design with fully interactive React components, straight from the codebase. Enable live, functional prototypes and closing the gap between design and development. Request access to UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What are Web Components?

Web Components are a set of standardized web platform APIs that enable developers to create reusable, encapsulated, and self-contained custom elements. These elements can be integrated across various frameworks or even in standalone projects, making them highly versatile.

At their core, Web Components rely on three main technologies:

  • Custom Elements: Allow you to define new HTML tags with their own behavior.
  • Shadow DOM: Provides strict encapsulation of styles and content, ensuring components don’t interfere with other elements on the page.
  • HTML Templates: Allow developers to pre-define reusable content structures, rendered only when activated by JavaScript.

Native Browser Support

One of Web Components’ greatest advantages is their native support in modern browsers like Chrome, Firefox, Edge, and Safari. Because they are part of the web standard, Web Components don’t require additional frameworks or libraries to function. They are ideal for projects that require cross-browser compatibility and reusable components across different environments.

Key Benefits of Web Components

  • Reusability: Create once, reuse anywhere. Custom elements are perfect for building consistent UI components across multiple projects or teams.
  • Encapsulation: Thanks to the Shadow DOM, Web Components ensure that styles and scripts are self-contained and don’t interfere with the broader application.
  • Framework-Agnostic: Web Components work in any framework or even standalone projects, making them a flexible choice for long-term scalability.

What is React?

React is a popular JavaScript library developed by Facebook in 2013. It is used to build dynamic user interfaces, especially for single-page applications (SPAs). React’s component-based structure, combined with its Virtual DOM, makes it an excellent choice for applications where the user interface frequently changes.

React allows developers to create reusable components that manage their own state, making UI development simpler and more efficient.

Virtual DOM and Component-Based Architecture

React’s Virtual DOM optimizes UI performance by only re-rendering parts of the DOM that have changed, making it highly efficient in dynamic environments. React’s component-based architecture allows developers to create self-contained UI elements that can be easily reused and scaled across large projects.

Key Benefits of React

  • Vast Ecosystem: With a huge range of libraries and tools, React’s ecosystem offers solutions for routing, state management, and more.
  • Developer Tools: React comes with powerful debugging tools like React DevTools, making it easier to inspect components and track state changes.
  • Community Support: React’s large community ensures a wealth of resources, plugins, and tutorials, keeping it on the cutting edge of front-end development.

Key Differences Between React vs Web Components

When comparing React vs Web Components, several factors come into play, such as how each technology functions, their architecture, and ease of use.

Native vs Library-Driven

Web Components are built into the browser as native APIs, meaning they work out of the box without requiring third-party libraries. In contrast, React is a JavaScript library that needs to be installed and imported into the project. While React offers more control and features, Web Components provide a more lightweight, framework-independent solution.

Encapsulation

Web Components leverage the Shadow DOM for strict encapsulation, ensuring that styles and content remain isolated from the rest of the application. In contrast, React uses CSS-in-JS or scoped CSS for styling, offering flexibility but sometimes leading to more complex styling systems in large applications.

Learning Curve

Web Components have a lower learning curve for developers familiar with standard web technologies like HTML, CSS, and JavaScript. React, however, requires developers to learn new concepts such as JSX, component lifecycle methods, and state management libraries, making its learning curve steeper, especially for newcomers.

Performance

React uses the Virtual DOM, which improves performance by optimizing UI updates. This makes it ideal for applications that require frequent interface changes. Web Components, by contrast, interact directly with the native DOM, which can be slower for dynamic updates but is excellent for reusable, self-contained elements.

Ecosystem and Support

React’s extensive ecosystem and large community make it easy to find solutions for common development challenges. While Web Components have a smaller, growing community, React currently offers more resources, libraries, and plugins, making it a better choice for larger-scale projects.

When to Use Web Components vs React

Best for Web Components

Web Components are perfect for reusable elements that need to work across multiple projects and frameworks. For instance, if you’re building a design system or want to create UI elements that can be reused in different environments (React, Angular, or plain JavaScript), Web Components are the ideal solution.

They are also a great choice when you want to minimize dependencies and avoid locking into a specific framework.

Best for React

React excels in dynamic, data-driven applications like social media platforms, dashboards, and e-commerce sites. Its Virtual DOM ensures optimal performance for applications with frequent updates. Additionally, React’s vast ecosystem provides out-of-the-box solutions for tasks like state management (Redux) and routing (React Router).

Can You Use Web Components and React Together?

Yes! Web Components can be seamlessly integrated into React applications. Since Web Components are framework-agnostic, they can be treated like native HTML elements in a React project. This allows you to leverage the power of Web Components within a React-based UI, creating reusable, consistent elements across different platforms.

Conversely, while using React components inside Web Components is less common, it can be done with extra configuration.

Leverage Both React and Web Components with UXPin Merge

Whether you’re working with React or Web Components, UXPin Merge allows you to integrate real, functional components directly into your design environment. Designers can use a drag-and-drop interface to work with fully interactive React components, bridging the gap between design and development.

UXPin Merge ensures that your design system, whether built with Web Components or React, remains in sync with the codebase, making collaboration smoother and more efficient.

FAQs: React vs Web Components

Can Web Components be used with React?

Yes, Web Components are framework-agnostic and can be easily used in React applications as custom HTML elements.

What is the key difference between React and Web Components?

The key difference is that React is a JavaScript library requiring installation, while Web Components are native browser technologies.

Which is better for performance: React or Web Components?

React’s Virtual DOM optimizes performance for dynamic interfaces, while Web Components offer native browser interaction, making them better for reusable UI elements.

Choosing Between React vs Web Components

In the battle of React vs Web Components, the right choice depends on your project’s needs. Web Components are ideal for framework-agnostic, reusable elements, while React excels in dynamic, single-page applications with frequent updates.

However, combining both technologies is also possible, giving you the flexibility to build scalable, maintainable applications. To further streamline your process, try UXPin Merge, where you can design using real, interactive components from React or Web Components—supercharging collaboration between designers and developers. Request access to UXPin Merge.

Design System Naming Conventions – How to Set Them

Design System Naming

Design system naming conventions are the standardized rules and guidelines used to name elements within a design system. This includes naming design tokens, components, patterns, styles, and any other elements that are part of the design system. A well-defined naming convention is crucial for maintaining clarity, consistency, and ease of use across both design and development teams.

If you’re looking to elevate your design system and create a more consistent, efficient workflow, UXPin Merge is the solution for you. By integrating design and development into a unified process, Merge helps you build a robust design system that scales with your organization and meets the highest standards of quality and consistency. Request access to UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is the Naming Convention for Design Systems?

Design system naming conventions are a set of rules for naming the different parts of a design system, like colors, fonts, buttons, and other components. These rules help keep names clear and consistent, making it easy for everyone on the team to understand and use the design system.

Design system naming conventions are typically set by the team responsible for creating and maintaining the design system. It can be governed by a dedicated group of designers and developers who focus on building and managing the design system or design leaders at a company. They establish naming conventions to ensure consistency and ease of use across the system.

Why Are Naming Conventions Important in a Design System?

By following these naming conventions, teams can work together more smoothly and keep the design system organized and easy to update. Design system naming systems help in:

  1. Clarity and Readability: A good naming convention helps team members easily understand what each element is and how it should be used. This is especially important as the design system grows and more people across different teams start using it.
  2. Consistency: Consistent naming reduces confusion and helps ensure that everyone on the team uses the design system in the same way. This is essential for maintaining a cohesive and unified user experience across all products and platforms.
  3. Scalability: As your design system expands to include more components and tokens, a well-structured naming convention makes it easier to organize and manage these elements. It provides a scalable framework that can accommodate new additions without causing confusion or requiring significant restructuring.
  4. Collaboration: Clear and consistent naming conventions improve collaboration between designers and developers by reducing miscommunication. When both teams use the same language and terms, it’s easier to maintain alignment throughout the development process.

9 Key Elements of Design System Naming Conventions

Design Tokens

Design tokens are the core variables that define a design system’s visual properties, such as colors, typography, spacing, and shadows. Naming conventions for tokens should reflect their purpose and usage rather than specific values, ensuring flexibility and scalability. Examples include color-primary, font-size-heading, or spacing-small.

Components

Components are the building blocks of a design system, representing reusable UI elements like buttons, forms, cards, and navigation bars. Consistent naming for components ensures they are easily identifiable and logically grouped, enhancing usability and collaboration. Examples include ButtonPrimary, FormInputText, or CardWithImage.

Patterns

Patterns are reusable combinations of components that address specific design problems or create common UI layouts. Naming conventions for patterns should describe their function clearly, such as LoginForm, NavbarSticky, or ErrorMessageModal.

Modifiers

Modifiers represent variations or states of a base component or token, such as different sizes, colors, or behaviors. Consistent naming for modifiers typically indicates the relationship between the base element and the variation, using a pattern like BaseComponent–Modifier. Examples include ButtonPrimary–Large, ColorPrimary–Dark, or Card–WithShadow.

Utilities

Utility classes or styles are often used for quick, specific adjustments that apply common design tokens, such as margin or padding. Naming conventions for utilities are typically short and descriptive, indicating the property they affect. Examples include u-margin-small, u-padding-large, or u-text-center.

States

States define different conditions of a component, such as active, disabled, focused, or error states. Clear naming for states helps communicate these conditions within the design system. Examples include Button–Disabled, Input–Error, or Link–Active.

Responsive Variants

These are variations of components or styles that adjust based on screen size or device type. Naming conventions for responsive variants typically follow a pattern that indicates the screen size they target. Examples include Button–SmallScreen, Grid–Desktop, or Image–Responsive.

Accessibility Features

Elements or tokens that enhance accessibility might have specific naming conventions to denote their purpose. For example, Button–AriaLabel or Text–HighContrast indicate elements tailored for accessibility.

Brand-Specific Elements

In some design systems, elements may be specific to different brands or themes. Naming conventions for these elements should clearly indicate their association. Examples include Button–BrandA, Navbar–BrandB, or Typography–Corporate.

Top 10 Best Practices for Naming Conventions in Design Systems

A well-organized design system is the backbone of consistent and scalable design work. Naming conventions play a crucial role in this organization by making your design system intuitive and easy to use. Here are ten essential best practices to help you establish effective naming conventions for your design system:

1. Be Descriptive but Concise

Why It Matters: Clear and concise names help everyone on your team quickly understand what each element is for. Long or vague names can lead to confusion and mistakes, slowing down the design and development process.

How to Implement: Choose names that clearly describe the element’s purpose or function without being overly detailed. For example, instead of naming a primary action button btnSubmitActionPrimary, use ButtonPrimary. This name is direct, easy to remember, and effectively communicates the button’s role.

2. Use Consistent Patterns Across the System

Why It Matters: Consistency in naming makes your design system predictable and easy to navigate. When team members know what to expect from the naming structure, they can find and use elements more efficiently.

How to Implement: Establish a naming pattern like [Category]-[Modifier] for design tokens (color-primary, spacing-small) and ComponentName–Modifier for components (Button–Large, Card–WithShadow). Stick to these patterns throughout your design system to maintain consistency.

3. Avoid Specific Values in Names

Why It Matters: Naming tokens with specific values like 16px or #FFFFFF limits flexibility. If the values change, you would need to rename tokens throughout the system, which is time-consuming and error-prone.

How to Implement: Focus on naming tokens based on their function rather than specific values. For instance, use font-size-base instead of font-size-16px. This approach allows you to adjust the value without changing the name, making your system more adaptable.

4. Reflect the Design Intent, Not Just Implementation

Why It Matters: Names should convey how and when an element should be used, rather than just describing what it is. This helps designers and developers understand the intent behind each element, promoting consistent usage across different contexts.

How to Implement: Use names that indicate the purpose of the element. For example, instead of a generic name like color-red, use color-error to specify that the color is intended for error messages. This provides clarity and reduces the risk of misapplication.

5. Document Your Naming Conventions Clearly

Why It Matters: Clear documentation ensures that everyone on your team understands and follows the naming conventions. This is particularly important as new team members join or as the design system evolves.

How to Implement: Create a comprehensive section in your design system documentation dedicated to naming conventions. Include the reasoning behind each rule, along with examples of correct and incorrect naming. Update this documentation regularly to reflect any changes or additions.

6. Use Readable Naming Formats like Camel Case or Kebab Case

Why It Matters: Readable formats such as camel case (ButtonPrimary) or kebab case (button-primary) make it easy to distinguish different parts of a name at a glance, improving clarity and reducing errors.

How to Implement: Decide on a naming format that aligns with your team’s coding standards or design practices. For instance, use camel case for component names (ButtonPrimary, CardWithImage) and kebab case for CSS class names (button-primary, card-with-image). Apply this format consistently.

7. Include Context in Names When Necessary

Why It Matters: Elements that could be used in multiple contexts should have names that specify their intended use. This prevents confusion and ensures elements are applied correctly across different parts of the design.

How to Implement: When naming tokens or components that serve specific functions, include contextual information in the name. For example, use spacing-card-small instead of just spacing-small to indicate that the spacing value is intended for card components.

8. Plan for Scalability from the Start

Why It Matters: A scalable naming convention allows your design system to grow without needing significant changes to existing names. This is crucial as your system evolves to include more components, tokens, and patterns.

How to Implement: Anticipate future needs by choosing flexible naming conventions. For example, if you might add different button types, start with names like ButtonPrimary, ButtonSecondary, and ButtonTertiary. This approach leaves room for expansion without causing confusion.

9. Minimize the Use of Abbreviations

Why It Matters: Abbreviations can make names shorter, but they also risk making them unclear, especially for new team members or collaborators. Only use abbreviations that are universally understood within your team.

How to Implement: Stick to full words unless an abbreviation is commonly accepted and widely recognized. For instance, btn for button is standard, but using fs for font-size might not be immediately clear to everyone.

10. Regularly Review and Update Naming Conventions

Why It Matters: As your design system grows and changes, your naming conventions might need to evolve. Regular reviews help ensure your system remains intuitive and efficient for all users.

How to Implement: Set up periodic reviews of your naming conventions with key stakeholders. Gather feedback from designers and developers to identify any issues or areas for improvement. Be open to making changes that enhance clarity, consistency, or scalability.

Build Prototypes that Are in Line with Your Design System

Establishing effective naming conventions is crucial for any design system’s success. By being descriptive but concise, maintaining consistent patterns, and regularly reviewing your conventions, you can ensure that your design system remains organized, scalable, and easy to use.

Consistency is key to any successful design system. It ensures that your UI components are cohesive, scalable, and easy to maintain across different teams and projects. But achieving this level of consistency can be challenging, especially when it comes to bridging the gap between design and development. That’s where UXPin Merge comes in.

UXPin Merge is a powerful design technology that allows you to integrate real, production-ready code components from your React-based design system directly into your design tool. This integration creates a unified source of truth for both designers and developers, ensuring that everyone is working with the exact same components and styles. Request access to UXPin Merge.

Design System Tips from Developer’s Point of View

Design system management from the developer

Today we’re sharing a guest post by Nick Moore that originated from collaboration with StackBlitz. Build code-backed prototypes and open them in StackBlitz in one click. Request access to UXPin Merge.

If you know how to ride a bike now and wait five years to ride one again, you’ll likely do just fine once you get back on. Bicycles are intuitive once you’ve learned how to ride them, and the basic design is unlikely to change over time and across bicycles. Reaching this level of usability in software is a little more difficult. 

Developers and designers often have to iterate too rapidly to reach bicycle-level reliability, but the intuitive experience of a user logging onto your app as if they were hopping on a bicycle is still something we should aim for—and design systems are the best way to do so. 

Even though it’s a high bar, this level of usability pays dividends. Users will adopt your app more readily (reducing churn), use it to greater effect (and feel the benefits), and strengthen your marketing efforts as engaged users recommend and amplify your app. 

Building and using a design system is one of the best ways to clear this high bar because design systems allow development and design teams to build and ship quickly while relying on standardized components that reduce friction and confusion. 

If you’ve ever encountered a bad design system, then you know the issue: A great one can lift you up, but a bad one can hold you back. 

The key is to treat your design system like a fully-fledged product that must remain effective and dependable over time. Without enough investment, design systems will only offer marginal help; with enough investment, design systems can provide consistency and stability while improving the pace of development.

Build responsive layouts fast! Try UXPin Merge, a technology that helps designers and developers create prototypes that are production-ready from the start. With our integration, open UXPin Merge prototypes in StackBlitz with one click. Request access to UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Build design systems via iteration, not waterfall

For developers, design systems often feel like intrusions from the outside in. The design systems team might have their best interests at heart, but developers know that a bad process with good intentions will still likely lead to a bad product. 

After all, developers are well-versed in building a product and iterating over time, with user feedback informing every iteration. Any whiff of a waterfall or waterfall-esque process – where teams build a product in a silo and release it all at once – will make them justifiably skeptical. 

The solution is to focus on simplicity over comprehensiveness—at least at first—and build design systems bit by bit over time. By breaking the problem down, platform teams can build simple but essential features, prove the concept’s value, and get feedback that will inform the rest of the work. 

Slack provides a good example of this methodology. Back in 2016, millions of people were using Slack, and the company’s codebase was, according to Zack Sultan, Lead Product Designer at Slack, “built in a way that favored time-to-market over maintainability, consistency, or reusability.”

Like many young companies, Slack prioritized finding and pursuing product/market fit before building a codebase suited for scalability and reliability. Some companies encounter breaking issues first and decide to reassess potential tech debt issues, but Slack kept ahead of itself. 

“We never encountered a single breaking point in our user interface,” Sultan writes, “but rather a slowly cascading series of inconsistencies, quirks, and discrepancies.” The momentum of the business was growing, and as Slack added more product teams (and more products and features), components started to drift. 

(Source)

Questions soon abounded, Sultan writes. “What does a button look like in Slack? How do you build it? What words do you put in it? It was up to individual teams to make these decisions.”

Many companies correctly notice the problem and then build a mediocre solution by asking a group of developers to cook up a new design system in isolation. Some slowing down is to be expected as companies grow, but a design system developed this way can cause development to come to a screeching halt. 

Slack was wary of this potential and focused on finding ways to rebuild and standardize its components without slowing down overall development. “It was a bit like taking a car engine apart piece by piece, and cleaning, repairing, and replacing each part while it accelerated down the highway,” Sultan writes. 

(Source)

Like building a minimum viable product (MVP), design systems need to have core features built well and not many features built poorly. Early on, you’re looking to demonstrate value–not comprehensiveness–even if it means building one single component really well.

“Just one component, thoroughly documented, was immediately valuable,” Sultan writes. By building components one at a time and ensuring each was complete and well done, they were able to create a “virtuous cycle for the system.” 

The value of each component, as simple and small as each isolated chunk was, demonstrated the value of the work as a whole. Developers remained invested throughout, and Slack eventually launched its design system, Slack Kit.

Maintain design systems or lose them to tech debt

Let’s imagine, for a moment, that the platform team and design team have worked together – alongside developer feedback – to build the perfect design system. Every developer takes a look and gives it a thumbs up. 

Why, then, could you take any one of those developers aside and hear some wariness in their voice when they talk about actually using the design system?

The issue is that developers are very familiar with what happens when a product doesn’t have a maintenance plan. They’ve built products that have fallen by the wayside and created beloved internal tools that managers deprioritized until they died. Eventually, even a great product will fall prey to tech debt if there’s no plan to keep it alive. 

For teams building design systems, the solution is to build a flexible design system that they can iterate, maintain, and update over time. 

Design systems, by their nature, tend to offer some level of standardization, but over-focusing on standardization can lead to an overly rigid system. If the design system is good, people might not complain at first, but if even a good system is hard to keep up to date and hard to use in non-standard scenarios, people will eventually stop using it. 

Instead, platform teams need to build design systems with maintenance as a first principle and map each component across a spectrum of flexibility. 

To make this a little less abstract, let’s look at an example from Spotify

The team behind Encore, Spotify’s design system, faced the same issue we’ve talked about here. As the product changes and the development team grows, writes Charlie Backus, design systems engineer at Spotify, “it can sometimes seem like the team is outgrowing the current set of components and styles.”

(Source)

As you can see in the selection above, there was a dire need for consistency, despite an equal need for teams to remain creative and driven. 

To find a balance, Backus recommends teams develop “an abstract shared vocabulary around component properties” or ensure that the “base properties remain accessible for modification by end consumers.”

The best way to think about this strategy is to imagine a spectrum between configuration (high-abstraction components that developers pass additional parameters to in order to add varied behaviors) and customization (low-abstraction components that developers just add custom styles to). 

(Source)

This spectrum-based approach is useful because it forces teams to think about tradeoffs ahead of time. 

On the one hand, as Backus writes, “A more abstract configuration approach can increase consistency and maintainability but at the risk of the system being a bottleneck for outgoing features.” By increasing abstraction, a design system can make development more consistent but potentially slow down development. 

On the other hand, Backus continues, “The less abstract customization approach enables quicker feature development; however, the overall consistency of the product can suffer as a result.” Speed increases, in this case, but the likelihood of inconsistencies increases, too. 

Backus recommends thinking about maturity to find your spot on the spectrum for any given component. “The more mature a product or feature is, the more beneficial and feasible a configuration approach is. However, the iterative and low-level nature of customization makes it more suitable for prototyping and features which are bespoke, or are still subject to change.”

Like in the Slack example, we’re incorporating concerns that lie outside the immediate purview of the design system. With Slack, they were thinking about the growth of the company, and with Spotify, they were thinking about the growth of features. Mature, well-tested, well-known features can be standardized, but new, still-growing, and one-off features require more flexibility. 

Avoid rework by aligning developers and designers

Developers and designers alike often decry meetings, wishing they had more time and space to work. Don’t get us wrong – too many meetings can be a huge drag on focus – but a good meeting can also save you a lot of work. An aligned team, delayed by a meeting, will always be more effective than an unaligned team working hard on the wrong things.

This dynamic is true within teams and departments, but alignment issues can be much more severe between different departments. A development team and design team working on different things, for example, can end up negating each other’s work if the designs are for a feature that isn’t built yet and the feature is built for a design that hasn’t been sketched yet. 

Design systems magnify this issue. If a design system isn’t well thought out, all the effort toward building one can be wasted if developers and designers don’t start out using it in an aligned way and maintain alignment over time.

As we said in the first section, the design system can’t feel like a third party designed from the outside in. In the same way, it can’t be a tool that developers and designers only call on occasionally or when absolutely necessary. Instead, a design system should be a language for the design and development teams—both a result of alignment and an anchor that continuously shows how well the teams are aligned.

To see what we mean when we refer to design systems as language, look at Airbnb. Back in 2016, Airbnb was growing rapidly and adding feature after feature. Karri Saarinen, then Principal Designer at Airbnb, writes, “One-off solutions aren’t inherently bad, but if they aren’t built upon a solid foundation, we eventually find ourselves having to pay back accrued technical and design debts.”

To reset these efforts and ensure ongoing sustainability, the Airbnb team looked toward language as a guiding metaphor. “Visual language is like any other language,” Saarinen writes. “Misunderstandings arise if the language is not shared and understood by everyone using it. As a product or team grows, the challenges within these modalities compound.”

Airbnb built a new language via a new design system by looking at where their old designs failed. “We started by auditing and printing out many of our designs, both old and new,”  Saarinen writes. “Laying the flows side by side on a board, we could see where and how the experiences were breaking and where we needed to start making changes.”

By focusing on the miscommunications first, Airbnb was able to build a language that used a consensus understanding of shared components as its foundation. 

(Source)

“We felt that we were all working together towards the same idea,” Saarinen writes. “Reviewing our collective work at the end of each day, we began to see patterns emerge. We course-corrected when necessary and started defining our standardized components.” 

The team knew they were onto something when, even before the design system was finalized, productivity and consistency sped up in tandem. “One day,” Saarinen remembers, “While putting together a last-minute prototype, our team was able to create nearly 50 screens within just a few hours by using the framework our library provided.” 

The early and ongoing boosts to productivity and standardization were a result of building a design system like a shared language. By thinking of the design system first and foremost as a way for developers, designers, and others to communicate and understand each other, the entire company benefited. 

Treat your design system like a basecamp

One of the biggest worries developers can feel when a platform team or engineering leader proposes a design system is the tension between the freedom to do new work and the restraints standardization can impose. 

Developers often fear that design systems, even when they introduce welcome consistency, can inhibit experimental and exploratory work. Ultimately, developers want to code, and design systems can sometimes feel like a way of reducing coding to boilerplate work. 

With this fear and its real risks in mind, companies have to take a different approach to making design systems work for developers: Design systems should be like basecamps for developers and designers on the frontiers of exploration. 

The base camp is more stable than the frontier, and the work done there is more routine. In this metaphor, the ultimate purpose of the design system is to give designers and developers resources so that they can explore further with every trek. The design system acts as a dependable foundation, but it doesn’t replace all the work that needs to be done. 

With the lessons we’ve outlined here—iterating over time, thinking carefully about flexibility and maintenance, and aligning developers and designers—you can create a design system that developers trust, one they will gladly return to before exploring further. 

Create fully functional, production-ready prototypes from the start. With UXPin Merge, what you design is exactly what gets built—eliminating handoff issues and speeding up development. Plus, with our seamless integration, you can open your UXPin Merge prototypes in StackBlitz with a single click for an even smoother workflow. Ready to elevate your design and development process? Request access to UXPin Merge today.

7 Pillars of Web Design – A Beginner’s Guide

Design System for Developers

So you wanna be a Web Designer huh?

I mean why not? After all, everything is on the web …

As of writing this article 100 Million+ companies have an online presence through their websites.

But AI is here! Does that mean Web Design is dead?

Not at all! AI is changing the game, yes. AI can assist with the heavy lifting, no doubt. But creativity and empathy? Those are things it’s still catching up on. We need to be realistic about what AI can do and separate the hype from practical applications.

In this beginner’s guide, we’ll cover the fundamentals of web design to get you started on your path to becoming the next Mark Wheeler.

I’ll also show you a case study without overwhelming you so you get a sense of what you’ll actually be doing as a Web designer. Hopefully, this will give you a practical understanding of what it’s like to work as a web designer and inspire you to learn more.

Let’s go.

Looking for a tool for web design? Try UXPin, an end-to-end prototyping tool that for creating interactive app and web designs that can be developed within minutes. Try UXPin for free.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

What Is Web Design?

Web design is the creation of visually appealing and functional websites. It involves planning, and designing (not coding) the structure and layout of a website and its content.

Wait, “and its content”?

Yes, more often than not, a company will not hire a separate content planner which can sometimes mean the designer takes on that responsibility. We’ll come back to that later.

Just like other design disciplines, web design also has humble beginnings. In the early 90s, websites were primarily text-based, focusing on information. As the web evolved, visual elements like images and graphics added engagement. Today a website can have hundreds of web elements. Buttons, text, fields, dropdowns, icons, video, sliders, gifs, checkmarks … you name it.

In web design, like many other fields, we face a common challenge: balancing form (how it looks) and function (how it works). This is why we have two specialties – UX for user experience and UI for user interface.

Many experts will categorize the web design process into many parts or phases.

But here is the industry standard:

Discovery Phase > IA and Wireframing > Visual Design > Prototyping > Testing

While these are important, they’re not what this post is about. This post is focused on the fundamental/core principles of web design. Let’s take a look:

The 7 Pillars of Web Design

Not to be mistaken with Principles of Web Design, These are one the first concepts every web designer must be familiar with. These pillars are the foundational elements that ensure a website is effective, engaging, and functional.

Pillar #1: Usability (UX)

Frustration doesn’t have to be vocalized! Usability in UX Design measures how effectively users can interact with and navigate a website to achieve their goals. Oh, and one of the most ubiquitous terms you’ll get used to as a web designer is actually “User Goals”.

What are User Goals? Let’s look at an example:

Sarah, a busy working mother, is looking for a birthday gift for her 7-year-old son. During her lunch hour at work, she uses her iPad to surf internet stores. Sarah’s primary goal is to buy a gift that her kid would enjoy, and her secondary goal is to make the transaction swiftly and effectively.

So, as a Designer, you want to LISTEN to these queues. If you’re designing an eCommerce store in this example, you’d wanna make sure that there are filters. Filters for gifts for example, and maybe you can go down to specifics of what kind of gifts and for what age.

Amazon has a collection of Gift Ideas for example. With sub-optimal filters … take a look:

On this page, Shara could filter by product category, but it’s hard for her to find filters for age range or toy color. And since she’s browsing on a tablet with weak eyesight, the font used in the filter section can be difficult to read – these are the kinds of usability issues that you try to solve.

So, To solve them you have to KNOW the user. There is a simple three-step process approach to getting to know the user:

Define Pain Points > Create Journey Maps > User Personas

We’ll use MOLDO: a sample case study project I was involved in as an example. “Moldo” is an online shopping app for furniture and interior ware.

To understand our users’ needs, my team conducted research through surveys. We analyzed the results, prioritized the feedback, and identified the most common pain points that users were experiencing:

Then, we analyzed the major phases the user will have to go through on the App, and for each phase, we mapped user emotions, actions, and opportunities.

And finally, we have our personas …

Great UX design should consider the following factors:

  • User’s Goals. As we already saw above: these are User Needs.
  • User’s Emotions. How does the user feel when using the product?
  • User’s Behavior and Actions. How does the user behave when using the product? Are they able to complete their tasks efficiently?
  • User’s Context. Where and how is the user using the product? Are there any environmental factors that affect the user’s experience?

You will need to put yourself in the user’s shoes so that ultimately you can be able to create an intuitive design.

What is intuitive design? A design that is easy to use and understand, even for first-time users. This means that the product should be developed to align with the user’s expectations and mental models.

Here is another example …

Our home page has a clear and prominent call to action – a form that explicitly tells users what they need to do next.

The text clearly states the purpose of the product, which is to design UI with code-backed components. It is concise and free of distractions, making it easy for the user to focus on the main message and CTA.

The initial CTA is “Try for free”, which guides the user to take action and try the product. And even tells the user that we prefer their work email.

Again, this is why UX always comes before UI. UX is the why, and UI is the how.

Make it functional, then make it pretty.

We’ve written extensively on this topic in our blog – like Heuristic Evaluation, and UX Requirements feel free to browse around after you finish reading this one.

We even have a free ebook: Guide to Usability Testing.

Pillar #2: Design (UI)

UI Design focuses on the visual elements of a product, based on UX research findings. Visual elements are the ones a user directly interacts with, such as buttons, menus, and typography.

Its primary objective is to ensure that these interfaces are not only visually appealing but also user-friendly, enhancing overall satisfaction and efficiency in task completion.

I’ve been a UI Designer for half of my career, and let me tell ya, it’s fun. We worry about design movements, hierarchy, layout, interactions, and so on …

To start with, There are three types of UI Elements, Input, Output, and Helper elements, we cover them broadly in an article about UI elements, but let’s look at them quickly:

  • Input elements. These elements allow users to enter data into the interface. Examples include text fields, checkboxes, radio buttons, drop-down menus, and sliders.
  • Output elements. These elements display information to the user. Examples include labels, text, images, and icons.
  • Navigation elements. These elements allow users to move around. Examples include buttons, links, menus, and breadcrumbs.

The UI Design Process

As I mentioned before, UI Design mainly involves the visual design and prototyping (and testing phase shared between UX and UI) part of the design process.

Depending on who you ask, Wireframing is part of UI design. Wireframes are the blueprints for your interface. So it goes like this:

Wireframing > Sketching > Lo-fi Prototype > Hi Fidelity Prototype > Mockup

But for brevity, we’ll stick to:

Wireframing > Sketching > Prototyping

Usually, the UX Designer would provide the IA (Information Architecture) of the app/website, and based on that we can start sketching out the project design scope.

IA is just a fancy term meaning a graph or map of how the content and pages should be structured, and it usually looks something like this:

But it’s the foundation of Wireframing which is the next step.

We use wireframes to define page elements (buttons, forms, images), Arrange content (headers, sidebars, main content areas), and Show basic interactions (click paths, transitions).

You can create wireframes by hand (on paper) or digitally using tools like UXPin or Figma.

Getting back to the MOLDO example, here is what the wireframe looked like:

For most ecommerce products we found that the navigation was visually not inviting or was bulky. So we wanted to make sure that we have our UI balanced between obvious but not lame …

Beyond the optimized design itself, We also adjusted the size of buttons to be particularly bigger than what’s usually a standard in mobile apps.

The point of having a wireframe is to change and iterate to your heart’s content. As you progress through the design process there will naturally be less wiggle room so this is your way of telling your clients, “hey … here is what I’m thinking” and gathering feedback.

As you can see the wireframe stage makes it easy to know what goes where.

Next, you flesh out the Lo-fi and Hi-fi versions. Lo-fi usually is the flat but colored version of the wireframes. And Hi-fi almost looks like the real product. Sometimes we simply use a prototype and then a mockup.

You can see what a visual design prototype might look like in a design tool, with all the visual elements and layout finalized.

And then finally the polished Mockups … yay!

As UI Designers, we don’t only design how elements look but also how they behave during interactions. AKA animations.

And I’m not necessarily talking about transitions or motion animation.

Animations that guide and interact with the user in a way that feels natural, but consistent. That gives users feedback about their actions, so they know what’s happening.

We call these micro-interactions. are small, purposeful animations triggered by specific user actions (clicking a button, hovering over an icon … so on).

For example: When you click a button, it slightly depresses/shrinks to give visual feedback that your action has been registered.

UI Motion Principles

  • Consistency. As a user, I should experience familiar motion patterns across different parts of an application. I should be able to predict how interactions will unfold. If a button slides in from the right on one screen, it should do the same elsewhere.
  • Hierarchy. Primary actions (like submitting a form) deserve more attention than secondary ones (like canceling an operation). That’s just an example, but prioritize animations based on their importance within the user flow and website structure.
  • Realism. UI animations should mimic real-world physics to feel natural. Depending on what you’re going for Objects should accelerate when they start moving (ease-in) and decelerate when they stop (ease-out).
  • Context. Animations should align with the context and purpose of the interaction. A loading spinner during data retrieval makes sense. A playful bounce effect on a serious error message might not.

Pillar #3: Accessibility

Accessibility in UI design goes beyond just color. Color can not be used as the only way to convey information. Surely, many other disabilities are not related to the human eye.

According to a survey, more than 1 in 4 adults in the United States have some type of disability. That’s a population of more than 83.5M!

Accessibility refers to whether a product or service can be used by everyone, regardless of their abilities or disabilities. 

Read: Web Content Accessibility Guidelines (WCAG)

Check out the full list of tools curated by W3.Org.

According to the WCAG, a website should do the following to be accessible: 

  • Perceivable. Content should be presented in ways that users can perceive (e.g., through text, images, or sound).
  • Operable. Users should be able to navigate and interact with content (e.g., using keyboard shortcuts or voice commands).
  • Understandable. Content should be clear and easy to comprehend (avoid jargon, provide instructions, etc.).
  • Robust. Content should work reliably across different technologies and devices.

WCAG also has Levels of Conformance ranging from A to AA and AAA.

At UXPin we are very serious about accessibility. With UXPin’s accessibility features, you can design for all users, both disabled and nondisabled.

Image Source: Web.Dev

Accessibility Ground Rules:

  1. Color Contrast and Text Legibility. Poor color contrast can make text difficult to read, especially for people with limited vision or color blindness. The solution is to use high-contrast combinations (e.g., dark text on a light background or vice versa). Avoid relying solely on color to convey information. Use additional cues like icons or patterns.
  1. Alternative Text (ALT Text) for Images. People who use screen readers rely on ALT text to understand images. ALT text Describe the image’s purpose or content concisely.
  1. Keyboard Navigation and Focus States. Some users rely on keyboard navigation (e.g., screen reader users or those with motor impairments). All interactive elements (buttons, links, form fields) should be keyboard-navigable.
  1. Semantic HTML and ARIA Roles. Proper HTML structure aids screen readers and other assistive technologies. Learn more about ARIA attributes (Accessible Rich Internet Applications).
  1. Captions and Transcripts for Multimedia. Deaf or hard-of-hearing users rely on captions for videos and audio content.
  1. Forms and Error Handling. Forms are critical for user interaction, but poorly designed forms can be frustrating. Label form fields clearly and provide error messages in a perceivable way.
  1. Test with Real Users. Real-world feedback is invaluable. Conduct usability testing with diverse users, including those with disabilities.

Pillar #4: Layout

Layout refers to the arrangement of visual elements within a given space. It is part of UI primarily but decided by factors in UX.  A well-designed layout enhances user experience by making content easy to find and understand. Here are some common types of website layouts:

Grid Systems. In a grid-based website layout, elements like margins, flowlines, rows, columns, gutters, and modules work together to create a structured and visually appealing design. Margins define the edges, flowlines guide reading, rows and columns organize content, gutters provide spacing, and modules combine elements into organized groups.

Box Model. The box model represents how elements are rendered on a web page. It includes four components: margin, border, padding, and content.

Image Source: W3

Flexbox. A powerful layout mode that allows flexible and responsive designs.

Key properties include display: flex, flex-direction, and justify-content.

Using a flexbox system is perhaps the best choice for managing responsive layouts.

Here are the primary types of website layouts, that provide a solid foundation for understanding web design principles:

  • Fixed Width Layout. The content area has a fixed width, regardless of the screen size.
  • Fluid Layout. The content area expands or contracts to fit the width of the browser window.
  • Responsive Layout. A combination of fluid and fixed layouts, using CSS media queries or clamp functions to adjust the layout based on the screen size.
  • Adaptive Layout. Similar to a responsive layout except it’s specifically arranged in the most suitable way for each device. (Separate layout for each).
  • Grid Layout. A flexible layout that uses a grid system to organize content into columns and rows.

Learn more about website layouts and how they affect user psychology.

A fundamental principle that greatly impacts layout is balance, which web design relies on. Balance is all about distributing visual elements in a way that creates a sense of harmony. 

There are two main types:

  • Symmetrical Balance: Mirror-like fashion, creating a sense of formality and stability. This is often used in traditional designs and logos.
  • Asymmetrical Balance: Arranged in a way that is not symmetrical but still feels visually balanced. This can create a more dynamic and interesting composition.

Another thing to keep in mind when working with layouts is Negative Space. This is an overlooked design element that differentiates between a noob and a pro.

Did I say “design element”? Yes!

In fact, thinking about negative space as an active element in web design will help you understand how layout works. It’s obvious that when a webpage is cluttered with too many elements, it becomes overwhelming for users.

But what is the point where it stops becoming clutter?

For example, look at this:

Unless you’re intentionally aiming for a busy, maximalist aesthetic and it makes sense for your audience, this approach can be detrimental to focus.

Modern WebUI is almost always incorporated with negative space like this:

Pillar #5: Typography

Typography is the art and technique of arranging type/letters, numbers, and symbols to make written language legible, readable, and visually appealing when displayed.

It’s an entire field of its own.

But in our context of web design, it involves choosing fonts, adjusting the spacing between characters (kerning), the space between lines (leading), and the overall layout of the text. Good typography guides your eye across the page smoothly without making you think too much about it.

It’s a big deal because it’s directly connected to clients’ ROI. So let’s take a look at  some typography basics:

Font Families

A font family is a group of fonts that share a common design style. Think of a typeface as a broad category of fonts that share a unified look and feel. Within a typeface, you’ll find individual fonts that vary in size, weight, and style.

Font families are classified into types: Serif, Sans-Serif, Monospace, Display and Handwriting.

Let’s focus on the first three:

  • Serif Fonts. Have small strokes (called serifs) at the edges of each letter. They exude formality and elegance. Think Times New Roman, Georgia, and Baskerville.
  • Sans-Serif Fonts. Mostly used on UI and are sleek and modern. They don’t have those little serifs just clean lines. Arial, Helvetica, and Open Sans.
  • Monospace fonts. Give every letter the same fixed width. Fonts like: Courier New, Consolas, and Inconsolata.

I once designed my own custom font, although I loved Proxima Nova. It took two months and gave me an insight into what works well on the web. It might even be one of the factors that I was nominated for Awwwards.

And from that experience, here are some tips that I’ve learned:

  • Use regular medium font weights and anywhere between 18-21px for body text.
  • Don’t use more than two types of fonts. And always stick to one font for the body.
  • When choosing a font for headlines or titles, feel free to explore more expressive options. Bold, playful, or unique fonts work well here.
  • Use a clamp function for responsive text.
  • Always use a different font style for links (usually bold or underlined).
  • More typography tips.

Web-Safe Fonts

Web-safe fonts, also known as system fonts, are pre-installed on most operating systems. These fonts are readily available to users without requiring any additional downloads.

These should only be used as either a fallback font or if your client only wants raw performance and doesn’t give a dime about custom fonts. Or if other overarching elements on the site compensate for it.

Google Fonts

Google fonts are hosted by Google, making them easy to incorporate into your web projects. You can use the API or directly download them and include them in your projects.

HTML Example:

<head>

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=inter">

<style>

body {

  font-family: "Inter", sans-serif;

}

</style>

</head>

Typeface Anatomy

I think while we’re at it it’s good for you to familiarize yourself with some common terms. Like “Glyphs”. So here is a quick rundown: 

Each letter, number, punctuation mark, or symbol is a glyph. X-Height is the height of lowercase letters (excluding ascenders and descenders). 

Ascenders and Descenders? They are upward-bound strokes of lowercase letters that extend beyond the x-height. The baseline is the invisible tightrope where letters stand. It’s their foundation the ground level.

Kerning is the space between individual characters. And tracking controls the overall spacing across a block of text. 

Here is a better look:

Image Source: Yesiamadesigner

And again you can learn in more detail about typeface anatomy.

Pillar #6: Responsiveness

Responsive Design (not to be mistaken with Adaptive Design) is a web design approach that ensures a website adapts seamlessly to various screen sizes and devices

Responsiveness is the ability of a website to adapt its layout and content to different screen sizes and devices, such as smartphones, tablets, and desktops.

Design for mobile first!

It’s often easier to adapt a mobile design to a desktop than the other way around. Since larger screens can accommodate more content, it’s best to start by designing for mobile and prioritizing the most important elements.

Media Queries

Simple but if the user drags the window size they step towards the next set size.

Here is an example:

/* Tablets and smaller */

@media (max-width: 768px) {

  .container {

    width: 100%;

  }

}

/* Mobile devices */

@media (max-width: 480px) {

  .container {

    width: 100%;

    padding: 0 10px;

  }

}

Clamp Function

The clamp() function in CSS lets you set a value that’s dynamic between a minimum and maximum. It adjusts based on the screen size or viewport width. So, instead of using media queries, you can have a property (like font size) scale naturally between limits.

Formula: clamp(minimum, preferred, maximum);

Example: Responsive Font Size with clamp()

h1 {

  font-size: clamp(1.5rem, 5vw, 3rem);  /* Between 24px and 48px */

}

With clamp(), you don’t need to set up media queries for every screen size. The text grows naturally between your set limits, and you don’t even have to calculate it by hand there are great free clamp() generators out there.

Responsive Images

Images can be a big hurdle when it comes to making a website responsive. They can slow down your site if not optimized, or worse, they might look distorted or too large on smaller screens. But, don’t worry, you’ve got a few tricks up your sleeve.

  • Srcset. The srcset attribute is for delivering different image sizes based on the device. You’re telling the browser “Hey, use this image for mobile, this one for tablet, and this one for desktop.” 
  • Vector Images. SVGs (Scalable Vector Graphics) are amazing because they scale infinitely without losing quality. This makes them perfect for logos, icons, or any simple illustrations. 
  • Image Optimization. Beyond just choosing the right size, you can optimize images to load faster using lazy loading. You can use Webp or any other modern web image format. Read more about what matters for web performance.

Flexible Grid Systems

While responsive images handle the visual content, flexible grids manage layouts across different devices. These grids allow your design to flow naturally, adjusting based on the screen size.

1. CSS Grid

CSS Grid allows you to define rows and columns that automatically adapt to the size of the screen.

Here’s a basic example:

.container {

  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));

  gap: 10px;

}

2. Flexbox

While CSS Grid is perfect for two-dimensional layouts, Flexbox is awesome for one-dimensional layouts … think rows or columns.

Here’s how you can use Flexbox to build a simple responsive layout:

.container {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

}

.item {

  flex: 1 1 200px;

}

You can even combine both! For instance, use Flexbox to lay out different sections of your site, and then use Grid inside those sections for more complex layouts.

Now you need to think backwards FROM CSS towards your UI Design tool.

Pillar #7: HTML & Performance

Ultimately, your design will be brought to life in HTML, so having a basic understanding of HTML and CSS can be a huge advantage. It’s not a must for designers to know about this, but it sure helps a lot! 

Browsers read HTML like a book, from top to bottom. They create a DOM (Document Object Model) as they go. The simpler this book, the faster it can be built. Believe it or not, it all starts with the designer.

Image Source: Mozilla

If you’re a designer who understands this, you can start making decisions that not only look great but make life easier for the developer. For example, knowing how HTML is structured (with headers, paragraphs, images, and links) allows you to visualize how content will flow and stack across different devices. It also means you can avoid suggesting IMPOSSIBLE LAYOUTS that would take hours of unnecessary coding.

Benefits of Knowing Code as a Designer

  • Identify and troubleshoot design issues more efficiently.
  • Achieve precise control over the layout, typography, and styling of their designs, resulting in a more polished and professional final product.
  • Experiment with more advanced techniques and create innovative designs that might not be possible for designers who rely solely on visual tools.
  • Utilize a tool like UXPin much better because they can understand the code behind the elements.

The Handoff: Collaborating with Developers

The designer-developer handoff is often where dreams go to die, but it doesn’t have to be that way. Handoff is transferring a completed web design from the designer to the developer for implementation. 

When you understand the basics of HTML and CSS, you’ll know what’s possible, what’s tricky, and how to meet halfway to create something that both looks great and works smoothly.

Developers will appreciate it, too, because you’ll be speaking their language   or at least enough of it to avoid miscommunication.

Key Components of Handoff:

Design Files: These typically include:

  • PSD, Sketch, or Figma files: Contain the visual elements, layers, and styles of the design.
  • Style guides: Document the typography, colors, and other design elements used in the project.
  • Wireframes: Provide a basic structure and layout of the pages.

Specifications:

  • Measurements: Dimensions of elements, spacing, and padding.
  • Typography: Font families, sizes, weights, and line heights.
  • Colors: Hex codes or color names for all colors used in the design.
  • Interactions: Descriptions of how elements should behave when clicked, hovered over, or focused.

Annotations:

  • Notes and comments: Additional information or instructions for developers.
  • Placeholders: Indicate where content will be added dynamically.

Design with Implementation in Mind

When designing a responsive navigation bar, knowing that developers can use CSS Grid or Flexbox to make it dynamic can inform your design decisions. You’ll create a flexible layout that adapts to different screen sizes, rather than specifying rigid pixel values for each breakpoint.

This approach streamlines the design-to-development process, reducing the need for back-and-forth revisions. By showing that you’ve considered the build process, you’re more likely to earn the development team’s respect and ensure that your design is implemented as intended.”

Suggest Solutions, Not Just Problems

We’ve all been there – pouring our hearts into a design, only to have it rejected due to technical limitations. But what if you could turn those limitations into opportunities? By having a basic understanding of HTML and CSS, you can collaborate with developers to find alternative solutions that achieve the same visual effect.

For instance, if an animation is deemed too complex, you can suggest using CSS transitions or animations that are easier to implement. This way, you’re not just handing off your design and hoping for the best – you’re actively working with the development team to bring your vision to life.

My favorite places to start learning CSS are: Kevin Powell, and Bro Code.

Web Designer Career opportunities

There are different ways web design can be added as a skill set of other professions like a web developer, freelancer digital marketer and so on but here are the major roles you can embody as a web designer:

  • UI or UX Designer
  • Web Design Consultant
  • UX Researcher
  • Product Designer

UI/UX Designers and Product Designers are the most common. I’ve personally worked in these exact roles myself.

I just did a search on LinkedIn for “UI/UX Designer” and just today there are 1000+ offers available. And this is just in the United States.

Taking a peek at Indeed shows another 1000+ results:

The best platforms for finding web design jobs are:

  • Company Websites
  • Dribbble and Behance
  • Toptal
  • Linkedin and Upwork
  • Traditional Job Boards

Web-designers anywhere between $62K – $112K/yr according to GlassDoor

You’d also be well-positioned to explore a wide range of entrepreneurial opportunities. Like freelancing, starting a web design agency, selling products, taking web design courses and workshops, and so on.

Resources and Tools

Resources

Courses

Books

  • Don’t Make Me Think by Steve Krug
  • HTML and CSS by Jon Duckett
  • The Elements of User Experience by Jesse James Garrett
  • Laws of UX by Jon Yablonski

Conclusion

Even if you’re focused purely on the visual side of things, web design isn’t just about making things pretty. A site has to work in real-world conditions: it needs to load fast, be responsive, and be accessible. Knowing the pillars helps you think beyond the surface and consider what makes a site functional. That also makes working with developers smoother you’re speaking the same language, and you’re both aiming for a seamless user experience.

The perfect website balances purpose and functionality with beauty and simplicity. It’s easy to navigate, works on any device, loads quickly, and is accessible to all users.

At the end of the day, web design isn’t about you, it’s about the people using your product. 

UXPin empowers teams to create seamless, interactive prototypes of websites and apps with realistic, fully functional components. Try UXPin for free.

Does the Hamburger Menu Make Mincemeat of UX Design?

Does the Hamburger Menu Make Mincemeat of UX Design

The hamburger menu looks as tasty as it sounds. It’s a design-cum-navigation element, now on almost all apps, that comprises three horizontal lines. It looks like a hamburger. Picture something like this:

hamburger menu pattern

Bun, patty, bun.

If you squint, it kind of looks like the Spotify logo:

The UX designer’s hamburger menu saves time and space by storing relevant information in a universally recognized format. All that information is there in one place, and everyone knows where it is. Like how a diner learns what food a restaurant serves by reading the menu, a website visitor accesses different linked sections through one navigational element.

Well, that’s the theory, anyway. 

This icon became pervasive in the mid-2010s, and similar to the classic hamburger itself, every UX designer has an opinion about it. For every designer who thinks it frees up screen real estate, another believes it’s a blot on the informational architectural landscape. You might fall somewhere in the middle, but you will change your mind after reading this.

Design apps and websites with a hamburger menu in UXPin. Build prototypes that are responsive and have functional navigation. Test your prototypes with users, hand them over to developers and build your design system without using additional design tools. Try UXPin for free.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

What Is a Hamburger Menu?

A hamburger menu is a UI element consisting of three horizontal lines, resembling a hamburger, typically located in the top corner of a website or app. When clicked or tapped, it reveals a hidden navigation menu or additional options.

The hamburger menu is commonly used in mobile interfaces to save space and keep the layout clean by tucking away less frequently used navigation items. While it’s efficient for mobile screens, some argue it hides important features, leading to lower discoverability.

Those three lines at the top of almost every app or mobile-optimized website? They make up the hamburger menu. Designer Norm Cox cooked up the idea in the early 80s because he thought it was easier to communicate information to people in a list format. 

There’s evidence that backs up this theory:

  • Humans remember facts better when presented with a list.
  • Fifty-five percent of website users look at lists (seventy percent look at lists with bullet points).
  • Lists improve the selection-making process for users. 

Even that short list above improves readability and breaks down content into digestible “chunks.” 

But other research tells a different story. 

It all has to do with discoverability. Some website visitors can’t find the links when they’re hidden in a hamburger menu, which affects click rates. And click rates are even lower when designers place the hamburger menu on the top-left of the screen because of how most people scan their devices (center first, then right).

“The implied message is that things at the top of the screen are to be glanced at, not clicked on,” says UX Planet

Perhaps the most shocking statistic is this one: Forty-eight percent of internet users over 45 don’t know what the icon even means. 

So, unless your creative brief is “create a design for only millennials because nobody else must visit our website,” maybe choose something different the next time you consider a hamburger.  

It’s Just a Hamburger Menu. What’s the Problem?

The hamburger menu certainly saves space; some would argue it’s easier on the eye. Instead of links stacked up against each other in the sidebar — or, God forbid, sprawled across the top of the home page like trash bags on a downtown sidewalk — the menu keeps everything hidden from sight, facilitating crisp and creative design. It’s like neatly placing everything in a drawer.

But it’s that drawer comparison that irks some designers.

Despite what IKEA tells you, humans put stuff in drawers for one reason:

There’s nowhere else to put it.

That’s why, for some designers, hamburgers are off the menu. 

Think about the things you keep in drawers. Now think about the things you keep on shelves. Would you keep a framed photo of Mom in your drawer? Or your Master’s in User Experience Design? Probably not, because you want everyone to see it. 

The hamburger menu suggests one thing: The items contained within are of little importance — concealed from public view and brushed under the carpet like a 20-year-old dirty secret that nobody wants to talk about.

Anti-hamburger designers think the menu is little more than an afterthought: There’s nowhere to put it, so let’s put it here. It’s lazy, if not necessarily bad, design.

So what are the alternatives?

A Burger-Free Menu

The most popular alternative to the hamburger menu is probably tabs, especially for app navigation on smaller smartphone screens. Sure, you’re limited to four or five menu items, but the ones featured hold greater importance because you haven’t hidden them away.

“Tabs offer a more modern and useful method to navigate around an app, and the core sections of your application are immediately visible to the user,” says UX designer and software engineer Michael J. Fordham. “If you’re concerned about space, you can implement hide gestures that make the tabs disappear when you scroll down but reappear when you scroll up.”

What else is on the menu?

Floating Hamburger

Again, best served on apps, this alternative provides users with context when they click on the three-line icon. Like tabs, links no longer feel like an afterthought, and they feature more prominently on screens.

Swipes

Think Tinder, where users scroll left or right to navigate apps. Swipes only provide sequential access to pages, though, so won’t suit contexts where users jump to different sections quickly, like store pages.

Ultimately, It’s Your Choice as the Designer

If you’re still hungry for a hamburger, a couple of tips:

  • Supersize your burger: Make your menu more recognizable so visitors can see it. The links contained within could be critical for the website owner. Make sure people click on them.
  • Create a secondary menu: Couple the hamburger with secondary access to important pages. (Use one of the menu alternatives above.) You’re probably thinking about the c-word (“clutter”), but you can avoid this by incorporating minimalist elements elsewhere in the design infrastructure. Try it.

Last Bite

Mentioning the hamburger menu in UX design is like bringing up politics at a dinner party. Expect some controversial opinions. Despite what some designers think, it’s not a crime to use the hamburger, and it can be an incredibly effective navigational tool. Just realize its potential downfalls, consider the overall context and try out a couple of alternatives with UXPin before your next bite. When’s the next time you’ll serve up a hamburger?

Join the world’s best designers who use UXPin — not your average UI design and prototyping tool. Start your free trial.

List Design 101 – A Short Guide for Beginners

List Design

Lists are fundamental components of user interfaces, helping to organize information in a way that’s easy to scan and digest. Whether it’s a simple to-do list or a complex product display, well-designed lists enhance usability and improve the overall user experience. By understanding the principles of list design, designers can create intuitive layouts that streamline navigation and engagement. In this guide, we’ll explore best practices, key principles, and hands-on tips to create visually appealing, functional lists for any UI project.

Optimize your list design process with UXPin Merge. Bring code-backed components to a design editor and create interfaces that are production-ready from the start. Design prototypes that feel like a real product with UI elements that can be shared between design and development. Request access today.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a List in UI Design?

In UI design, a list is a method of organizing information vertically, allowing users to scan and process data quickly. Lists can display a variety of content, from simple text items to more complex layouts that include images, descriptions, and interactive elements.

They improve usability by breaking down information into manageable chunks, ensuring users can navigate effortlessly. Lists are versatile and appear in many forms—such as single-line lists, multi-line lists, and image lists—each tailored to specific content types and design needs.

What is the Difference Between a List and a Data Table?

Designers use data tables to display a dataset to users. Tables have a specific structure, including a header, rows, and columns with sorting and filters to find and manipulate data.

datatable

Read this: How to Design a Table UX

Lists don’t have a fixed structure. Each list item is independent rather than part of a structured dataset with rows and columns. The list item could feature a single line of text in a menu dropdown or a complex card component with lots of data.

list ui

In summary, the most significant difference between lists and tables is the data structure. Tables have a specific design, while lists can exist in many formats.

Types of List Designs

There are three types of list designs:

  • Text lists
  • Image lists
  • Card lists

Text List Design

list design

There are three types of text lists. These lists typically include text and an image, icon, and other UI elements like a checkbox or radio. 

  • Single-line lists: These are the simplest form of lists, displaying only one line of content per item. They work best for short, easily digestible information, like settings or contact lists.
  • Two-line lists: These lists include a second line, often used for supplementary information, like subtitles or descriptions. They balance brevity and context, making them ideal for emails or notifications.
  • Three-line lists: These lists display more detailed information, such as titles, descriptions, and additional metadata. They’re useful for content-heavy items, like product listings or media files.

Image Lists

vimeo list ui design

Designers use image lists when visuals are the primary content–like an image or video gallery. Sometimes a single line of text will accompany the image to provide detail or context.

Where image lists don’t include text, designers must ensure to use descriptive alt attributes so screen readers can navigate the content accordingly.

Card Lists

Card lists typically include visual content and text and may also include a CTA. We often see these card lists in eCommerce store product lists that feature an image, title, short description, category tags, price, and “Add to cart” button.

How to Design a List UI

Step 1: Think Content First

Designers must decide on the best list item design based on the content they want to display. 

UX designers have three primary ways to structure content lists: horizontally, vertically, and grid layouts.

List Example: Instagram

An excellent example of these lists in action is Instagram:

  • Main feed – vertical list
  • Story feed – horizontal list
  • Search feed – masonry grid list

UX designers have seemingly endless options and variations within these three list structures.

Step 2: Follow Atomic Design Principles

list design how to prototype a list

There are three components to a list design:

  • The list: All list items together
  • List item: An individual item in the list
  • List content: The content that makes a list item–image, text, metadata, title, subtitles, and other user interface elements
design system atomic library components

It’s helpful to use an atomic design approach when deciding how to put these pieces together. 

  • Atoms: The content within each list item–individual images and text
  • Molecules: The components within each item–a profile image component
  • Organisms: Each list item
  • Templates: The entire list with a search field, filters, etc.

Step 3: Design with Consistency in Mind

Consistency is key in list UI design. Ensure that list items follow the same layout, including the placement of text, icons, and actions. This not only enhances the visual flow but also improves usability, as users learn to anticipate where to find the information they need. A consistent structure reduces cognitive load, making the interface more intuitive.

Step 4: Optimize for Responsiveness

Always consider how your list will appear across different screen sizes. On mobile devices, a vertical list may work best, while on desktops, a grid layout could be more effective. Adjust font sizes, spacing, and layout to maintain readability and usability regardless of device.

Step 5: Test for Accessibility

Lists must be accessible to all users, including those relying on screen readers. Use proper HTML elements like ordered or unordered lists, and avoid nested lists when possible. Additionally, ensure proper color contrast for readability and include alternative text for images.

Best Practices of List UI Design

1. Prioritize User Needs

Good list UI design follows design thinking and user-centered design principles. The list design must match user needs while providing appropriate fields for the content. UX designers must pay attention to responsiveness and how the list will look across multiple devices and screen sizes.

2. Follow Material Design Principles

Google’s Material Design UI defines three principles for designing lists – lists must be logical, actionable, and consistent. This means that:

  • Logical: Organize lists in meaningful ways (alphabetical, numerical, etc.).
  • Actionable: Ensure items are easy to identify and act upon.
  • Consistent: Use uniform layouts for icons, text, and actions.

3. Make Lists Scannable

One of the keys to designing a great list UI is making it easy for users to scan content to find what they need. The quicker someone can find what they need, the better the user experience and the more likely they are to use and recommend your product.

4. Leverage Visual Hierarchy

Hierarchy plays a vital role in making lists scannable and easier to read. UX designers have several ways to create this visual hierarchy, including typography, color, spacing, images, etc.

List UI Example: eCommerce

For example, this eCommerce list uses color, size, and typography to separate content and create a visual hierarchy:

  • Product name: bold black and white typography top center
  • Product description: smaller grey text
  • Price: Large dark text
  • Reviews: Small text with bright star icons
  • Image: Large circular product image

This product list is an excellent example of a visual hierarchy that makes it easy for customers to scan products by the content that matters most to them–i.e., by product name, description, price, etc.

List UI Example: Spotify

In a more simplified example, Spotify uses font size and color to create a visual hierarchy between the song title and the artist. The different size and color make it easy for users to scan a playlist accordingly.

shopidy list design

5. Ensure Accessibility

Lists can cause problems for screen readers, creating a poor user experience for visually impaired users. For example, screen readers can’t decipher nested lists correctly. So, designers should use a heading with an unordered or ordered list instead.

Further reading on list accessibility:

List UI Design Patterns and Interactions

interaction click hi fi

Here are some common list design patterns and interactions that you can apply to website and mobile app design projects.

Checkboxes & Radiobuttons

Checkboxes and radiobuttons are essential UI elements to allow users to make selections and actions on list items. As a general rule, designers use checkboxes for selecting multiple list items and radios for a single selection.

Scrolling & Swiping

Scrolling and swiping allow users to perform multiple actions. For example, many apps allow users to swipe list items left or right–one way to delete the other to archive.

Designers must also create scrolling interactions and lazy loading to optimize performance.

Select Lists

Select lists or dropdown menus allow users to select from several options–like choosing which shipping method they want at checkout. UX designers might also include a search feature for long dropdown menus, a feature we often see for state/province or country lists.

Collapsing & Expanding

Designers can use collapsable lists to hide and show details. Reducing the amount of content that’s always visible is crucial for usability and minimizing cognitive load. Collapsable interactions are also useful for nested lists or submenus.

Reordering & Sorting

Reordering list items gives users control over how they prioritize and experience data. Depending on their preference, they can move items manually up or down the list, usually by dragging and dropping. This customization creates a positive user experience because users can arrange content to suit their needs. 

Sorting works similar to reordering, except users choose from predefined categories rather than reorder list items manually. For example, Spotify allows users to sort a playlist by title, artist, album, or recently added.

Filtering

Filtering helps users find what they need much faster. Accommodation booking platforms like Airbnb and Booking.com allow users to apply multiple filters to list properties that suit their needs and preferences.

Dividers

Dividers help create separation between content; however, they can add unnecessary “visual noise.” If your lists get too busy, try testing white space as an alternative content separator. 

List UI Design in UXPin

With UXPin’s code-based design tool, UX designers can build list prototypes that accurately resemble the final product. Our Multilevel Dropdown Navigation example demonstrates how designers can use States and Interactions to build a functioning dropdown list–using only a single frame.

Designing a List with MUI Components in UXPin Merge

With UXPin Merge, you can sync code components like MUI (Material-UI) into UXPin for fully interactive prototyping. Follow this tutorial to create a list using MUI components.

Step 1: Import MUI Components

Ensure you have your MUI components integrated into UXPin using Merge. This will allow you to drag and drop pre-coded components directly into your design.

Step 2: Add a List Component

  1. In UXPin, navigate to your MUI component library.
  2. Drag the MUI List component into your canvas. This is the container for your list items.

Step 3: Configure List Items

  1. Next, drag in ListItem components within the list container. These components will represent individual list items.
  2. Use ListItemText to add the main content, such as the title or description for each list item.

Step 4: Customize with MUI Properties

With Merge, you can modify component properties like styling, layout, and behavior. For example:

  • Typography: Adjust fonts, colors, and sizes within the ListItemText to create a visual hierarchy.
  • Icons: Use ListItemIcon to include interactive icons, such as checkmarks or navigation arrows.

Step 5: Add Interactions

Use UXPin’s interaction panel to add click actions, hover states, or dynamic behaviors. For example, configure the list item to navigate to another page or trigger a modal when clicked.

Step 6: Preview and Test

Use UXPin’s Preview mode to test the list in a fully functional prototype. Check responsiveness and usability across different devices to ensure an optimal experience.

Step 7: Hand-off to Developers

With UXPin Merge, your list UI is code-ready. Developers can directly access the code, ensuring a seamless design-to-development process without discrepancies.

Increase Fidelity and Functionality with UXPin Merge

Take your prototypes to the next level using UXPin’s proprietary Merge technology. Sync your product’s design system or an open-source component library from a repository to UXPin’s editor so designers can build prototypes using fully functioning code components.

You can see Merge in action with our MUI library integration. Using MUI’s React library, designers can build fully functioning list prototypes. MUI’s React components come complete with states and interactions, so designers only have to focus on product design rather than building everything from scratch. Everything you see in MUI’s documentation, designers can replicate in UXPin without writing a single line of code. Request access to UXPin Merge.

What’s the Difference Between UXPin and Merge Technology?

Whats the difference between UXPin and Merge technology

You may wonder what the difference between UXPin and Merge is. And, which one is right for my design team?

To put it simply, UXPin is an all-in-one design software that covers the entire product design process together, including design handoff, while Merge is a technology that allow you to bring interactive components to UXPin and design prototypes using them.

Ultimately, Merge technology leads to a more collaborative and faster design process in which both designers and developers can share a single source of truth and create consistent UIs. Check more about UXPin Merge here.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Image-Based vs. Code-Based Design Tools

Before we get into UXPin and Merge, it’s important to understand the difference between image-based and code-based design tools. 

When designers hear code-based design tool, they assume it’s a developer tool or must learn code to use it–both are incorrect.

Code-based refers to how the tool renders what UX designers create on the canvas. Traditional image-based tools produce static vector graphics, whereas code-based tools render code.

Learn more about it: How to Turn Figma Designs into Interactive Prototypes?

get code mode

For the most part, designers won’t notice much difference when comparing the two interfaces, except that code-based tools generally have more options for interactivity.

For example, if you create an input field using an image-based tool, it’s just a block on the canvas. In UXPin, an input behaves like it would in the final product. When users click the input, a cursor appears, and they can enter text. With UXPin’s various features, designers can then:

  • Validate inputs
  • Check password criteria (i.e., letters, numbers, symbols, etc.)
  • Personalize welcome messages
  • Populate a user’s profile page

What is UXPin?

UXPin is an end-to-end code-based design tool for advanced prototyping and testing. Designers can build prototypes that accurately replicate final product interactions and functionality.

UXPin looks and feels like any other design tool but with features that enhance UX workflows, collaboration, prototyping, and testing

Some of those key features include:

  • Variables
  • Interactions and Conditional Interactions
  • Expressions
  • Auto Layout
  • Design Systems
  • Comments

Variables

Variables allow designers to capture data from input fields and use it elsewhere in the prototype. This example from our demo sign-up form demonstrates how you can capture a user’s email address to personalize the confirmation page.

https://twitter.com/uxpin/status/1589684680848470016

Interactions and Conditional Interactions

UXPin makes it easy to add Interactions to your prototypes with a few clicks. Designers have an extensive list of Triggers, Actions, and Animations that accurately mimic final product interactivity.

Conditional Interactions take interactivity to another level with if-then and if-else conditions–similar to what Javascript does for devs. 

Returning to our demo sign-up form, we see how you can use Conditional Interactions to present users with error messages if they leave the email and password fields blank. Only when the user meets the input’s conditions can they proceed to the confirmation page.

Expressions

Expressions take prototyping to the next level, allowing designers to create dynamic user experiences comparable to code. In our sign-up form prototype, we use Expressions to define the email and input field criteria:

  • Email: must have the @ symbol and domain extension (.com, .co.uk, etc.)
  • Password: must be longer than 8 characters

Designers can add as many Expressions to components and prototypes as they like, achieving results indistinguishable from code.

Auto Layout

Many design tools offer auto layout, but UXPin’s Auto Layout uses Flexbox naming and properties to create realistic expectations and improve designer/developer collaboration.

https://twitter.com/uxpin/status/1469130764071677953

Designers use Auto Layout to automatically resize, fit, distribute, and fill designs, eliminating the time-consuming task of doing this manually.

Further reading: Bringing Auto Layout to UXPin.

Design Systems

Design Systems allows designers to create a library of reusable components and share these across the organization. It’s a fantastic feature for building a design system from scratch, including documentation and permissions

UXPin automatically categorizes Design Systems into:

  • Colors
  • Typography
  • Assets
  • UI Patterns

The entire library appears in the left-hand sidebar, so designers simply drag and drop elements to build user interfaces.

UXPin also provides five Built-in Design Libraries, including OS, Material Design, Bootstrap, Foundation, and User Flows, so teams can build prototypes or MVPs fast to test ideas and hypotheses at every stage of the design process.

Comments

Comments allow design teams and stakeholders to collaborate, share feedback, assign tasks, and provide context within design projects and on prototype previews.

UXPin allows anyone to use the Comments on Preview feature, eliminating the need to purchase additional users like stakeholders and developers who don’t need access to UXPin’s canvas. Designers can password-protect designs, so only those authorized can view them.

What is UXPin used for?

Design teams use UXPin at every stage of the design process. While high-fidelity prototyping is UXPin’s strongest feature, its ready-made forms make it an excellent wireframing tool.

Here are some examples of where UXPin outperforms its image-based competitors:

  • Interactive prototyping
  • API integrations via IFTTT
  • Fast design iterations
  • Collaborating with design teams, engineers, and stakeholders
  • Smoother design handoffs
  • Building and scaling design systems from scratch

Further reading:

Ready to see what code-based design is all about? Sign up for a free trial to build your first interactive prototype with UXPin today!

What is UXPin Merge?

logo uxpin merge 1

UXPin Merge is a technology that syncs code components from a repository to UXPin’s design editor. Organizations can use Merge with open-source libraries or import their product’s design system.

Designers use these code components like building blocks, dragging and dropping to build user interfaces.

Merge components include properties defined by the design system, including interactions, states, colors, typography, sizing, etc. These properties appear in UXPin’s Properties Panel, where designers can make adjustments according to prototyping requirements.

properties panel code backed merge

You can change the color, size, variant, and add an icon using properties.

Merge pulls these properties from the repository and automatically syncs any changes. For example, if the design system team changes the primary color from blue to red, Merge will detect the update and notify design teams of the new release.

Version Control allows designers to choose when they want to switch to the latest release and can revert to early versions whenever they want.

Is There a Way to Test UXPin Merge?

Yes, you can test UXPin Merge on trial or you can enjoy its features on Merge AI plan that’s perfect when you want to use leverage popular open-source component libraries such as MUI, Ant Design, and Bootstrap without needing to start from scratch.

When you sign up for UXPin Merge, you gain access to three trial kits—MUI, Ant, and Bootstrap—giving you a starting point to experiment and create interactive prototypes using real React code.

trial kit

Each trial kit comes fully loaded with reference patterns and example components, such as cards, snack bars, and skeleton loaders, which you can use directly in your projects. Additionally, you can browse full layouts, like dashboards, to jumpstart your designs without the need to build from the ground up.

Here’s how UXPin Merge works:

  1. Select a Library: Choose from built-in component libraries like MUI or even custom Tailwind UI components. Simply drag and drop these ready-made components into your design canvas.
  2. Edit Variants and Properties: Customize the components with real React code by toggling between different variants and modifying their properties. You’re not just working with static design assets but actual coded components that behave as they would in production.
  3. Use Custom Code: If you’re working with custom Tailwind UI components, you can paste code directly into UXPin to generate entire UI sections instantly. This feature allows you to skip designing components from scratch and speeds up your workflow by using existing code.
  4. AI-Powered Component Generation: UXPin Merge even integrates AI to help you create code-based components on the fly. For example, you can prompt the system to generate a “Persona Card,” and UXPin will create a fully functional Tailwind CSS-based component directly on the canvas.
  5. Effortless Developer Handoff: Once your design is complete, UXPin Merge makes it easy to hand off your work to developers. Share your prototype through a preview link, and developers can access the real JSX code, dependencies, and functions for each component. This ensures that developers receive production-ready code that they can immediately use in their environments.

With UXPin Merge, there’s no need to waste time recreating components for the design team or manually coding every element from scratch. Merge AI allows designers and developers to work more efficiently by tapping into the power of real React components, ensuring consistency between design and development from the very beginning.

How to Sync Your Design System With UXPin Merge

There are three ways to sync a design system with UXPin Merge:

uxpin merge component sync

These three integrations each serve different prototyping and team needs. The Git and Storybook integrations require technical knowledge to set up the components and repository for Merge. UXPin provides a boilerplate for engineers, and our technical team is on hand to guide the setup process.

Storybook is probably the best option for private design systems because engineers can build components in isolation, prototype, and test them before pushing them to UXPin for design teams.

The npm integration and Merge Component Manager give designers more control over the components and properties they want to import. Designers can follow the design system’s docs and don’t need engineers to import UI elements.

Key Benefits of UXPin Merge

Merge’s primary benefit is that it creates a single source of truth between design and development. Designers and engineers use the same component library from the same repository–creating a seamless design handoff process.

  1. Engineers simply import the component library. 
  2. Copy JSX changes UXPin produces from component properties. 
  3. And develop the final product according to the design team’s prototype.

This streamlined workflow creates many product development efficiencies, including:

  • Faster prototyping (PayPal scaled by 8X)
  • Faster time to market
  • No designing from scratch
  • Little to no front-end coding
  • No design drift
  • Reduced UX and front-end debt
  • Seamless handoffs with less communication and documentation
  • Flawless cohesion and consistency
  • Higher quality feedback from stakeholders
  • Meaningful, actionable results during testing
  • High-quality outcomes = better user experience

UXPin to Merge – The Scalable Design Solution

UXPin offers companies a scalable design solution with the tools and features to support your workflow at every stage of maturity.

design and development collaboration process product communication 1

UXPin Standard is an excellent solution for startups and companies who aren’t using a design system. Designers can build fully-functioning interactive prototypes and MVPs for accurate testing.

UXPin Standard also includes UXPin’s Design Systems feature, so designers can save and share product components, color palettes, typography, and assets.

Scaling With Merge

Whether you’re a fast-growing startup or multinational enterprise, Merge enables companies to scale design operations

FinTech giant PayPal and leading software developer Iress have both experienced enhanced workflow optimization and collaboration from switching to UXPin Merge.

At the enterprise level, Merge enables teams to move faster because they have a single source of truth across the entire product development team. There’s less friction and better collaboration because designers and engineers speak the same language while working within the same constraints.

design system components

What Merge designers use in UXPin to create a button or any other UI component is exactly the same button or what have you as which engineers pull from the repository to develop the final product.

We’ve also seen how Merge helps companies at the startup stages. Startup TeamPassword doesn’t have a UX team, so engineers use UXPin Merge for prototyping and testing. Because Merge creates a drag-and-drop environment, the learning curve is significantly reduced compared to traditional design tools.

TeamPassword’s engineers use components they’ve programmed to build prototypes in UXPin, so they can test, make changes, and iterate fast!

Take your prototyping and testing to the next level with the power of Merge. Visit our Merge page for more details and how to request access.

The Practical Guide to Empathy Maps: 10-Minute User Personas

Emapthy Map - The definitive guide

Where does the empathy map come in?

UX designers know better than anyone — it’s what’s inside that counts. As in, the user’s thoughts and feelings, and how those affect what they say and do.

When created correctly, empathy maps serve as the perfect lean user persona:

  • They quickly visualize user needs (especially to non-designers)
  • They fit perfectly into a Lean UX workflow as a starting point for user knowledge (you’ll build more as you prototype and test)
  • Because they’re quick to create, they’re easy to iterate as you revise assumptions based on real data
  • They prime stakeholders for your design ideas since they’ve thought beyond their own experiences
Empathy Map Guide - 1

Photo credit: “How to Use Persona Empathy Mapping.” Nikki Knox (UX Magazine).

That’s what this article is about: a clear-cut, all-inclusive guide on empathy maps, answering why, when, and how to use them.

Let’s get started.

UXPin as a comprehensive design tool that facilitates empathetic design decisions by enabling real-time collaboration and feedback. With UXPin, teams can seamlessly integrate empathy maps into their design process, ensuring that user insights are effectively translated into actionable design solutions. Try UXPin for free.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

What Are Empathy Maps?

An empathy map in UX design is a collaborative tool that helps teams better understand and visualize the user’s perspective. It typically consists of four quadrants that explore what a user thinks, feels, says, and does. By filling out these sections, designers can develop a deeper understanding of user motivations, pain points, and behaviors, which helps guide more user-centered product decisions.

Empathy maps are especially useful during the early stages of the design process to align teams on user insights and drive empathetic design solutions.

When to Use Empathy Maps

Empathy maps are most useful at the beginning of the design process.

Try to complete empathy maps before the product requirements, but after the initial user research. Product strategy is about solving problems, and empathy maps shed light on which problems to solve, and how. This also makes them a great tool for redesigns as well.

Creating empathy map - UXPin

When done well, empathy maps create a “UX domino effect” that affects the entire project. Empathy maps affect the product requirements, which affect the product strategy, which affects the wireframes, mockups, prototypes, etc.

However, empathy maps work better if they’re drawn from real data, so they should be made after user research like user interviews. But in a pinch, empathy maps can still be built on your existing knowledge and stakeholder feedback. Quick basic empathy maps offer valuable insight in any meeting — hence the “10-minute persona” nickname.

Empathy Map Format

A common UX empathy map is divided into four quadrants, outlining notes on four different aspects of the user’s internal experience. The quadrants can vary based on needs and preferences, but almost always contain:

  • Thoughts — Quotes of what the user is thinking, i.e., “I wonder if there’s an example?” or “I hope this doesn’t take long.”
  • Feelings — The user’s emotional state, i.e. “is confused by the navigation and blames themselves.”
  • Actions — The user’s behaviors, whether in general or in response to a specific instigator, i.e., “returns to the home page every time they don’t know where to go.”
Empathy Map Guide - UXPin

Photo credit: “Adapting empathy maps for UX design.” Paul Boag (boagworld).

Some common variants include:

  • Sights — Where the user’s eyes go, i.e., “loves the colorful mascot.”
  • Quotes — Things the user says, similar to thoughts. Can be pulled word-for-word from user interviews, or based on existing knowledge.
  • Influences — What the user has heard from third parties that might influence how they act, i.e., “They say this is easier to use than Photoshop.”

In addition, at the bottom in some empty space, it’s always a good idea to include:

  • Problems (“Pains”) — Any obstacles worth considering, i.e., an unfamiliarity with technology, or a short attention span.
  • Goals (“Gains”) — What the user hopes to accomplish, i.e., complete the task within 5 minutes.  

Alternatively, you can summarize the above two areas by filling in the simple statement, “The user needs a way to ________________ because ________________.” Pay attention to the second blank, since user motivation is the real raw material for feature ideas.

Last, you may want to leave a space for general notes, such as the type of device the user is accessing your product from.

Optionally, it may help to include a picture of the user to make the document feel more real.

Empathy Map – The Creation Process 

It’s important to note that empathy maps can be created for a general understanding, or for specific tasks and situations. Broad empathy maps are more useful as quick user personas because they are not based on a single user scenario. If you can spare the time, you could create several task-based empathy maps to feed into more detailed personas.

Empathy Map - creation process

For example, if you’re working on a web app redesign and notice users having difficulty logging in, you can center around the user’s mind as they complete (or ignore) this task. But this information is most relevant to this particular context (logging in). You won’t understand why a user would want to use your web app in the first place.

Let’s examine how to create a broad empathy map as a 10-minute user persona. Before you start the exercise, you will need at least basic understanding of your user segments (e.g. Sally the College Student, Sean the Young Professional).   

1. Find a whiteboard, a large flip chart, or print out this free template.

2. Set aside 30 minutes to 1 hour for the session.

3. Invite the core product team members: product manager, developers, marketers, and of course other designers.

4. Ask a broad question to help unpack everyone’s thoughts and assumptions, e.g. “Why would somebody buy a new iPhone?”

5. Set aside sheets of paper or space on the whiteboard according to the user segments (e.g. one for Sally, one for Sean).

6. Hand out sticky notes and encourage everyone to write down their thoughts regarding each of the empathy map’s four quadrants.

7. Review the completed empathy map and discuss any patterns and outliers.

As you might expect, sometimes it’s difficult to get the creative juices flowing and/or really pinpoint the issues at hand. If your team is stuck, Demian Farnworth of the Copyblogger recommends a moderator posing questions like these to help team members better visualize their users:

  • What environment are the users in when using your product?
  • Are they having fun, or do they want to get it over with?
  • What’s their life like outside of using the product?
  • What kind of day are they having?

If all else fails, try a bit of role-playing, where one person “plays” the user, and ask them questions or play the role of the product, eliciting responses.

At the end of the session, wrap up what was learned. Did anyone’s opinions change? Is there a better direction to go with the product design? Were any of the responses based on data, or pure assumption? These answers are partly why you made an empathy map in the first place.

Remember that the benefit of empathy maps are their convenience. They’re designed to be a quick collaborative exercise rather than exhaustively thorough. You’ll gather more important insights once you’ve started prototyping and testing your designs with at least 5 users.

What to Do With Finished Empathy Maps

While a large part of empathy maps’ utility are the process of making them, they are still quite useful as documentation.

Share the results of the empathy map with anyone on the product team who wasn’t able to join the exercise. Executive stakeholders, too, might be interested in the more actionable takeaways from the exercise — although you should explain the bottom line upfront, and the reasoning afterward.

Emapthy Map with UXPin

If you happen to be using UXPin, you can also upload a picture of the empathy map into your UX project so that others can comment on it as needed.

Next Steps

While broad empathy maps aren’t the most thorough personas, they certainly help everyone think more like a user while checking their own assumptions. Certainly not a bad result for a single 30-60 minute workshop.

If you’re looking for a way to integrate empathy maps into your UX design process seamlessly, consider using UXPin. It offers powerful collaboration tools that allow teams to work together in real-time, making it easier to incorporate user insights into your designs. With UXPin’s interactive prototyping and design system features, you can bring empathy-driven design to life while maintaining consistency and functionality. Try UXPin for free.

Aspect Ratios in UX/UI Design – Best Practices for Perfect Proportions.

Aspect ratios

Image-rich content drives website engagement, and making sure those images display properly is a crucial part of good UX design. Whether you’re working with photographs, illustrations, or video, an image that’s stretched, squashed, or poorly cropped makes a poor impression for on-site visitors and affects their overall experience on the site.

Determining aspect ratios for optimal viewing on all kinds of devices can be both a chore and a challenge for designers, but today’s responsive design tools and an array of free aspect ratio calculators can make sure that images and video files are displayed in the best light everywhere.

Designing a website or app full of images? Create prototypes of it with UXPin! It’s an end-to-end solution that will cover your full design process and it doesn’t require any plugins for design handoff. See how easy it is. Sign up for a free trial.

Build advanced prototypes

Design better products with States, Variables, Auto Layout and more.

Try UXPin

What is Aspect Ratio?

In the most basic way, aspect ratio is the relationship between an image’s width and height.  Because aspect ratio reflects an image’s proportions, not its size, the aspect ratio remains the same regardless of size. For example, a square image has an aspect ratio of 1:1, since its height and width are the same. That ratio will hold no matter how large the image is. An image that’s 320x320px will have the same aspect ratio as one that’s 1080x1080px – 1:1.

For images that are not square- that is, horizontal or vertical rectangles of various sizes… Aspect ratio can vary. Common aspect ratios used in photography, video, and other image-based design work include 4:3, 3:2 or 16:9, the basic ratio for many widescreen devices such as televisions and desktop computers. 

Although the aspect ratio of an image comes from the relationship of its height and width, multiple subsets of this ratio also help to define image proportions.  

Pixel aspect ratio

Pixel aspect ratio (PAR) refers to the proportion of the individual pixels that make up an image.  Pixels are typically square, which results in a pixel aspect ratio of 1:1. But images that are optimized for certain types of displays can also have rectangular pixels with an aspect ratio of 4:3 or similar.  

Display aspect ratio

Display aspect ratio (DAR) is the most relevant kind of aspect ratio for designers, and it’s the one that’s most commonly associated with the general term.  As the name suggests, display aspect ratio refers to the proportions of an image as it appears on screens of various kinds.  

Some devices, such as cameras and televisions, have a fixed DAR, so for images to display well on these devices, they need to be optimized for their particular aspect ratio. For example, a typical display aspect ratio for widescreen video to be displayed on a monitor or television screen is 16:9. When images with a different aspect ratio are displayed on these devices, they appear distorted.  Digital SLR camera sensors also have a fixed display aspect ratio, which controls how images captured by the camera will be saved and displayed.  

Storage aspect ratio

Storage aspect ratio (SAR) is an aspect ratio formula that pertains specifically to encoded digital video files. SAR refers to the width and height relationship in video frame size, and it needs to be consistent across all individual frames in order for the complete video to display properly. In a commonly used formula, SAR x PAR = DAR for most widescreen videos.

Aspect Ratios Affect UI/UX Design

Aspect ratios play an important part in any kind of project that involves capturing and displaying photographs, videos, or other kinds of image-based files in the correct way.  For photographers, the camera’s fixed aspect ratio can have a considerable impact on composing a photograph as well as displaying it later on other devices. And for videographers and anyone working with slideshows, animations, and other motion projects, aspect ratio is a key factor for correct display on widescreen and mobile devices.

The shift to responsive web design, which ensures that content displays properly across all devices, helps to resolve a number of problems with setting aspect ratios for individual images.  But even in these environments, problems can arise, such as when an image can’t be adjusted for display without compromising either its content or its quality.  A simple example is when a square image with a 1:1 aspect ratio needs to fit into a rectangular box on a website page. To accommodate varying image size requirements, proportions, as well as size, may have to be adjusted.

In an increasingly image-driven digital world, videos and images that look even slightly out of proportion contribute to a visitor’s negative impression of a website – and those that are clearly forced into the wrong configurations can even interfere with a site’s usability.  

Poorly proportioned product images or a user guide video that’s too stretched to see clearly can affect both a visitor’s willingness and their ability to use the site.  Designers, developers and anyone working with images will need to know how aspect ratios work and how to manipulate them for the best visual effect.  To streamline the process, a number of aspect ratio calculators, both free and paid, have popped up on the web.

Aspect Ratio Best Practices for Responsive Design

In responsive design, maintaining the correct aspect ratio for images, videos, and UI elements is critical to ensure that your content looks clean and professional across different screen sizes. A well-maintained aspect ratio not only preserves the integrity of your visuals but also enhances the user experience by preventing distortion and awkward cropping on various devices. Here are the best practices to follow when dealing with aspect ratios in responsive design:

1. Use CSS for Maintaining Aspect Ratio

CSS provides tools that make it easy to ensure consistent aspect ratios across different viewports. For instance, the aspect-ratio property (introduced in CSS Level 4) allows you to define the aspect ratio for containers, images, or videos, helping you maintain the correct proportions regardless of screen size. Before this property was widely supported, developers often used the padding-top trick (where padding percentage is based on the width) to preserve the ratio of containers or media elements.

2. Maintain Aspect Ratio for Key Media Elements

Images, videos, and interactive elements are key to a user’s experience, so it’s essential that they are not distorted or cropped when viewed on different devices. Stretching or squishing images can lead to unprofessional-looking designs and frustrate users, especially if the distortion impacts how users interact with visual content.

By preserving the correct aspect ratio, your images and videos will maintain their intended dimensions and scale properly with the screen size. To achieve this, make sure that media queries in your CSS accommodate different viewports while keeping the aspect ratio intact.

3. Use Responsive Images for Performance Optimization

Performance plays a significant role in responsive design, especially on mobile devices where slower connections are common. Using responsive images is key to balancing performance with visual quality. You can use the srcset attribute in your HTML, which provides different image resolutions based on the user’s screen size.

4. Test Across Devices

One of the core principles of responsive design is thorough testing across different devices. What looks great on a desktop might be misaligned on a mobile phone if the aspect ratio isn’t preserved. Use tools like Chrome Developer Tools or online responsive design testers to emulate different devices and screen sizes.

For images and videos with fixed aspect ratios (like 16:9 or 4:3), ensure that the design adapts well across all screen sizes without distortion. Ensure that all dynamic resizing respects the original proportions.

5. Handle Aspect Ratios in Fluid Layouts

Responsive design often involves fluid layouts, where elements resize dynamically based on the screen width. In these cases, setting the aspect ratio is essential to prevent issues like images and containers becoming too narrow or tall. By using percentage-based widths and heights, you can ensure that your content scales properly without disrupting its aspect ratio.

For example, a 16:9 video container might be scaled down to fit a mobile screen, but it should always retain the 16:9 ratio, no matter how much the overall layout changes. Fluid layouts combined with flexible aspect ratios ensure that your design remains consistent and visually appealing on all devices.

Aspect Ratio Calculators

It’s certainly possible to calculate an image’s aspect ratio and resize it manually with the help of some simple mathematics.  But that becomes tedious when dealing with many images from multiple sources. With the help of one of the many online aspect ratio calculators, though, you can determine the optimal aspect ratio for any image in a number of different formats, allowing designers to fully optimize each image for optimal viewing.

To use a basic aspect ratio calculator, you’ll need to know the image resolution in pixels and select the type of environment where the image will appear, such as HDTV.  The calculator then returns the result as an optimal aspect ratio. This can be especially helpful for video editing, where the video might include slides or images of varying sizes from different sources.  

Tools for Aspect Ratios in UX/UI

Other image management tools can also help with getting the aspect ratio right. Image editors such as Photoshop and Canva provide templates designed with optimal aspect ratios in mind, suitable for use in typical situations such as designing website banners, headlines, or social media profiles.  Most standard video editing software also allows users to determine and adjust aspect ratios of images to be included as individual frames in the video.  

Correctly proportioned images that display well and perform properly are a powerful tool for businesses of all kinds. Getting aspect ratios right makes images look good wherever they’re displayed.  Whether you’re selling a product, offering a service, creating an online course or something else, photographs, illustrations or video can attract visitors and keep them engaged.  

UXPin’s features make it easy to make sure images are sized and proportioned correctly. With Image Fill, you can choose from a variety of settings that allow you to adjust image size or crop the image while preserving its aspect ratio for perfect positioning.

UXPin can help bring designers and developers together for faster, better product development. Sign up for for a free trial today.

What is npm?

npm is a package manager for JavaScript that helps developers install, share, and manage libraries or pieces of code that are commonly used in applications. These packages can range from small utility functions to full-fledged UI components like buttons, form elements, or even complex layouts.

npm is also a key enabler of the design-development collaboration that UXPin Merge facilitates. By packaging React components through npm, developers can hand off real, functioning UI components to designers, who can then integrate them into their designs effortlessly. This results in a more consistent and efficient workflow, ensuring that your design system and the final product are perfectly aligned.. Discover UXPin Merge.

Design UI with code-backed components.

Use the same components in design as in development. Keep UI consistency at scale.

What is NPM (Node Package Manager)?

npm or Node Package Manager is an open-source repository of tools engineers use to develop applications and websites.

logo uxpin merge npm packages

npm is two things:

  1. A repository for publishing open-source projects.
    Simplified version: a digital storage and retrieval facility.
  2. A command-line interface (CLI) for interacting with the repository.
    Simplified version: a tool to communicate with the storage facility.

What is a Package Manager?

Before we can explain what npm package is, it’s essential to understand the idea of a package manager. Think of a package manager as a toolkit for developers.

Let’s say you’re building an application that uses Stripe for payments. A package manager installs all the code your product will need to communicate with Stripe and process payments.

Instead of writing all that code or copy/pasting it from Stripe’s docs, engineers simply enter a command, and the package manager installs the code dependencies they need from Stripe.

There are millions of these packages for everything you can think of to develop an application–like different types of search functionality, APIs, payments, authentication tools, maps, icons, hosting, and more.

You get public open-source repositories (like npm) where anyone can upload and install packages, as well as private package repositories with restricted access.

What is a Command Line Interface?

A command-line interface (CLI) is a text interface developers use to interact with computer programs. This CLI allows you to execute commands to run background operations necessary for software development.

In the case of npm, the CLI allows you to interact with the package registry. For example, engineers can use commands like npm install followed by the package name to install a specific package.

The npm Registry

The npm website is where engineers can search and learn about packages. This website is just a registry and doesn’t host the packages. Instead, engineers use platforms like GitHub, Packagecloud, AWS CodeArtifact, and others to host and distribute packages.

For example, if we look at the UXPin Merge CLI on NPM, it has displays GitHub as the repository and relevant link. Above that is the command to install the UXPin Merge CLI and its dependencies: npm i @uxpin/merge-cli. The “i” after npm is an abbreviation for “install.” So, typing npm install @uxpin/merge-cli would render the same result.

What are Dependencies?

Packages consist of other packages that engineers call dependencies–we know, confusing, right! These dependencies are packages of code that perform different tasks within the project.

For example, the UXPin Merge CLI uses Typescript and therefore requires the typescript package as a dependency. Typescript is just one of the 41 dependencies UXPin Merge CLI requires. 

What are Devdependencies?

Looking at the UXPin Merge CLI’s dependencies, you’ll notice 41 Dependencies and 41 Dev Dependencies (also referred to as devDependencies–one word).

  • Dependencies: The packages required to run a piece of software
  • Dev Dependencies: The packages needed during the development phase only

Dependencies and devDependencies reside in a separate folder called node_modules, so your packages.json file and project code know where to find them.

What is the package.json File?

There’s a package.json file that provides its metadata and dependencies. When installing the project on your computer, npm will reference the package.json file to install the dependencies and devDependencies.

Instead of installing each dependency individually, you simply type npm install in the command line.

Hosting providers also use the package.json file to install the dependencies (excluding devDependencies) needed to run the project on its servers.

What is package-lock.json?

The package-lock.json specifies the exact version of the package used to build the project. This file locks the dependencies so that when the project is installed, it references the versions used during development rather than the latest release.

Engineers update packages regularly, often changing the way the package works. So, locking your dependencies ensures the project operates as intended.

How to use npm

Here are some common npm commands and what they do:

  • npm init: Creates a package.json file for your project. If you’re building an application from scratch, npm init will be one of the first commands you use to include key project information. NPM will automatically update your package.json file whenever you install or remove packages.
  • npm install: Installs all of the project dependencies in a package.json file.
  • npm install <package-name>: Installs a specific package from the NPM registry and saves it to your node_modules folder. For example, npm install @uxpin/merge-cli will install the Merge CLI.
  • npm install <package-name> –save: Installs an NPM package and adds it to the dependencies in your package.json file.
  • npm install <package-name> –save-dev: installs an NPM package and adds it to the devDependencies 
  • npm uninstall <package-name>: Uninstalls a specific package from your project.
  • npm doctor: Runs diagnostics on your npm installation to check if it has everything it needs to manage your packages.
  • npm update <package-name>: Updates a specific package to the latest version.

These are just a few of the most common npm commands. You can find the complete list in the npm documentation.

Understanding npm as a Designer

npm is simply a toolkit comparable to plugins or app extensions for design tools. You don’t need to know the ins-and-outs of how packages are created, but it may be useful to know a thing or two about it.

First of all, some of code component libraries are shared as npm packages, such as MUI, Ant Design, etc.

How to find component libraries that are distributed as npm packages? Let’s say you search through Adele, UXPin’s library of publicly available Design Systems, for a component library that you can bring in to UXPin. You pick Shopify’s Polaris and notice that it is distributed via npm.

So, you go to the NPM site, look for Shopify’s Polaris, and find it.

Zrzut ekranu 2022 03 11 o 15.47.16

UXPin with Merge technology allows you to import UI elements from component libraries via NPM packages. Then, you can use those elements to put together fully-functional prototypes.

UXPin Merge is usually being set up by a developer. But if you lack the development support, you can use our new tool – Merge Component Manager and manage UI components by yourself.

However, if you want to enhance your programming knowledge to collaborate with devs better, then learning about basic code principles (HTML, CSS, Javascript) and component libraries is far more valuable for designers.

What Can You Do with npm Integration?

Even though npm is typically a tool developers use, it plays a crucial role in enabling powerful design workflows—like bringing React components into UXPin for seamless drag-and-drop UI building.

Here’s why npm is important for technical designers working with tools like UXPin Merge:

  1. Access to React Components: If your design system is built using React, npm allows you to package these components and make them accessible for use in other applications or tools—like UXPin Merge. React components that are available as npm packages can be directly imported into UXPin, giving designers the ability to drag and drop real code components into their designs without writing code.
  2. Easily Manage Updates: npm simplifies version control. When a developer updates a package (such as a new version of a button component), npm can automatically manage this update in UXPin Merge, ensuring that designers always work with the latest components from the development team. This ensures consistency between design and development without the need for manual updates.
  3. Collaborate Seamlessly with Developers: npm helps technical designers and developers work from the same source of truth. Developers use npm to publish the components they create, while designers can easily import those components into UXPin using Merge. This ensures that the components designers use for prototyping are exactly the same as the ones developers will implement in the final product.

Improve Collaboration With UXPin Merge

Merge enhances collaboration between design and development because designers and engineers work with the same component library. 

Instead of having a UI kit for designers and code for devs, Merge syncs a repository to UXPin’s editor so design teams can build fully functioning prototypes using code components.

You can sync your company’s design system or a component library like MUI so that you only have to drag and drop UI elements to build interfaces. Request access to Merge.