CS338 Midterm
Modeling: Describe the Conceptual, Semantic, Syntactic, and Lexical models of a user interface.
1.) Conceptual - Describes a set of objects, action, and relationships, providing a mental model for the user. 2.) Semantic - Defines meaning and desired functions for each action in the conceptual design, including parameters, feedback, and potential errors. 3.) Syntactic - Defines the system's syntax with state diagrams. 4.) Lexical - Defines the low level tokens for each user action in the syntactic level design.
Input: What are some issues recognizing hand-written input?
1.) Individuals write in different ways. 2.) Some people print, others write cursive. 3.) Dotting i's, crossing t's, etc.
Beyond WIMP: What are the four themes of reality based interaction?
1.) Naive physics - Common sense knowledge about physical world 2.) Body awareness - Sense of your own physical body 3.) Environmental awareness - Sense of your surroundings 4.) Social awareness - Sense of others in your environment
Prototyping: What are some methods of low-fidelity prototyping?
1.) Paper sketches 2.) Story boards 3.) Electronic Drawings 4.) Wizard of Oz
Evaluation: Name and describe the steps of Heuristic Evaluation.
1.) Pre-Evaluation Training - Provide background knowledge and information 2.) Evaluation - Evaluate and aggregate results 3.) Severity Rating - Determine how severe issues are 4.) Debriefing - Discuss outcomes with designers
Prototyping: What are the benefits of prototyping?
1.) To get feedback on our design faster. 2.) To experiment with alternative designs. 3.) To fix problems before code is written. 4.) To keep the design centered on the user.
Introduction: What are some reasons that GUI's are hard to build?
1.) UI's are inherently concurrent 2.) Must deal with abort, undo, and redo anytime 3.) Must be robust as users do odd things 4.) Must be reactive instead of proactive 5.) Can be hard to modularize 6.) Require exhaustive testing
Evaluation: Name the 10 Heuristics for UI's.
1.) Visibility of system status 2.) Match between system and real world 3.) User control and freedom 4.) Consistency and standards 5.) Error prevention 6.) Recognition rather than recall 7.) Flexibility and efficiency of use 8.) Aesthetic and minimalist design 9.) Help users recognize, diagnose, and recover from errors 10.) Help and documentation
Layout: What are some problems with absolute positioning?
1.) When a window expands, components stay put 2.) Components are designed for a specific size, look and feel, and font or language
Handling Events: How is a KeyListener different than an ActionListener?
A KeyListener has three methods: keyPressed, keyReleased, and KeyTyped. ActionListeners only have one method, actionPerformed.
Handling Events: Describe ActionEvents and ActionListeners and how they are used.
ActionEvents are some sort of event, such as a button click. An ActionListener listens for an ActionEvent and then performs some defined action. Typically, you would implement an ActionListener and the actionPerformed method, then register the listener to a component, such as a button.
Handling Events: Compare and contrast adapters and interfaces.
Adapters: Usually less code, less verbose, and cleaner. Interfaces: Forces you to think about each method and classes can implement many interfaces.
Input: What are some advantages and disadvantages of pen input?
Advantages: 1.) The device is familiar to the user. 2.) User can write in a familiar language. Disadvantages: 1.) Very hard to interpret by the computer.
Input: What are some advantages and disadvantages of speech input?
Advantages: 1.) Very natural 2.) Hands free Disadvantages: 1.) Some people hate talking 2.) Problems recognizing the spoken words by the computer 3.) Variety of different languages and accents
Input: Why is use of a mouse so effective?
Due to Direct Manipulation: 1.) Visual representation of the manipulated objects. 2.) Physical actions instead of text entry. 3.) Immediately visible impact of the operation.
Introduction: Compare and contrast what humans and machines are good at.
Humans are good at: 1.) Perceiving patterns of light or sound 2.) Improvising 3.) Storing and recalling long term information 4.) Inductive reasoning 5.) Exercising judgment Machines are good at: 1.) Responding quickly to signals 2.) Applying force smoothly and precisely 3.) Storing information briefly and then deleting it 4.) Reasoning deductively 5.) Repetitive, routine tasks
Modeling: What does GOMS stand for and how is it used?
G - Goals of the user O - Operators available to accomplish the goals M - Methods (sequences of operators) to accomplish the goals S - Selection rules to choose between method if necessary GOMS is used to model users.
Input: Explain Hidden Markov Models.
Hidden Markov Models are powerful probabilistic input models. Input is vectorized as strokes and examined to predict the actual letter using probabilities. Can also be used to predict the next letter in words based on the previous letter.
Prototyping: Compare and contrast high-fidelity and low-fidelity prototypes.
High-Fidelity Prototype: Looks like the final product and is normally developed with a program. These normally take longer and can become too detailed. Low-Fidelity Prototype: A simple sketch of the user interface. Usually a good first step before beginning to implement.
Introduction: Compare and contrast implementation models and mental models.
Implementation Models: Describes how we, as programmers, think about a system. Mental Models: Describes how the user thinks about the system.
Architecture: Describe the MVC architecture.
Model - Manages the data, logic, and rules of the application. Also updates the view as necessary. View - What the user actually sees. A visual representation of the model. Controller - Takes input from the user and manipulates the model.
Input: Compare and contrast off-line vs on-line recognition.
Off-line recognition: Examines the static output or the end result of handwriting. On-line recognition: Examines the dynamic movement or strokes of handwriting.
Introduction: What are personas and how are they created?
Personas are used to represent a class of users of some application or system. They are created through: 1.) User interviews 2.) Work with subject-matter experts 3.) Market research
Input: What is Fitts' Law?
Predicts that the time required to rapidly move to a target area is a function of the ratio between the distance to the target and the width of the target. This law is used to model the act of pointing.
Evaluation: What are the pros and cons of Heuristic Evaluation?
Pros: Generally fast and doesn't require interpreting of user actions. Cons: User testing can be far more accurate
Modeling: Name some pros and cons of User/GOMS Modeling.
Pros: User centered, can compare interfaces and predict times Cons: Requires some skill and training in modeling, some aspects may be intuitive without model, and may not be practical for complex interfaces.
Evaluation: Name some pros and cons of Empirical Testing.
Pros: User is very involved, can yield objective measures Cons: Need testers to be experts and knowledgeable, can be expensive, and requires a lot of time
Evaluation: Name some pros and cons of Usability Walkthroughs.
Pros: Users are involved, don't need a full prototype Cons: Time consuming, need to coordinate with a lot of people
Prototyping: What is a SILK prototype?
Sketching Interfaces Like Krazy. A designer rapidly sketches ideas using an electronic program that can sometimes recognize and associate components, automatically transforming the components into a "finished" GUI.
Introduction: What does the "Human Side" of HCI encompass?
Things like cognitive psychology, ergonomics, sociology, and linguistics. It also takes into account human factors like visual attention and processes, motor processes, and cognitive processes.
Introduction: What does the "Machine Side" of HCI encompass?
Things like computer science, engineering, graphics, operating systems, and programming.
WIMP: What is WIMP?
WIMP stands for Windows, Icon, Menu, Pointer. It represents how computers and interfaces are generally thought of.
Architecture: What is the Gulf of Execution?
When the user has difficulty translating their desired changes into an expression that the controller understands.
Architecture: What is the Gulf of Evaluation?
When the user has trouble interpreting the presentation of information and forms an inconsistent mental model.
Evaluation: Describe a Usability Walkthrough.
With a usability walkthrough, you gather a group of users, designers, and human factors experts and present them your interface. You can them explore the interface, get ideas from the audience. It's kind of like a structured, cognitive walkthrough of the interface.
Evaluation: Describe Empirical Testing.
With empirical testing, you gives users the interface and a set of tasks. Then, you collect various measures from the users.