top of page

Figma Feature

Overview

Figma is an influential and growing design product that is always pushing to make new and relevant features. One core feature is components, which is the focus of this project. The goal was to reduce friction when needing to edit a master component, by adding a contextual edit in place feature.

Timeline

4 weeks

Role

UX/UI Design,Interaction Design

MacBook Mockup.png

Discover

Research to find user needs and frustrations and validate assumptions.

Research Goals

  • Is there a real need for this feature?

  • Do competitors have a component feature, and how does it work?

  • How do designers use and organize components in their workflow?

  • What pains and gains do designers have when using components?

  • What are the workarounds for these challenges?

  • Are there plugins for this, and how do they work?

Methodologies

  • Survey

  • Secondary research

  • Competitor analysis

  • User interviews

Survey

I used a survey to get a general pulse on what designers' feelings, confidence, methods, needs, and frustrations are regarding components, The goal was to get an overview snapshot of the core issues and see if my problem aligned with anything discovered.

Participants

  • Figma users

  • Any experience

Beginners organize components in same page or a separate page, and experienced designers use libraries

Biggest gain from components is how it helps consistency

Biggest pains are overrides and variants

Beginners report fewer pain points than experienced designers

A common workaround for all levels is detaching the link of an instance from the master

Beginners have lower confidence and usage frequency and experienced are vice-versa

Secondary Research

I looked at many plugins by searching for "component", and only a couple came close to what I was looking for. One is called Edit in Place, by Tom Lowry. The other is Master by Gleb.

 

I also looked at some Figma documentation and their Medium article, and other articles like this one by Jake Tsacudakis.

And finally, I found an old forum post by Chris Malven, which addressed this exact issue. There is a lot of support for this in the comments.

There are many plugins for components, but only one that truly matches this feature

There is at least some amount of need for this type of feature in the community

Most articles focus on design system organization and native techniques

Figma documentation doesn't address editing in place, even as a workaround

Competitor Analysis

I checked out Figma's competition to see if they handled their systems of components in a different way, perhaps to gain some inspiration and see if this kind of feature would be unique and give an advantage.

In short, Figma is second behind Adobe XD regarding instance overrides, and all 3 handle master components in a similar way. None of them have a contextual edit in place feature.

User Interviews

I looked through the Designlab Slack channel for fellow students to fulfill the beginner interviews. For more experienced interviewees, I pulled from one person I knew, one Designlab mentor, and one Designlab alum 

Participants

  • Figma Users

  • All ages and gender

  • 3 beginners

  • 3 experienced

Interviews

  • All remote via Zoom

  • Recorded for analysis and notes

With all updates in products they always add new features, but it’s never about fixing old features.

How am I supposed to make changes as a separate element when I’m not looking at it within the entire page?

How am I supposed to make changes as a separate element when I’m not looking at it within the entire page?

Overall everything is intuitive and no issues are major enough to need a feature.

I don’t know if I’m a nerd about components, like I see videos of people doing it...I’m not that.

I wish Figma would make learning easier.

Not everyone will be a Figma wizard and understand what they can or can’t do.

Affinity Diagram

I performed an affinity diagram exercise to identify common pains and needs of the users.

Figma Feature_Affinity Diagram.png

Research Insights

After the affinity diagram, I found the following key themes among participants.

Needs

Beginners acknowledge they need to learn more about components

Approaches to working and organizing components are very unique to the individual

Figma could do better with clarifying limitations and onboarding

Competitors offer good solutions to specific needs that Figma could borrow

Pains

Users are afraid to make overrides or changes to components

People will give up and do manual edits if something isn't working right with a component

No participants used plugins for working with components

Define

Setting our goals and priorities to solve the problem.

Personas

Using the insights from the affinity diagram, I made two personas. One represents a beginner and the other represents an experienced designer.

Figma Feature_Persona_Genji Ho.png
Figma Feature_Persona_James McAllister.p

Design

Ideation and design of structure, user flows, wireframes, and UI elements.

Point of View & How Might We?

The POV/HMW helped me take user insights and needs, combine them into a problem statement, and ask how the problem may be solved. I first wrote out user stories to frame the POV/HMW around.

Golden Path

This exercise helped to determine the critical path for the feature, and other side paths that one could possibly take.

Figma Feature_Golden Path.png

Wireframes

Interaction patterns that matched the brand were very critical, especially with the existing UI elements like the side panels. Wireframes helped me to work out those choices, at least as a starting point.

Sketches

I began doing really rough and quick sketches for ideation, which then were sketched out again in more detail for reference when making the wireframes.

Wireframes

From the sketches I made the wireframes. I only had to make it in one size, since Figma is only a desktop application.

UI Designs

I swapped placeholder elements in the wireframes for likely design elements a designer may have, to sell the immersion.

multidevices_Figma Feature.png

UI Kit

There was mostly copywork of existing UI, but thankfully there was a shared file someone made that contained most of the Figma UI that I used. A small amount of new icons, modals, panel sections, and styling were needed to accompany the feature.

Figma Feature_UI Kit.png

Test

Building a prototype, usability testing, and revisions based on results.

Prototype (V1)

For this new feature prototype, I had to think not only about new interactions, but how they would translate visually and work together with the product’s existing elements and interaction patterns.

Usability Tests

For this usability test, I wanted to see how intuitive the new UI elements and interactions were, and if they fit the look and feel of Figma.

Research showed that this feature would be more geared towards mid to senior level designers, so I recruited from that niche group to specific individuals.

Participants

  • 3 tests

  • Experienced designers

  • In-depth knowledge of Figma

Methodology

  • Remote on Zoom & Figma

  • Moderated and recorded

  • Feedback questions

It just has to be super clear that if the master does live in a design system file somewhere, and I go to master edit mode right here, and I save these changes, it’s gonna update in reverse to the design system.

If I go into a mode, it needs to be more obvious that I’m in a different mode.

I don’t need any other information from that file. I just need that component.

Key Takeaways

These are the main points taken from the usability tests.

Make it clear that you are in a new edit mode

Make it clear how everything works with libraries

Make viewport mode less like a frame and more like a window

Focus on the single component and not the entire design system

Make it clear what the instance level section does

Don’t forget about screen real estate

Priority Revisions

I aligned the revisions with the key takeaways from the usability test feedback and observations.

Added a canvas stroke and edit mode label when inside of context edit feature

Added in Figma publishing and reviewing modals and UI when updating libraries

Added styling to viewport to make it more like a scalable window

Removed the fit to component and reset icons

Removed the other design system components from the viewport

Made instance level clickable and also give a readout of what is being edited and/or selected

Moved edit options out of the side panel and into a modal on canvas

Change check icon to a button

Final Prototype

After testing and prioritizing revisions, I updated the prototype. In addition I updated the usability test plan with a new script, updating the instructions to match the changes.

What I Learned

I wasn’t even sure the feature idea would solve a real issue for designers until the research said otherwise. I had only my own personal frustrations that were the initial catalyst for imagining this feature.


This project was right up my alley, since I always like to optimize and improve upon processes. Coupling that with Figma itself made for a fun and challenging puzzle.


I feel like I have a much better idea of what working within an existing brand and style is like. It’s an interesting mix of freedom and restriction. Since Figma has a contextual interface, I had to double check what would happen elsewhere with every interaction that occurred in the prototype.

Designing Figma interactions and existing element in Figma was a bit of a mental exercise, since visually the content and the tool look the same. It took me a little bit of thinking and planning to tackle all the different states of all the existing UI.


I learned that even designers need extremely clear visual communication about what they are doing in their tools, especially for a new feature that is introduced.


With more time, I would add more interactions overall to make it really feel like a Figma playground. I would also make a task flow for a complex component with many variants, and that instructed the user to navigate with the new Instance Level section.

bottom of page