Feature Request: Back Button

Hey team! Really enjoying your tool so far. For some time now, I’ve been dreaming of taking Ryan Singer’s UI flows process and trying to map it to a digital interface. Sadly I never got around to it.

I didn’t have anything like what you’ve built in mind, but as someone who views plain text as the basis of my product design process in general, I absolutely love what you have created here.

I’m using the product to design a system right now and while reviewing the sketch with my colleague, we ran into one recurring issue: wanting to step backwards through the diagram one step at a time. While I could manually add “back” transitions to each state, that wouldn’t be an accurate representation of the actual UI we’re trying to design (where states progress linearly without the ability to go back to a previous state).

Currently, we can reset the diagram to the beginning, but for more complex diagrams this quickly becomes a nuisance.

As a job story, I’d write what I’m looking for as follows:

When I am going through a diagram and accidentally click the wrong event, I want to be able to go back to the previous state, so I can follow my intended path through the diagram.

I’ve also put together a sketch :slight_smile:

https://sketch.systems/patdryburgh/sketch/4dcc34b107745c26f4da2dd61b9d76ab

Thoughts?

In reviewing my sketch, I see that clicking the “back” event in either the Second State or Final State of my diagram will run the “back” transition for the current state which is a great feature! However, this still necessitates adding redundant “back” events to each state.

Hi @patdryburgh,

Thanks for writing and I’m glad to hear you like what we’ve made!

Your use case for a back button makes sense.
You’re right that it’s dishonest to your design to add back transitions that shouldn’t actually exist in the thing you’re designing.
An architectural analogy would be adding grab handles to a scale model of a building so the model is easier to carry around — it would be a disaster if that were accidentally built in the final structure =P

One issue to clarify: What happens to the “undo stack” when the spec is modified?
Right now the behavior is to reset the diagram/prototype back to the starting state, and so the undo stack would be cleared as well.
Would that still be okay for your purposes?

Or should we first change that behavior to allow editing comments and transitions, and only reset the state and undo stack when the states themselves are modified?

Hey @kevin,

Your analogy is both apt and hilarious to visualize :smiley:

I think resetting the diagram back to the starting state when the spec is modified is perfectly reasonable. While it would certainly be cool to somehow keep the undo stack in place, I completely understand that’s far easier said than done.

For my purposes, being able to go back to the previous state in the undo stack while going through the diagram with a team or client is all I need.

—Pat

Hi @patdryburgh,

I just deployed a first pass on the back button behavior we discussed.
Take a look and let me know what you think.

Ryan and I will be recording a video about it for the newsletter later this week, so I’ll update the thread when we have that posted.

Thanks for the suggestion, and in particular for taking the time to think through and clearly write up your desired use case.

Hey @kevin, this looks great! Exactly what I was hoping for. I hope others find as much value in this as I do :slight_smile: