Support Conditional Display and Interaction Flow
I want to be able to define conditions/rules based on, for example, user input that could conditionally change the state of my screens and/or control the flow for the user. This would imply remembering what users have put in and being able to reference it in the rules.
We added support for triggering interactions based on changes to the text input. Check it out in the latest version of Indigo Studio. You should see an in-app update mid next week.
Check the following blog post to see a summary of what’s new: http://goo.gl/ymMWNT
David Ismailov commented
While i understand the need for `conditions`, I think the main problem is the mental model of the users, ex programers or axure users or else. These users think as programmers. This why suggestions are mostly "give me variables". How to provide "programming" capabilities without making Indigo complex?
I wish you guys come up with a creative solution that allows complex conditional flows but without variables.
It is possible to make conditions in indigo today, just simple ones: https://indigodesigned.com/share/run/q2tm9r248hm7
Petr Štědrý commented
For me this could be as simple as ...
- if the user did not fill input X / checked checkbox Y and Z, display a warning when submitting a form
- preserve the inputs when returning back to an earlier page/screen (which is on its own not conditional, just hackable using conditionals)
Reiss Cashmore commented
Can we also link the variables to states of elements inside of a screen part. I.e I create 3 variables (booleans) that are local to a screenpart then on the screenpart there are 3 images. When either of them are pressed a pop up displays allowing you to select a state of the pressed image (Lets say a lightbulb that is on or off). I want to be able to make it so that when you press an image I can pass the next state some information on what corresponding image was pressed and therefore what variable to change so that in turn the images are independent of each other and there states are stored. You may say why don't you just create a screen part with one light bulb with two states. However the problem is not with the states and the screen parts inherently themselves but more that there is a problem with layers. If I were to create the aforementioned screen part with an individual lightbulb when I then press on the image to open the pop up this pop up has to be in the same place on the screen no matter where the original image was. This means that essentially the screenparts have to pretty much cover the whole screen. Then when I try to click on each one because of the layering I can only ever press the top one. This means I have to put all the images in one screenpart. However to make all the light bulbs work independently without any data persistence mean I have to "Hard code" the states. Which turns into an exponential workload because the amount of possible states is determined by the amount of states^the amount of objects that can be in those states.
Yup. It's been a year. Gosh!
We kind of understand the ideas as you have stated them. Thank you for listing them out clearly. In the list you mention, is there anything that's more important than others? We are about to start on conditional rules. Will keep y'all posted on this thread.
Also, I don't want to misunderstand your expectations of data-persistence. Can you point me to some prototyping scenarios that we can use as a reference?
If you are interested in seeing what's been happening with Indigo Studio the past year, check out our release notes:
Ricardo Montoya commented
It's been a year so far.
I've just got to know about Indigo Studio and already downloaded the app. Looks good but the lack of conditional capabilities is a show stopper for me. I've used Axure RP and Just In Mind Prototyper Pro being the last one a very good tool. Unfortunately due mainly to performance issues when managing many elements and events per screen I had to abandon it and get back to paper and code.
What I need is:
Data persistence (Just In Mind has it)
Import data from CSV (Just In Mind has it)
Use of variables and being able to control the state of a called screen. For example:
-On Button A tap go To screen B and set screen B state to "STATE_Z"
-Use of variables in general.
Is there any news about this kind of functionality since last year?
Thank you in advance for your attention.
Conditional Interactions would be very useful. I have a need that if an option is selected on a dialog, the 'OK' button would result in a different interaction flow. So this need is not about validation but about changing the flow depending on other data
Thanks, Anonymous. I totally agree--for more app like prototypes, having some amount of conditional control (and some amount of data persistence) is important. We'll get there in time. :)
Specifically, I need to be able to add conditions to interactions that prevent the interactions from firing unless those conditions are met.
I need to be able to specify what those conditions are (if text on Title - 'Username' = 'Chad'; if size of Container Box - 'Status' > 300px; etc.)
I need to be able to nest conditions so that if the first one doesn't fire, the prototype tests the next condition.
These things allow me to creat far more dynamic and useful prototypes. Currently I use Axure, and while Indigo Studio does pretty much everything better than Axure, until we can get conditional actions it's not so very useful to me.
Sort of seperately, I need to be able to change the state(s) of widgets independantly of each other, rather than triggering new states for the entire canvas.
Great product guys. I'd be willing to pay lots and lots of money if you can get to feature parity with Axure.
Zsolt Molnar commented
Does this still need more details?
I would also like to be able to define conditions for form validation. If a user leaves a field blank on Submit I would want to respond to this program state and display messages. I would also like to be able to use basic variables to store information like input user names. Axure RP has a feature for determining interactions, it would be great to have something similar.
Zsolt Molnar commented
For example : There is a sign in screen where you would like to simulate two different type of user login (standard/admin). So you create an interaction on the sign in button, but there is no option to create a decision point based on the user type.
Now you have option to create two similary sign in screen one for admin and one for other type of users. But these screens are just the same sign in screen.
It may not have to have these complex functionality but for example after we defined the user interaction - let's say to go to new state - we think it would be good if it has an option to say this will be a condition based interaction and you (as the user) could be able to define available option.
This problem is something relates to the context of a screen.