-
Notifications
You must be signed in to change notification settings - Fork 40
Wizard
Ricky Concepcion edited this page Apr 9, 2020
·
1 revision
A wizard is a user interface designed to simplify application usage. It provides a guided user experience on a track that limits interfaces in order to simplify decisio-nmaking.
- The wizard is on a track, meaning progression through it is either forwards or backwards (think: parametric coordinate system with one independent variable).
- The user can only see navigation from a "previous" and "next" perspective.
- Decisions can cause the track to "fork", but the forking should not be visible in navigation. Specifically, the view after choosing to go "next" may change based on previous selections, but this determination is encapsulated.
- The technical level of the wizard should be as simple as possible.
- Provide background information that is helpful for completing the wizard.
- Limit the number of categories/information shown concurrently.
- Limit the interface as necessary.
- Many optimization models have many parameters although most are uncommonly used. In that case, most of these parameters can be hidden in the wizard. Instead, these interfaces can be exposed through other tools/UI/modes.
- The results of the wizard should be presented in an intuitive manner without overloading the user with information.
- Wizards are implemented using a Kivy ScreenManager with its own collection of Screen widgets.
- Screen instances can be added in succession as the user proceeds through the wizard.
- The wizard resets upon exit.
- The initial screen introduces the contents of the wizard, including what it is used for and what the outcome shall be.
- Navigation is handled by buttons at the bottom of the screen for "previous" and "next."
- Screen transitions are swiping animations (left/right) with the "previous" animation having twice the speed (half the duration) as the "next" one.
- The "next" button should be disabled until all requirements on the current screen are met.
- Each screen is for one task at a time.
- Popup/modal views can be used to expand the functionality of the screen as necessary.
- Example: A button on the screen can open a DataImporter which opens as a modal view.
- Popup/modal views can be used to expand the functionality of the screen as necessary.
- A summary screen is used before any computations to summarize user selections while collecting selections from the previous screens.
- A separate screen is displayed while computations are performed in the background (main thread). A popup is displayed when computation is complete.
- A WizardReportInterface is used to display results through a collection of reports.
- Wizard navigation buttons and the WizardReportInterface are available in the Common modules.
- The wizard screen titles and body text should be subclassed from their label base types in the Common modules.
- Use layout padding as necessary to limit the span of text such that it doesn't cause reading fatigue. A rule of thumb is that a body of text should not exceed the width of three copies of the alphabet.