Skip to main content

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.

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?