Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SER594 Lecture 10

SER594 Lecture 10

Human Computer Interaction
UI Design

Javier Gonzalez-Sanchez

April 26, 2019

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming


  1. Cognitive Engineering 1. Cognitive Psychology • Understand human action and

    performance • (memory, perception, attention, thinking process) 2. Engineering of systems • Goal: pleasurable engagement
  2. Goal, Intention, Action 1. Psychological variables • Goal (person wish)

    and, • Intention (decision to act) 2. Physical variables (for execution) • Controls 3. Mapping psychological and physical variables 4. HCI is about the physiological, SE usually worry about the physical.
  3. Mapping • How much intelligence should be present? • How

    to determine the proper level ? ( too specialized vs too primitive) • Whether or not provide feedback? • Is this feedback?
  4. Mapping Tradeoffs • Short-term memory (5 slots, each item decays

    with a half-life of 1.5s) • Information vs time (confusion vs completeness) • Users do not read • First and second order issues (for whom?) PS. Separate interface from the system
  5. Items to be considered: • Usability requirements Usually related with

    multiprocessing (real-time) • Standards, UI design (structure): feedback, performance, high-level and low-level details, • Affect and human (subjective) factors: color, pictures, etc.
  6. UI Testing • 50% code is UI • 50% development

    time is IU development time. • What about testing? • How to test a GUI ?
  7. UI Testing • The Robot class in the Java AWT

    package is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. • The primary purpose of Robot is to facilitate automated testing of Java platform implementations.
  8. UI Testing • Robot robot = new Robot(); • robot.delay(4000);

    • robot.mouseMove(40, 130); • // left click robot.mousePress(InputEvent.BUTTON1_MASK); robot.delay(200); robot.mouseRelease(InputEvent.BUTTON1_MASK); robot.delay(200);
  9. UI Testing • // type robot.delay(40); robot.keyPress(i); // robot.keyPress(KeyEvent.VK_SPACE); robot.keyRelease(i);

    • // run String command = "notepad.exe"; Runtime run = Runtime.getRuntime(); run.exec(command);
  10. Homework 1. Read the following papers: • Cognitive Engineering –

    D. Norman • Why UI are Hard to Implement – B. Myers 2. Learn to use Java Robot class
  11. SER594 – Human Computer Interaction Javier Gonzalez-Sanchez [email protected] Spring 2019

    Disclaimer. These slides can only be used as study material for the SER594 course at ASU. They cannot be distributed or used for another purpose.