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
Sending and receiving mismatched messages
Protopie
Use Variables
Variables are very powerful simplifying tool and they do not seem to have any impact on Protopie's performance.
Good Prototyping Practice
IDEO's 3R prototyping principles from the late 1990s still apply - "Right, Rough, Rapid" but in the UX and UI space they are easily misunderstood.
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).
The wrong variable type
This pitfall is not a big deal, but it can waste you time as you try to track down why your variable seems to have the wrong value (or no value). It can also bite you in a formula where your variable is of the wrong type for the formula.
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.
Sending messages to two places
Whilst it is important to be careful in sending messages to the right places, it is also very powerful to send a message to two different places at the same time (or maybe with a small delay).
Arrays and multiple parameters
Protopie seems limited since a message can be sent using only one value as a parameter. However, arrays (written as text strings and manipulated by parseJson) can be used for contexts where multiple parameters need to be passed.
Playing with time
A message sent to the current scene will be received by the object that sent it. But a message sent to Protopie Studio (Connect) will not be received by the pie that sent it. B ut what if there is nothing out there to respond to it?
Distinctive initial variable values
parseJson gives no error message
The wrong variable type
Using the wrong mental model for Protopie
Sending messages to two places
Sending and receiving mismatched messages