Skip to content

UX Prototyping & Protopie

  • Principles
    • Educational
    • Figma Integration
  • Patterns, Pitfalls, Ploys
    • Patterns
    • Pitfalls
    • Ploys
  • More …
    • People-Centered Design
    • Thinking about AI
  • Principles
    • Educational
    • Figma Integration
  • Patterns, Pitfalls, Ploys
    • Patterns
    • Pitfalls
    • Ploys
  • More …
    • People-Centered Design
    • Thinking about AI

Rough, Rapid, Right

A key principle for all protoyping in product design is to be rough, rapid and right.

Rough means not to build anymore than is necessary for the current purpose.

Rapid means moving fast and being prepared to throw the prototype away quickly, once it has achieved its purpose.

Right means ensuring that the rough prototype rapidly built is capable of addressing the unknowns and answering the critical question.

Some purposes of prototyping

  1. Seeing how much can be fitted onto a screen and still be comfortably legible.
  2. Exploring whether users interpret the various interactive elements appropriately.
  3. Demonstrate that a flow (through the application) works and makes sense.
  4. Providing colleagues with an understanding of what ‘Done’ might look and feel like.
  5. Investigating whether users can navigate through the flow and complete their tasks.
  6. Enabling customers to see what new features might really mean in their day-to-day usage.

 

Whichever of these (or numerous other)purposes fits your reasons for building a prototype, this should guide you in terms of what rough, rapid and right might mean for you and this should lead you to see what tool is most appropriate.

Sending and receiving mismatched messages

You can send messages in different ways, but Protopie requires you to receive them in the matching way. A common (and easy) mistake is to send a message to a 'parent' while wanting to receive it from the current scene.

Put code inside components

Protopie code can get complex and hard to follow surprisingly quickly. Putting as much code as possible within your components can keep your main scenes simpler and cleaner.

Sending a message to another scene

This is a very easy mistake to make – sending a message to be picked up by a component, but one that you have in fact placed into a different scene. Although you can send to a different pie, you can't send to a different scene.

Receive and Assign hazard

Receiving a message, and then assigning a value and then writing a conditional based on that value is that something that is quite a normal, conceptual pattern – but in Protopie it will often not work as expected. This is because responses to Protopie triggers all happen simultaneously and not in the order written.

Use overridable variables in components

By using an overridable variable in your components you can have many instances of the component in your scene, but with different values for the same variable.

How to inspect variables inside a component

Even all-Scenes variables are not accessible inside a component. And this can lead to hard to find errors when a variable with the same name is used in a component, but its value is not sync'd with the scenes.

Viewing variables within Components

The variable debugger doesn't work when the variable that needs to be viewed is inside a component. There are two relatively easy ways to deal with this.

Moving between Figma and Protopie

Using the wrong mental model for Protopie

Use Variables

Sending and receiving mismatched messages

Sending a message to another scene

Check if your other pie is present

Playing with time

  • Welcome
  • What’s New?
  • About
  • Welcome
  • What’s New?
  • About

info@peoplecentereddesign.org

© 2026 David Gilmore