Improving prototyping with Figma
The default page for a Figjam flow chart

Improving prototyping with Figma

Let’s talk about prototyping. By design,?it needs to be ugly. Prototypes are a quick way to share an idea, see whether a flow will work, and suggest something believable that doesn’t exist yet.

We do this because developer time is expensive, and drawing pictures is cheap. If you have an idea and want to draw it in pictures,?Figma?is the way you’re probably going to do it. Figma has two main modes:

  • FigJam?is a flowcharting feature in Figma that also enables you to draw collaboratively on a whiteboard canvas. People typically use this to do a short-term collaboration or to explain a process.
  • Figma?is a more traditional vector drawing tool that lets you build high-fidelity layered images to hand off to developers to create product features in code or to create detailed vector illustrations.

Like most tools, there’s no “right way” to use it, but if you hand off blocky low-fidelity pictures of a software process, there are going to be more questions about how to bring it to life than if you present beautiful pictures. Except beautiful pictures take a long time to create, even when you have components you can import from a library of items.

A need to get better at prototyping

Recently I needed to get a lot better at using Figma. As a product team, we wanted to move features to become development ready faster and needed to take some pressure off of our UX resources.

Here’s a simple example that illustrates some of these techniques and highlights the advantages and limitations of each technique. Let’s say you were working on a portion of an application and wanted to change the action on a drop-down menu to transform it from a single selection to a multiple-select option.

This example component from a UI library demonstrates the initial state of a single select picklist:

No alt text provided for this image
Example component from https://mui.com/material-ui/react-select/

Now, let’s build some ugly prototypes.

Showing the example with a “paper” drawing

First, we’ll take the easy method. Drawing on paper or on a tablet (this example comes from ProCreate on an iPad) lets you share the idea of selecting the menu and showing a ?? or a highlighted selection to indicate that the item is selected.

No alt text provided for this image
quick drawing in Procreate on an iPad


This is probably the fastest way to get to an idea. It’s easy to share and you can make almost infinite iterations. However, drawing an example has a few issues:

  • It’s potentially encrypted (ok, that’s a handwriting joke, but it might be legitimately hard to read)
  • Making changes requires you to redraw or create more scribbles on top of this design
  • Scaling this is possible and will get distorted quickly, as it’s not a vector illustration
  • Mashing up designs from two people will quickly look different, as they have different handwriting

This is truly a one-time sketch. It doesn’t scale. How can we do a little bit better?

Moving to a flow chart solution: FigJam

FigJam is a collaborative drawing feature built into Figma. It lets you use simple shapes and colors to whiteboard concepts and bring illustrations and ideas together in just a few minutes.

FigJam is limited on purpose. Its goal is to get ideas to a place where they can be acted on, not to create finished vector illustrations for developers. It does give you scalable shapes and the ability to add type and makes the prototype easier to share, scale, and change.

Here’s an example of our multiple select menu component prototyped in Figjam. Let’s say that after our first discussion, we changed our design from using a check mark to select an item to a row highlighting scheme.

No alt text provided for this image
The same illustration, built in FigJam

FigJam’s pretty good at creating basic diagrams and at blocking information roughly to where it will be in the final design. This is optimal for information flows such as a true flow chart where it’s more important to convey what’s happening than to offer pixel-perfect fidelity.

As you can see, it’s also really hard to duplicate the actual app experience with FigJam. If you want to use screenshots of the interface, you could draw on top of them with arrows or simple vector drawings, but it doesn’t feel very polished. FigJam examples are clear enough to discuss but not detailed enough to build.

Using Figma to create mid-fidelity and high-fidelity examples

How do you create better results than FigJam? Build a prototype in Figma.

Figma uses all of the vector tools that can create a high-fidelity drawing for your team to respond to and build your solution. This works whether you are building items from scratch or cutting and pasting a screenshot from your application into Figma and adding boxes and arrows on top.

This solution in Figma?looks like the actual application. This makes it easy to have a discussion about what will change and what will remain the same in this proposed new design.

No alt text provided for this image
A Figma illustration using UI from https://mui.com/material-ui/react-select/

There’s another secret that I uncovered here: the ability to import elements directly into Figma.?Story.to.design?published a?Figma plugin that lets you point at any element in a web application or website?and import those items as layers into Figma.

When you have all of the vector layers of a web app, it’s easy to make changes, copy and move elements, and add the red text and pointing arrows that annotate a successful prototype design.

What’s the takeaway??Prototyping is ugly, but it can be much more effective when you use vector tools for prototyping. Whether you’re building a low-fidelity version of your idea or a high-fidelity version, Figma gives you great tools to communicate and collaborate with your team. Figma’s plug-in ecosystem also gives you tools to create an unfair prototyping advantage by loading application assets directly into Figma layers.

This essay originally appeared here.

要查看或添加评论,请登录

Greg Meyer的更多文章

  • "The API of Me" in the age of AI

    "The API of Me" in the age of AI

    Our computing ability intersects with our own personal dataset to create new and differentiated solutions with AI at…

    2 条评论
  • Create a pacing graph with Google Sheets

    Create a pacing graph with Google Sheets

    As an operator, how many times do you get asked: “how are we doing this month vs last month? (Or vs. some previous…

  • In support of "boring" software

    In support of "boring" software

    I am an unabashed technology fan and an early adopter of new things. As a kid, I loved (and still love) science fiction…

  • 5 ways to make your low-code automation more effective

    5 ways to make your low-code automation more effective

    When I started my first software job, I remember thinking two things: I am definitely not the smartest person in the…

    2 条评论
  • Turning daily improvements into milestones

    Turning daily improvements into milestones

    You’ve seen the statistic. 1% improvements daily for a year yield a 37x return.

    2 条评论
  • Building Diagrams with Computers

    Building Diagrams with Computers

    Ethan Mollick writes about AI that “the only way to figure out how useful AI might be is to use it.” This is not…

    2 条评论
  • Redefining the Customer Journey

    Redefining the Customer Journey

    Have you ever played RevOps detective? ??? The story goes something like this. There’s a closed-won (or a closed-loss)…

  • Going from 0-1 in Data Operations

    Going from 0-1 in Data Operations

    Imagine you are starting a new venture and need to describe all the data tasks that need to happen to get you from…

  • An ode to console.log()

    An ode to console.log()

    Some of the first programs I ever wrote on a computer used PRINT to echo a line to the screen. Using BASIC, I filled…

    1 条评论
  • Great performance demands mental preparation

    Great performance demands mental preparation

    The coach will see you now When I was younger I wanted to be a professional baseball player. Professional baseball…

    2 条评论

社区洞察

其他会员也浏览了