It seems possible to generate all states of a purely functional UI so that it can be analyzed and audited.
An application of this would be to render screenshots of a user journey so they can be audited for quality, detect unexpected states, fuzz for errors, and provide linting errors/warnings when a screen is too complicated (e.g. too many states that it could be confusing).
See also:
- UX (user experience)
- UX entropy
- Measuring UX
- Deriving user flows and optimal path to goals
- Fuzzing
- Fuzzing Book chapter on GUIsCrawling UI
Links to this note
-
From an entry point uncover all of the possible actions a user could take in a user interface. Actions are anything that causes the state of the application to change.