Balsamiq Community Discussion

Implementing Conditional Logic in Back Function


Hi all.

I’m using Mockups 3.5.15 and I’m looking for a way to implement a truly conditional Back function. I’ve tried using the Go Back (in Full Screen) link option but I run into trouble in the following scenario where I have a mockup that is called from multiple mockups and the mockup in the ‘middle’ has links to other mockups.

For example:

Grandfather -> Father -> Son
Grandmother -> Father -> Son

If I us Go Back for a back button on the Father mockup, this will handle it being called from either Grandfather or Grandmother. Where I get into trouble is if I click on the link to Son, use the Back button on Son to return to Father, and then hit the Back button on Father. Ideally this should take me to either Grandfather or Grandmother but instead it returns me to Son.

I understand why this is happening, but I’m looking for some way of achieving my desired results. The only workaround I have so far is to create redundant versions of the mockups (e.g. Father1 + Son1 & Father2 + Son2). As you can imagine, this gets cumbersome very quickly.

I was hoping that there might be some way I could pass the name of the original mockup to the one that it calls and then reference this variable as where to go back to.

I searched the web and found a few references to the Go Back feature in general, but as you can see it doesn’t really fit my needs.

I’d appreciate any suggestions that you may have.


Hi @Derek_Henrico,

Thanks for the post. I’ve been thinking about this for a little while this morning and I’m not very sure that we have a good answer for you. I know that’s far from ideal but the question really goes to the heart of the kind of tool we are (and are not).

The short answer is that we don’t really have what you are looking for which is a level of interactivity more typical in a prototyping tool rather than a wireframing tool. That’s a bit of a subtle distinction so perhaps it would help to take a step back and talk about what Balsamiq is and our vision for the application?

We consider our little tool to be a low-fidelity wireframing tool. It is designed to be used in the early stages of an application when the focus is on communicating broad design concepts and generating ideas rather than on specific aspects of implementation. We designed it to be quick and easy to use - like a pen and a whiteboard if you will - so that you can junk bad ideas and add new ideas quickly in those early stages.

While we do offer some interactive features, the amount of interactivity is deliberately limited so that wireframes are not confused with more interactive - and perhaps pixel-accurate - prototypes which tend to come later in the design process. For a more in-depth look at that decision see: Why We Aren’t Doing Deep Interaction in Mockups

So it’s possible you’re looking for more in the way of interactivity than we offer and we understand that we’re not going to be the right tool for everybody. There’s a great comparison of different tools and where we fit here which might put this in a better context for you: How Does Balsamiq Compare to Other UI/UX Tools?

I’ll continue to think about this for you and I’ll also hope that other users reading this share their thoughts on how you might achieve the effect you’re looking for within the limitations of our interaction features.

All the best for now.


I really appreciate this quick, frank, and constructive response. I’ve been very impressed with your software and, based on this interaction, I can certainly add your company in general.

I definitely get where you are coming from when you talk about the quick and easy to use aspects of Balsamiq. This has been my experience 100%.

Part of my challenge is that I’m trying to move our development paradigm away from a system of Word-Visio based spec writing which makes it difficult to get a feel for the true user experience until development is largely complete. This tends to lead to repeated and potentially costly changes.

I’m attempting to convince the various stakeholders in my project that we should challenge our existing methodology and explore new technologies in the hopes of making our process more agile/adaptive. Balsamiq has been very constructive in doing this and I’m sure that your feedback will also be helpful.

Thanks very much for sharing your thoughts.