Data flow
With the previous data structure in mind, I started to think more about how the information supplied from an API would flow through view models and allow me to build the user interface.
I had a feeling that validation was going to complicate the application, so I started sketching out some ideas for the parts of the UI that would be affected. The user can't proceed to the next step until the current step is valid. In this, its mandatory questions have been answered so the "next" button needs to be disabled until this happens. I started drawing again, but quickly a degree of "analysis paralysis" kicked in. How should this work? There are several Ext JS features that could help; will model validation binding work here or will it have to be manual handling of validation events. Earlier, I mentioned "checks and balances" to avoid building something that Ext JS won't support; I decided to take some time out and investigate the best way to implement this in Ext JS.
Call this a "spike"...