王廷瑋|數位醫療|智慧醫療: Human-Computer Interaction WFU

2024年6月30日 星期日

Human-Computer Interaction

Human-Computer Interaction


  • There are five functions that the user interface provides:
    • User may invoke functions provided by the system.
    • User may input data to the system.
    • System may indicate available functions for the user.
    • System may display data to the user.
    • System may display status information to the user.


Usability Engineering


  • It is aimed at producing practical results using a repeatable process based on scientific principles. Much of the underpinnings of usability engineering is the science of psychology.
  • UI Engineering works in parallel with other engineering disciplines: systems engineering, hardware engineering and software engineering.
    • It starts with usability requirements analysis.
    • The next phase is usability analysis and design.
    • Then there is usability testing.
  • Usability requirements have to be testable
    • Effectiveness
    • Efficiency
    • Safety
    • Utility
    • Learnability
    • Memorability
  • User experience goals
    • Satisfying
    • Enjoyable
    • Fun
    • Entertaining
    • Helpful
    • Motivating
    • Aesthetically pleasing
    • Supportive of creativity
    • Rewarding
    • Emotionally fulfilling


Usability Analysis


  • Interviewing
  • Brainstorming
  • Field studies
  • Generate operational scenarios


Usability Design


  • Process of figuring out how to bridge the gap between how the user wants to use the system and the capabilities provided by the system implementers
  • The user’s mental model is based on the user’s goals for using the system.
  • The designer’s model is described in terms of mechanisms offered by the system implementation.
  • Sometimes this mapping between the user’s model and the designer’s model is accomplished through the use of metaphors
  • The usability design process involves describing three aspects of the interaction.
    • Activity scenarios – show how the users carry out their goals. We can use UML use cases or activity diagrams for these models.
    • Information scenarios – show how information is exchanged between the users and the system. Screen layout prototypes are useful here.
    • Interaction scenarios – show the details of how the user and the system interact. Once again, a prototype, either low fidelity or high fidelity, can be used here.
  • Several aspects of the user interface that can be prototyped
    • Input Controls: These are ways to allow the user to present information to the system.
    • Navigational Components provide ways for the user to control the action or the presentation of information.
    • Informational Components are mechanisms that enable the system to present information to the user.


User Interface Mechanisms


  • Input mechanism
    • Keyboard
    • graphical user interfaces
    • Microphone
    • Voice commands
    • Video cameras
    • Special devices
  • Output mechanisms
    • Text or graphics
    • Auditory output
    • Video and animation
    • Haptic feedback
    • Special devices
  • Interacting with systems
    • Command line
    • Menus
    • Form fill-in
    • Direct manipulation
    • Auditory commands
    • Gestures


Error Handling


  • Severity
    • Useful error messages
    • Annoying messages
    • Dangerous
  • Mistakes are where you have the wrong mental model.
  • Slips are where you have the right mental model; you just messed up in execution.
  • Handling error
    • Do nothing
    • Disable
    • Issue confirmation prompt
    • Provide “undo” capability
  • Error Message Guidelines
    • Be specific
    • Provide constructive guidance
    • Be positive
    • consistent
    • Consider the user’s experience and skill level.
    • Consider the culture of the region where the system will be deployed.


Prototyping


  • A prototype is a concrete, but partial implementation of a design.
  • Its basic purpose is to reduce risk in software development.
  • Here are some benefits of prototypes:
    • Expose missing system capabilities.
    • Expose confusing services.
    • Early availability (through evolutionary prototyping).
    • Basis for specification of software requirements.
    • Support user training.
    • Support system testing.
  • Low fidelity prototype
  • High fidelity prototype
  • A useful technique for modeling user interaction is called Screen flows and Layouts.