UX Collective

We believe designers are thinkers as much as they are makers. https://linktr.ee/uxc

Follow publication

Member-only story

A masterclass in sharing Figma’s prototype interactions

Chuck Rice
UX Collective
Published in
8 min readSep 13, 2022

--

Reuse interactions in your prototypes without losing Design System updates by using components, inheritance, and an Interaction Wrapper.

A frame labelled “file: components” containing three coloured buttons with a purple dashed rectangle around it. Red arrow labelled “UI updates propagate” points from the left-most button to an identical one in another frame labelled “file: sharable interactions example”. This identical button has a solid purple outline, with two red arrows labelled “interactions propagate” points right to two more identical solid outlined buttons.
If this looks complex or insane, don’t worry—we’ll take baby steps. Promise!

Most Figma users know how to make their UI elements into sharable components, but not so many attempt to make the interactions sharable. It’s possible to do, and can save you a great deal of time when rewiring components such as global navigation, a footer, or live chat in your prototypes. I’ll explain what it is, the key problem we’re solving, how to make one, and finally some use cases and considerations to make.

This builds upon the concepts I covered in my long press tutorial. You may also benefit from brushing up on frame nesting, and the official Figma components guide.

The problem we’re trying to solve

To appreciate the problem we’re solving, consider this brief example:

And consider these measures of success:

  • I want all prototypes to receive UI updates made to the master navigation
  • In a given file, I want one place to update all interactions I’ve set for the imported navigation component

Let’s look at a few setups and scenarios, starting with a master component navigation, and a couple of interactions attached to it:

Within the same file and page

Diagram labelled “file: components”. An abstract navbar with a purple hatched diamond with two blue labels. Red arrow labelled “duplicate” pointing to an identical navbar, but with an empty diamond.
Making a bog-standard master component with two interactions, then making an instance.
Diagram labelled “file: components”. An abstract navbar with a purple hatched diamond with two blue labels “1" and “3". Red arrow labelled “updating our original” pointing to an identical navbar, but with an empty diamond. Blue labels on the identical one are “1” and “2”.
✅ Yes — updates to interactions will reflect to the instances.

Let’s say we make an instance of our master navigation, then update an interaction in the master. This works, and interaction updates will propagate, but it’s not very useful.

I don’t want to have to create a brand new master for each file. Plus, I’ll have to…

--

--

Written by Chuck Rice

Sr. Product Designer, DevX and Design Systems @ Moonpig 🌙🐷 • Figma Community Advocate • 🎓 Educator: chk.fyi/LearnFigma • 400k+ Medium views

No responses yet

Write a response