I've created some pretty complex Axure prototypes before, but I'm wondering if I've reached the limited of what is possible in Axure circa 2018.
Specifically, I want to create a multi-page survey that dynamically changes within and across pages based on information and decisions provided by the user.
This could include:
- Adding new questions within and across pages based on data provided
- Dynamically updating navigation to allow a user to jump around the survey
- Capturing all data from multiple respondents (2 - 4 respondents)
- Dynamically replacing words across the survey based on supplied information
I'm aware that Global Variables are the only method to achieve this, as they are the only persistent form of data/state storage across pages offered in both Axure 8 and 9.
I've read with interest the various forum posts on hacking JSON, connecting to Google Sheets, connecting to Databases via GET requests, somehow using Repeaters and concatenating multiple pieces of data into a single Global Variable (string manipulation). I'm not a coder, so many of these methods are difficult to use.
I've built smaller forms before (~5 - 10 pages) using Global Variables to great effect. However, the scale of the prototype I'm exploring makes this difficult. I'm estimating it could be upwards of 200+ Global Variables to capture all the data points for 2 - 4 respondents across multiple pages and multiple questions.
So my questions:
- How many Global Variables is too many before Axure or the prototype crashes or otherwise fails?
- Have I missed anything in ways of hacking persistent global data?
- What is the largest complex survey that anyone has tried and were there any useful learnings?
Based on my readings and experience teaching Axure, I'm feeling that, without persistent data storage, this is a step to far in prototyping. I've read many comments by those that have some really amazing skills suggesting that a move back to coding is better for prototypes of this sort of complexity.
However, I just want to make sure I haven't missed anything.