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
Use overridable variables in components
Protopie
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.
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
It can sometimes be very helpful to use -99 and "null" for the initial values for your number and text variables.
Check if your other pie is present
When building a connected system it can be valuable to know if the other pies are loaded into Connect or not – for examples so you don't get stuck waiting for a message that will never be sent.
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 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).
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).
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.
Good Prototyping Practice
Distinctive initial variable values
Check if your other pie is present
Receive and Assign hazard
parseJson gives no error message
Use Components