OpenVAA / voting-advice-application

An open-source platform for creating Voting Advice Applications (VAAs)
https://openvaa.org/en
GNU General Public License v3.0
10 stars 0 forks source link

Refactor application flow based on user feedback #428

Closed kaljarv closed 4 months ago

kaljarv commented 6 months ago

I rethought some parts now to address the issues uncovered by user feedback. I added a new section in Figma that displays different flows in the app depending on these three criteria:

  1. Basic info: unfilled/filled
  2. Opinions: unfilled/partially filled/completely filled
  3. Answering locked

If you go the prototype view, you can also click through the 6 different flow. They're listed in the left-hand menu.

In general, these things are affected by the criteria above:

The biggest design changes are:

Here's a breakdown of how the things above depend on the state criteria.

Abbreviations:

Item BI OP AL Behaviour
Start page: title X X Different if BI = filled & OP = filled
Start page: intro text X X Different if BI = filled & OP = filled
Start page: action list X X X Items are enabled when the previous one is completed.
First two texts change if BI/OP = filled from 'Enter/Tell…' to 'Edit…'. They change to 'View…' if AL = true.
Badges show missing items.
Start page: main button X X X Always reflects the last available item in the action list
Basic info page: fields X Locked if AL = true
Basic info page: main button X X If OP = unfilled: 'Save and Continue' and go to questions intro;
Else if AL = true: 'Return';
Else: 'Save and Return' + 'Cancel' button
Questions intro page X X Only shown if OP = unfilled & AL = false
Questions summary: Fill in missing answers block   X X Shown if OP != filled unfilled & AL = false
Questions summary: warnings   X X Shown if AL = true, extra warning if OP != filled
Questions summary: button texts   X X If AL = true: either 'View answer' on answered questions or a 'You didn't answer this question' text on unanswered
Single question: main button   (X) X If AL = true: 'Return';
Else if arriving from questions intro or via the 'Fill Missing Answers' button from questions summary: 'Save and Continue' to next unanswered question or start page if no unanswered are left;
Else (i.e. coming via an individual question's button on questions summary): 'Save and Return' + 'Cancel' button
kaljarv commented 5 months ago

Everything seems to be exactly how it's supposed, great!

Just one minor thing you can consider changing is to show a close button instead of or in addition to logout on /candidate/preview route, which would return the user to the start page.