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

Playing with time

How to know whether something occurred

The message sending protocols between a scene and a component, or between pies (through Connect) are extremely powerful, but not entirely consistent. A message sent from a component to the current scene is received by itself, but one sent to Connect is not received by itself. How can you trigger a response if no-one has responded?

There are a variety of ways:-

  1. send a message to your self with a delay of 2-3 seconds after you sent to message to Connect. If you get a response from Connect then set a. flag variable, and when you receive the message from yourself, consult (and reset) that variable.
  2. Use a variable in a similar way – assign it a value with some delay (2-3 seconds) and then have a detect trigger  on it, which checks the flag variable in the same way as the message sending (above).

In general, set an event to happen at some delay after sending your message to Connect and then use that event to see if a response has come in from Connect.

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.

Keep trigger and response names visible

It is very important to annotate your code with what it is actually doing, but keeping the trigger and response names helps someone new to the project (or you in three month's time.

Moving between Figma and Protopie

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.

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.

parseJson gives no error message

parseJson is.a very useful and powerful function, but it doesn't do all you might expect of it (yet, hopefully).

Working with Components

Rough, Rapid, Right

Sending a message to another scene

Use overridable variables in components

Viewing variables within Components

Check if your other pie is present

Using the wrong mental model for Protopie

The wrong variable type

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

info@peoplecentereddesign.org

© 2026 David Gilmore