Last modified: October 11, 2024

This article is written in: 🇺🇸

UI & Frontend Development

Key Terminology

User Experience (UX)

User Interface (UI)

User Flow

Minimum Viable Product (MVP)

Call To Action (CTA)

UI Components

UI components are fundamental building blocks of an interface. Picking the right component for a specific function or interaction can significantly improve the user experience.

Buttons

Button Component

Text

Text Component

Inputs

Input Fields

Lists

List Display

Radio Buttons

Radio Button Options

Comboboxes

Combobox Options

Checkboxes

Checkbox Options

Menu Component

Dialogs

Dialog Window

Toolbars

Toolbar Component

Tooltips

Tooltip Example

Sliders

Slider Control

Switches

Switch Control

Accordions

Accordion Component

Tabs

Tab Component

Carousels

Carousel Example

Breadcrumb Navigation

Modals

Modal Window

Notifications

Notification Component

Progress Bars

Progress Bar

Spinners

Spinner Indicator

Types of UI Design Deliverables

UI design often involves iterative processes that utilize various deliverables for visualizing, testing, and refining the user interface. The three main deliverables used during design are wireframes, prototypes, and mockups.

Wireframe

Prototype

Mockup

Importance of a Three-Phase Design Approach

Design Approaches

UI Sketching

UI sketching is an essential part of the design process where ideas are quickly drawn, usually by hand, to explore concepts and layouts. This method is useful in the early stages of user interface design.

Advantages

  1. UI sketching allows designers to rapidly ideate and visualize a multitude of ideas without the time investment required by digital tools. This rapid process is ideal for generating a broad range of concepts.
  2. Sketches provide a tangible representation early in the design process, making it easier for teams and stakeholders to understand and discuss the design concepts.
  3. As a visual medium, sketches can easily uncover potential design challenges such as spatial, layout, and flow issues early, allowing for quick adjustments before committing to detailed design.
  4. Sketches facilitate collaborative brainstorming and feedback, as they are approachable and easy to iterate upon, enabling team members to contribute ideas and feedback in real-time.
  5. The sketching process is inclusive and does not mandate technical expertise, allowing anyone on the team, regardless of their technical background, to participate in the design process.

Disadvantages

  1. The absence of coded elements in sketches limits certain functional insights. Since sketches are static and non-interactive, they cannot fully convey the interactive aspects of a UI, such as animations, transitions, or dynamic behaviors. This limitation can lead to gaps in understanding how the design will function in practice.
  2. Some intricate design details or issues may be overlooked in sketches due to their simplicity. Finer details of the design, such as pixel-level accuracy, color schemes, or typography, are often crucial for the final look and feel of the product.
  3. Sketches can sometimes be ambiguous or open to different interpretations, leading to misunderstandings about the design intent. This issue is particularly significant when sketches are shared without the creator present to provide context.
  4. Sketches might not always be client-ready. For presenting to clients or stakeholders who are used to seeing polished designs, sketches might appear too rough or unfinished and may not effectively communicate the final vision of the product.
  5. Sketches have limited reusability. Unlike digital files, sketches can be hard to modify extensively or repurpose for future projects. Changes often require redrawing the sketch, which can be time-consuming.

UI Kits

UI kits are collections of pre-made user interface components, such as buttons, check boxes, sliders, and more. They provide a consistent set of design elements that can be reused across different parts of a project. Here are some notable UI kits:

UI Kit Description Primary Technology Customization Use Case Community Support Reference
Ant Design A design system for enterprise-level products. It creates an efficient and enjoyable work experience with a set of high-quality React components. React High, with theming and component overrides Enterprise applications Strong Ant Design
Material UI Provides a robust, customizable, and accessible library of foundational and advanced components, enabling you to build your own design system and develop React applications faster. React Extensive, with customizable themes General-purpose, highly customizable Very strong Material UI
Chakra UI A simple, modular, and accessible component library that gives you all the building blocks you need to build your React applications with speed. React Easy theming and component customization Speedy development, accessibility focus Growing Chakra UI
Bootstrap A popular HTML, CSS, and JS library for developing responsive, mobile-first projects on the web. It's known for its extensive components and utility classes. HTML, CSS, JS Moderate, with Sass variables Responsive web design, mobile-first apps Extensive Bootstrap
Semantic UI A framework that helps create beautiful, responsive layouts using human-friendly HTML. It focuses on using language that naturally describes content. HTML, CSS, JS High, with theming capabilities Beautiful, semantic designs Moderate Semantic UI
Foundation A responsive front-end framework that makes it easy to design beautiful responsive websites, apps, and emails. HTML, CSS, JS High, with Sass customization Advanced responsive design Moderate Foundation
Bulma A modern CSS framework based on Flexbox. It is fully responsive and provides a range of components and layout options. CSS Moderate, using Sass variables Flexbox-based layouts Growing Bulma
Tailwind CSS A utility-first CSS framework for rapidly building custom designs. It focuses on low-level utility classes to construct unique designs without writing custom CSS. CSS Extensive, via configuration file Custom design systems Very strong Tailwind CSS
Element UI A Vue 2.0-based component library for developers, designers, and product managers, providing a consistent look and feel for web applications. Vue.js High, with customizable themes Vue.js applications Moderate Element UI
Vuetify A Vue.js framework that provides a wide array of components and tools for building beautiful and functional web applications. Vue.js High, with extensive configuration options Material design in Vue.js apps Strong Vuetify

UI Design & Prototyping Tools

Different tools are available for various stages of the UI design process:

Tool Description Primary Use Case Key Features Collaboration Platform Community Support Reference
InVision Offers tools for rapid prototyping, collaboration, and workflow. Ideal for creating interactive mockups and sharing them with team members. Sketching, User Flows Interactive mockups, collaboration, feedback Strong Web, iOS Strong InVision
Whimsical A versatile tool for creating flowcharts, wireframes, and mind maps, which helps in planning and organizing design thoughts. Sketching, User Flows Flowcharts, wireframes, mind maps Moderate Web Growing Whimsical
OmniGraffle Pro Known for its powerful diagramming and wireframing capabilities. Excellent for detailed flow charts and user flow diagrams. Sketching, User Flows Diagramming, wireframing, user flows Limited macOS, iOS Moderate OmniGraffle Pro
Balsamiq A rapid wireframing tool that reproduces the experience of sketching on a whiteboard, but using a computer. Great for low-fidelity prototypes. Wireframing Low-fidelity prototypes, sketch-like interface Limited Web, macOS, Windows Strong Balsamiq
Justinmind A tool for creating high-fidelity wireframes and interactive prototypes. Offers advanced features like conditional navigation, variables, and data lists. Wireframing High-fidelity prototypes, interactive features Moderate Web, macOS, Windows Growing Justinmind
UXPin A full-fledged tool for detailed wireframing and prototyping. Supports interactive states, logic, and code components. Wireframing, Prototyping Detailed wireframes, interactive states, logic Strong Web Strong UXPin
Figma A cloud-based design tool that is powerful in collaborative interface design. It allows multiple designers to work simultaneously on a single document. Interface Design, Prototyping Real-time collaboration, vector networks, components Very strong Web, macOS, Windows, Linux Very strong Figma
Sketch A vector-based design tool, primarily used for screen design. Known for its simplicity and extensive plugin ecosystem. Interface Design Vector editing, extensive plugins, simplicity Moderate macOS Very strong Sketch
Adobe XD Offers vector-based tools for creating prototypes and wireframes, along with integration with other Adobe Creative Cloud apps. Interface Design, Prototyping Vector tools, Adobe CC integration, interactive prototypes Strong macOS, Windows Strong Adobe XD

UI Design Best Practices

  1. YouTube: Introduction to UI Design
  2. YouTube: Advanced UI Design Techniques
  3. UI/UX Sketching Techniques 101
  4. UI Sketching Pro Tips
  5. NNGroup: The Definition of User Experience (UX)
  6. Smashing Magazine: Designing User Interfaces for Beginners
  7. Google Design: Material Design Guidelines
  8. UXPin: The Guide to Interactive Prototyping
  9. Adobe XD Ideas: UI/UX Design Tips and Tricks
  10. Figma Blog: Collaborative Design Best Practices
  11. Usability.gov: Designing for Mobile
  12. Medium: UI Design Patterns for Successful Software
  13. Coursera: UI/UX Design Specialization
  14. Interaction Design Foundation: The Basics of User Experience Design
  15. A List Apart: Understanding Web UI

Table of Contents

  1. UI & Frontend Development
  2. Key Terminology
    1. User Experience (UX)
    2. User Interface (UI)
    3. User Flow
    4. Minimum Viable Product (MVP)
    5. Call To Action (CTA)
  3. UI Components
    1. Buttons
    2. Text
    3. Inputs
    4. Lists
    5. Radio Buttons
    6. Comboboxes
    7. Checkboxes
    8. Menus
    9. Dialogs
    10. Toolbars
    11. Tooltips
    12. Sliders
    13. Switches
    14. Accordions
    15. Tabs
    16. Carousels
    17. Breadcrumbs
    18. Modals
    19. Notifications
    20. Progress Bars
    21. Spinners
  4. Types of UI Design Deliverables
    1. Wireframe
    2. Prototype
    3. Mockup
    4. Importance of a Three-Phase Design Approach
    5. Design Approaches
  5. UI Sketching
    1. Advantages
    2. Disadvantages
  6. UI Kits
  7. UI Design & Prototyping Tools
  8. UI Design Best Practices
  9. Links