Unformatted text preview:

6.831 User Interface Design & Implementation Fall 2005 Quiz 1 This quiz is closed book, closed notes. You have 80 minutes to complete it. Your name: ___________________________________________________ 1. (4 points) Suppose you’re building an interface for air traffic controllers, who direct airplane traffic in flight. Which dimensions of usability are very important, and which are less important, and why? Important: errors (people could die!), efficiency Less important: memorability (controllers use it every day), learnability (lots of training), satisfaction 2. (3 points) What stages of the waterfall model typically involve users? What’s wrong with this? First stage (requirements) and last stage (acceptance testing or release). If you discover that you made a mistake in requirements or design, you’ve done a lot of work (written a lot of code) that you might have to throw away. 3. (4 points) What’s the difference between the spiral model and just running a waterfall model iteratively? The initial iterations of the spiral model use cheap prototypes and evaluation. Only later iterations use full-blown implementations, like the waterfall model does.4. (3 points) List at least two cheap prototypes made in the development of the Olympic Message System. scenarios user manual cardboard kiosk Wizard of Oz prototype (with a human reading the system’s lines) 5. (4 points) When you’re observing users for task analysis, why is it particularly important to ask why the user is doing each task? To extract the user’s goal, because there may be a better design that achieves that goal than the procedure the user is currently following. 6. (4 points) In the MVC pattern, list the main responsibility of the model, view, and controller. model: backend application state view: output controller: input 7. (4 points) Explain how the view hierarchy (also called component hierarchy) affects event dispatch and event propagation. An event is dispatched to the deepest component in the hierarchy that contains the mouse pointer (or has mouse capture, or has the keyboard focus, in the case of key events). This dispatch target is found by a top-down scan over the component hierarchy. If two siblings both contain the mouse pointer, the sibling with higher z-order wins. If the original target component chooses not to handle the event, the event propagates upward through the hierarchy – first to its parent, then the parent’s parent, and so on, until either some component handles the event or it falls off the root, ignored.8. (4 points) In the observer pattern, why would you want to make a copy of the list of observers every time a listener is added or removed? In case the list of listeners is currently being iterated – which would be true if the add or remove was called in the context of an event handler for the same event. Most iterators don’t allow the list to be modified while the iterator is in use. 9. (3 points) User interfaces don’t need to have zero response time to appear instantaneous. What is the necessary response time, and what mental phenomenon is responsible? About 100 ms, because of perceptual fusion. 10. (3 points) State Fitts’s Law. The time T to point at a target of size S at a distance D from the mouse (or finger) is given by T=a+log(D/S). 11. (3 points) What is the most common kind of color-blindness, and how common is it? Red-green color-blindness, which occurs in 8% of males and 0.4% of females. 12. (4 points) Alyssa Hacker is trying to decide between using the component model and the stroke model for output handling. How does this decision affect input handling? Components can have event listeners attached to them, and the component hierarchy automatically handles event dispatch and propagation. Strokes require you to do the hit-testing (event dispatch) yourself.13. Louis Reasoner implements his own scrollbar, which looks exactly like a normal scrollbar, but he neglects to use mouse capture when he’s writing the mouse event handling. A. (3 points) What will this mean for the user of the scrollbar? If the user starts dragging the scrollbar thumb, but then the mouse pointer exits the scrollbar area, the thumb will stop moving in response to the mouse. The user must keep the mouse inside the scrollbar to drag the thumb. B. (3 points) How much slower will it be to use Louis’s scrollbar than a scrollbar implemented properly? (Give an analytical relationship, not an exact number.) Explain. Without mouse capture, moving the scrollbar thumb to a particular spot becomes a steering task, where the user must keep their mouse constrained to a tunnel. So it’s governed by the linear relationship T=a+b(D/S), where S in this case is the width of the scrollbar. With mouse capture, moving the thumb is a Fitts’s Law task, so it’s governed by a logarithmic relationship T=a+blog(D/S). (The task still involves error correction if the user is trying to position the thumb to a particular place, but it’s not tiny cycles of error correction, just one big cycle.) So there’s an exponential slowdown, at least in terms of D, the distance scrolled. C. (3 points) Ben Bitdiddle says, “If you always put Louis’s scrollbar at the edge of the screen, it won’t be any slower.” What does he mean? Because the edge of the screen stops the mouse pointer but not the user’s hand, it makes the steering tunnel infinite width, changing the task back to an unconstrained pointing task. 14. (3 points) Which of the following events are raw input events (not translated events)? _X__ mouse pressed _X__ mouse released ____ mouse clicked _X__ mouse moved ____ mouse dragged15. Louis Reasoner is writing an interface that draws checkers on a checkerboard. He’s decided to represent the board itself as a component, a checkerboard square as a child component of the board, and a checker as a child component of a square. A. (3 points) Louis notices that when he drags a checker outside its square, it disappears. Explain why. The checker’s output is clipped by its parent square’s bounding box. B. (3 points) Louis claims, “My representation should allow minimal repainting when a checker moves by itself” (i.e., using board.move(), not mouse dragging). Assuming he’s right, and his design only paints the minimum number of components necessary, which components will have their


View Full Document

MIT 6 831 - Quiz 1 Answers

Documents in this Course
Output

Output

15 pages

Quiz 2

Quiz 2

10 pages

Quiz 2

Quiz 2

8 pages

Input

Input

9 pages

Load more
Download Quiz 1 Answers
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Quiz 1 Answers and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Quiz 1 Answers 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?