User Interface Questions
Basic UI questions to ask when designing a user interface.
ASK: Clarify the requirements, ask questions.
USERS: Find out more about the users and their needs,
- 6U: User Story, Roles, Qualities, UI, UX, and Projections
- Who are the primary users of the application?
- What are their goals or objectives when using the application?
- What are the pain points or frustrations they may have with the current process or tools they use?
- What features or functionality are most important to them?
- Are there any specific accessibility needs that should be considered?
- What devices or platforms will the application be used on?
- How frequently will they use the application?
STANDARDS: Find out any relevant design guidelines or brand standards that need to be followed.
Are there any brand guidelines or design standards that should be followed?
What are the colors, typography, and other visual elements that should be used?
Are there any specific design patterns or styles that should be followed?
Are there any design assets or templates that should be used?
Is there a style guide or brand book available?
Are there any specific design elements or features that are required or preferred?
Are there any restrictions or limitations on the use of certain design elements or patterns?
FLOW: Define the user flow and data flow through the application. This can be done through wireframing, sketching, or creating a rough prototype.
- Flowchart or swimlane the user flow through the application.
- Start/End: A rounded rectangle is used to represent the start and end points of a process.
- Process: A rectangle is used to represent a step or action in the process.
- Decision: A diamond shape is used to represent a decision point, where the process can take different paths depending on a condition or variable.
- Input/Output: A parallelogram is used to represent input or output, such as data entry or data display.
- Connector: A small circle is used to represent a connection between steps or processes.
- Delay: A cylinder is used to represent a delay or wait time in the process.
- Predefined Process: A rectangle with double horizontal lines is used to represent a process that is defined elsewhere in the flowchart.
- Screen wireframes or mockups with components and interactions.
- Flowchart or swimlane the user flow through the application.
VISUAL: Create a visual design for the application, using the wireframes or prototype as a guide.
- Mockup wireframe
- More detailed mockups
DATA: Define the data model and API endpoints, if necessary.
- Data entities and relationships that need to be modeled?
- Attributes or properties of each entity?
- Constraints or validations that need to be enforced on the data model?
- Business rules or requirements that should be taken into account?
- Performance considerations or scalability concerns with the data model?
- Expected size and complexity of the data set?
- Security and privacy requirements for the data?
CONFIG: Set up the development environment and any necessary tools or libraries.
TESTS: Unit tests or define testing procedures to ensure the application is working correctly.
Basic query questions
- What kind of data am I fetching? Is it static or dynamic? Will I need to make API calls?
- How frequently will the data be updated?
- What formats do I need to present the data in? For example, do I need to display it in a table, chart, or graph?
- Are there any specific UI/UX requirements or restrictions that I should be aware of?
- Are there any specific performance or accessibility requirements that I should keep in mind?
- What is the data source? Is it coming from a database, API, or other source?
- What is the expected size of the data set? Will it require pagination or infinite scroll to display the data?
- Are there any specific data filters or sorting requirements?
- Will the data need to be transformed or manipulated before it's displayed?
- How will the data be updated? Will it be through user input, periodic updates from the server, or some other mechanism?
- Are there any security or authentication requirements for accessing the data?
- Will the data need to be cached for performance reasons, or can it be fetched every time the component renders?