PRODUCT DESIGN INTERNSHIP FALL’23

Stackup Editor Design at Flux.ai

My Role: Product Design Intern

Team: Me, 1 Design Lead, 1 Product Manager, 1 Product Expert, 1 Software Engineer, 1 Electronic Engineer

Duration: 10 weeks (Oct 2023 - Dec 2023)

Contribution: Competitive Audit, HiFi Mockups, Design System Component Library, Visual Design

Project Overview

CHAPTER 0: OVERVIEW

Flux.ai is a PCB (printed-circuit board) design software company with the mission to take the ‘hard’ out of hardware so anyone, from makers to businesses, can easily turn ideas into products. It’s basically Figma for electronic engineers.

The Problem:

User: I can’t create custom shareable stackup layers for my PCB design. There is no way to add microvias, an industry standard technique to provide laser drilled electrical paths across PCB layers.

Flux.ai: Customizable stackup and microvias support acts as a major blocking feature to create advanced PCB boards. Implementing theses feature will help increase our enterprise and pro-user adoption rate.

The Solution:

I designed Stackup Editor Dialog for Flux.ai’s platform to customize stackup layers and define connecting vias.

Figma Link 🔗

The Impact:

  • Users can customize the PCB stackup layers using Stackup Dialog to create advanced PCB design. For eg. a mix of Flex-Rigid boards with the most cost-effective and efficient use of real-estate on the circuit board.

Before: Rigid PCB board (img source)

After: Rigid-Flex PCB board (img source)

  • Users can implement complex microvias on the PCB board with ease with the help of visual via table in the Stackup Dialog on the Flux.ai’s design platform.

PCB cross-section (img source)

Vias in Stackup table

As of Dec 2023, the first milestone of Stackup Dialog containing the Stackup Tab is shipped. By mid-Jan all the tabs are expected to be shipped in production. With this feature addition, Flux.ai expects increase in monthly active users and paid signups by the end of Q1 2024. Unfortunately the detail metrics are under NDA. Feel free to get in touch with me 🔗 to know more.

V0 version of ‘Stackup Dialog’ feature in production as of Dec 2023.

Why Stackup Editor?

CHAPTER 1: BACKGROUND

Flux.ai’s goal was to increase its enterprise and pro-user adoption rate and paid sign-ups. On collaborating with our Product Expert (Kerry), we found that providing users with customizable stackups and supporting microvias can greatly empower users to design more complex circuits, catering to the specific professional needs.

Meet my team 👋

Matthias

Product Manager

Product Expert

Kerry
Chris

Software Developer

Electronic Engineer

Mark

Product Design Lead

Product Designer

Me
Brooks

Defining the Product Specs

CHAPTER 2: DEFINE

As ‘Stackup Editor’ was a blocking and high priority product feature, the target was to ship it by quarter end. There were 2 approaches to design Stackup Editor,

Option A: Providing users with a very intelligent Stackup Editor that

  • Can add new layer anywhere in table.

    • ✅ High flexibility.

    • ❌ High engineering cost.

  • Provides default values for new layer relative to its position in the table.

    • ✅ Reduces user errors.

    • ❌ Complex logic.

  • Provides errors and warnings alerts.

    • ✅ Reduces user errors.

    • ❌ Glitches in real-time user experience.

Option B: Providing users with a dumb Stackup Editor that

  • Can add new layer only at bottom of table.

    • ✅ Easy to implement.

    • ❌ Less flexibility.

  • Provides a fixed default value for new layer.

    • ✅ Easy to implement. No edge cases.

    • ❌ Users need to do extra work to set correct values.

  • Provides errors alert only for system crash.

    • ✅ Users can create free-will designs.

    • ❌ Won’t alert the user about the manufacturing error.

After weighing pros/cons and knowing that this feature is going to be used by pro-user mostly, we assumed users know what they are doing, we decided to go ahead with a Option B: dumb Stackup table for glitch-free user experience, fast shipping and complete user freedom.

Collaborating to Resolve Critical Design Issues

CHAPTER 3: KEY CHALLENGES

Table Interaction Design

Content Design

Error Handling Design & Via Visual Design

Engineering Tradeoffs

Which actions we need to support for each layer row?

Eg. add, delete, rearrange etc.

Do we support keyboard navigation?

Eg. using arrow keys.

What would hover and select state look like?

Eg. creating new components.

What information will user need about the each PCB layer?

Eg. weight, thickness etc.

‘+ Layer’ button placement.

What should be default values for new layer?

Eg. default field values.

Table rounded corners.

What info. will user need about the vias implemented on PCB?

Eg. priority, connecting layers etc.

How do we deal with input errors?

Eg. signifiers, value reset etc.

What kind of errors should users be alerted?

Eg. system crash, manufacturing etc.

What is the platform wide UX for error handling?

Eg. signifiers, value reset etc.

What information should a via visual convey?

Eg. drill process, fill etc.

Hover state implementation.

Which design export files will be needed to render customized via illustration as per the user inputs?

Eg. svg, vector structure etc.

User Interface

CHAPTER 4: SOLUTION

Critical User Path - Adding New Via to ViaSet

Crititcal User Path - Adding New Layer

Via Visual Design

Via Export Files for Engineering HandOff

Component Library for Design System

CHAPTER 5: DESIGN SYSTEM

I published my final component library for Stackup Dialog in the Flux Design System.

What I learned ?

CHAPTER 6: REFLECTION

1. Iterating the design based on user needs, product goals and engineering tradeoffs.

2. Mastering advanced figma skills to create complex responsive and dynamic designs.

3. Publishing component library to Flux Design System with minute details like naming conventions, atoms, molecules, components, ordering etc.

4. Collaborating across the team to resolve critical issues and deliver designs.

If I had more time …

PARTING THOUGHTS

Hi! Thank you for scrolling till here🙏.

Finally, if I had more time, I would get user feedback on Stackup Dialog through Flux’s active slack channels and bug report forum. I would understand the user problems tweak the v1 milestone for better user experience and added functionality.