🎨 Unit 11 • UI/UX Design Masterclass

Product Design Tools & Infrastructure

Deep dive into industry-standard design software: mastering Figma's cloud architecture (frames, auto layout, component variants, design styles, plugins, and Dev Mode handoff), alongside comparative workflows across Adobe XD, Sketch, Balsamiq, FigJam, Illustrator, Photoshop, and Canva.

🛠️ Primary Engine: Figma (Auto-Layout 5.0 & Dev Mode)
🧩 Architecture: Components, Variants & Styles
🤝 Collaboration: Real-Time Multiplayer, Comments & FigJam
⚖️ Ecosystem: Sketch, Adobe XD, Balsamiq & Creative Cloud
01

Figma Core: Cloud Engine & Canvas Fundamentals

Figma revolutionized digital product engineering by moving the entire vector graphics engine into the browser using WebAssembly (C++ compiled to Wasm) and WebGL. This architecture eliminated platform locking (Mac vs Windows), local file version conflicts (e.g., final_v2_reallyfinal.sketch), and unlocked real-time multiplayer collaboration.

Frames vs Legacy Artboards

Unlike static artboards in traditional tools, Figma Frames are powerful layout containers that behave like HTML <div> elements:

  • Infinite Nesting: Frames can be nested infinitely inside other frames (e.g., Frame Screen > Frame Header > Frame Button).
  • Clip Content: Ability to clip child elements extending past boundaries (simulating CSS overflow: hidden).
  • Independent Grid Layouts: Each frame can possess its own multi-column or baseline grid system.
Shapes, Vector Networks & Typography
  • Vector Networks: Unlike traditional bezier paths limited to sequential two-point paths, Figma vector networks allow multiple lines to branch from a single vertex node (crucial for complex iconography).
  • Text Styles: Centralizing typography tokens (Family, Size, Weight, Line-height, Letter-spacing) across an entire design file.
  • Live Google Fonts Sync: Cloud rendering guaranteeing identical typographic appearance across all collaborators.
1
Step 1: Ideation & Flowcharting in FigJam
Whiteboarding user journeys, affinity mapping, and sticky-note ideation sessions with cross-functional stakeholders.
2
Step 2: Component Architecture & Auto Layout in Figma
Constructing responsive UI frames using Atomic components, variants, design tokens, and fluid auto-layout mechanics.
3
Step 3: Engineering Handoff via Dev Mode
Engineers inspect pixel spacing, copy production CSS/Swift/Compose snippets, and download optimized SVG assets.
02

Components, Variants, Auto Layout & Constraints

Building scalable digital products requires treating design elements with strict engineering discipline. In Figma, components operate via an Object-Oriented inheritance model:

Main Component vs Instances

The Main Component (marked by four filled diamonds ❖) defines the master template. An Instance (single hollow diamond ◇) inherits all updates automatically while allowing local overrides (text, color fills, icon swaps).

Component Variants

Grouping related states into a single organized component set (e.g., State = Default | Hover | Active and Size = Sm | Md | Lg). Eliminates naming conventions like Button/Primary/Hover/Large.

Auto Layout 5.0

Figma's implementation of CSS Flexbox: direction (horizontal/vertical/wrap), gap spacing, independent padding, and alignment. Supports Hug, Fill, and Fixed resizing rules.

figma-dev-mode-css-output.css
/* Generated directly from Figma Dev Mode Auto Layout 5.0 */
.figma-auto-layout-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;                     /* Figma Auto Layout: Vertical Gap */
  padding: 24px;                 /* Figma Auto Layout: Padding */
  width: 100%;                   /* Figma Resizing: Fill Container */
  max-width: 420px;
  background: var(--surface-primary, #ffffff);
  border: 1px solid var(--border-neutral, #e2e8f0);
  border-radius: 12px;           /* Figma: Corner Radius */
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.05); /* Figma Drop Shadow */
}

.figma-card-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between; /* Figma: Space Between */
  align-items: center;
  align-self: stretch;           /* Figma: Fill Container (cross-axis) */
}
📐 Auto Layout vs Constraints

Constraints (Pin to Left, Right, Center, Scale) dictate how an individual layer responds when its parent frame is resized manually. Auto Layout dynamically rearranges sibling layers automatically as content changes inside the frame (e.g., button stretches when button text expands).

03

Design Styles, Asset Management & Plugin Ecosystem

Figma Global Styles
  • Color Styles: Solid fills, gradients, and semantic palette swatches.
  • Typography Styles: Font specs linked to design scales.
  • Effect Styles: Elevation shadows (inner/outer) and layer blurs.
  • Grid Styles: 8pt / 12-column responsive layout guidelines.
Essential Figma Plugins for Production
  • Tokens Studio (Figma Tokens): Manages multi-brand JSON design token pipelines synced with GitHub repositories.
  • Stark / Contrast: Real-time WCAG 2.2 AA/AAA color contrast auditing inside the canvas.
  • Content Reel: Generates realistic mock user avatars, addresses, names, and telemetry numbers.
  • Iconify / Feather: Instant access to thousands of production-ready SVG vector glyphs.
04

Real-Time Collaboration & Developer Handoff

Figma replaced isolated designer silos with a shared, transparent digital workspace. Understanding collaboration hygiene is essential for enterprise agility:

Multiplayer Collaboration Hygiene
  • Threaded Comments: Pinning feedback directly to specific frames using C with @mentions to keep discussions contextual.
  • Branching & Merging: In Enterprise plans, designers branch the main library, test component iterations, and merge via peer review like a Git PR.
  • Version History: Automatic checkpoint logging allowing rollbacks to any 30-minute state in time.
Figma Dev Mode (Production Handoff)
  • Ready for Dev Badging: Designers tag finalized frames as "Ready for Dev", filtering out work-in-progress drafts.
  • Unit Toggles: Instant conversion between px, rem, and relative percentages.
  • Code Gen: Inspects box model margins, paddings, CSS, iOS SwiftUI, and Android Jetpack Compose code.
  • Asset Export: Instant 1x, 2x, 3x PNG, WebP, and clean SVGs with optimized vector paths.
design-token-export.json
{
  "spacing": {
    "none": { "value": "0px" },
    "xs":   { "value": "4px" },
    "sm":   { "value": "8px" },
    "md":   { "value": "16px" },
    "lg":   { "value": "24px" },
    "xl":   { "value": "32px" }
  },
  "radii": {
    "button": { "value": "8px" },
    "card":   { "value": "12px" },
    "modal":  { "value": "16px" }
  }
}
05

The Digital Product Design Ecosystem: Comparative Analysis

While Figma dominates contemporary interface design, professional product teams use an ecosystem of specialized tools depending on design fidelity and production goals:

Tool Name Primary Fidelity Core Strength Key Limitation Ideal Project Phase
Figma High Fidelity Browser-based, Auto Layout, real-time multiplayer, Dev Mode Requires reliable internet connectivity; heavy memory in huge files UI Design, Prototyping, Systems & Handoff
FigJam Low Fidelity Infinite canvas, sticky notes, voting, flowcharts, widgets Not built for pixel-perfect component specification User research, Brainstorming, Affinity mapping
Sketch High Fidelity Native macOS speed, offline file storage, native plugin architecture Mac-exclusive; cloud collaboration requires paid sync add-on High-security native Mac corporate environments
Adobe XD Mid / High Fidelity Deep Creative Cloud integration, voice prototyping, repeat grids Development largely paused by Adobe; declining ecosystem Legacy Adobe enterprise environments
Balsamiq Low Fidelity Wireframes Intentional hand-drawn aesthetic that forces focus on content & IA Cannot build visual design systems or high-res mockups Rapid low-fi discovery & early stakeholder alignment
Adobe Illustrator Vector Illustration Unrivaled vector precision, complex pathfinder math, print CMYK No auto-layout, no responsive UI prototyping or screen state logic Brand identity, logo design, complex custom iconography
Adobe Photoshop Raster Manipulation Pixel-level photo retouching, multi-layer compositing, color grading Raster-based; unsuited for responsive vector UI layouts High-end hero imagery, product photo editing
Canva Template Graphics Ultra-rapid templated social graphics, drag-and-drop ease Cannot export production design tokens or responsive UI components Marketing promos, social banners, pitch deck slides
06

Viva Voce & Engineering Interview Questions

Q1 • Architecture What architectural innovation allowed Figma to outperform legacy desktop tools like Sketch and Photoshop?
Figma was engineered from first principles for the browser using WebAssembly (compiled from C++) and WebGL. Instead of relying on slow DOM rendering or native OS windows, Figma runs its own 60fps C++ vector engine directly on the GPU. This enabled instant platform-agnostic access (Windows, Mac, Linux, Chromebook) and frictionless real-time multiplayer synchronization through operational transformation algorithms.
Q2 • Figma Mechanics How does Auto Layout in Figma mirror CSS Flexbox?
Auto Layout maps 1:1 with CSS Flexbox properties: direction corresponds to flex-direction: row | column; gap corresponds to gap: Npx; padding maps to CSS padding; and the three resizing modes correspond to CSS sizing: Hug Contents = max-content, Fill Container = flex: 1 1 0%, and Fixed = width/height: Npx.
Q3 • Components What is the difference between a Main Component and an Instance in Figma?
The Main Component (four diamonds ❖) is the authoritative single source of truth defining layout, geometry, and styling. An Instance (single diamond ◇) is a linked child copy that automatically inherits all changes made to the master. Instances allow selective local overrides (e.g., changing text copy, icon fill, or visibility) without severing the link to parent structural updates.
Q4 • Tool Comparison Why is Balsamiq intentionally designed with a rough, hand-drawn sketch aesthetic?
When stakeholders and clients review polished high-fidelity prototypes early in a project, they get distracted by button colors and font choices rather than core user flows and information architecture. Balsamiq's intentionally rough hand-drawn look prevents premature visual critique and encourages stakeholders to focus strictly on structural usability, layout logic, and task flows.
Q5 • Vector Math What are Figma Vector Networks, and how do they differ from Adobe Illustrator pen tool paths?
Traditional vector tools (like Illustrator and Photoshop) use sequential path loops where each node can connect to a maximum of two adjacent line segments. Figma's Vector Networks allow an infinite number of paths to branch from a single vertex node. This eliminates the need to duplicate paths or join multiple shapes when drawing complex glyphs, networks, and icons.
Q6 • Handoff What problems does Figma Dev Mode solve for front-end software engineers?
Prior to Dev Mode, engineers frequently accidentally moved or altered design elements while inspecting files. Dev Mode provides a read-only environment customized for developers: box-model spacing inspection, automated conversion between px and rem, instant production code generation (CSS, SwiftUI, Compose), changelog comparisons showing what changed since the last release, and direct token linking.
Q7 • Tool Selection When should a designer choose Adobe Illustrator over Figma in a product design workflow?
Illustrator is chosen when authoring complex standalone vector art, intricate logo brand marks, print packaging requiring exact CMYK color separations, or advanced gradient meshes. Once the icon or illustration is finalized in Illustrator, it is exported as a clean SVG and imported into Figma to be integrated into the digital product's design system.
Q8 • Collaboration How do Figma Component Variants prevent component explosion in enterprise design libraries?
Without Variants, a design library required hundreds of separate components for every combination of state and size (e.g., Button-Primary-Hover-Large-WithIcon). Variants group all combinations into a single unified container with organized property axes (Type, Size, State, Icon), reducing canvas clutter by up to 80% and allowing developers to toggle states via intuitive dropdowns in the sidebar.