CS3041 Final Exam – B term -04
Solution set
1. You are creating a web-based data entry form. One of the pieces of information to be collected is a user's date of birth. Describe a method for that date to entered, including error processing. ( 15 points )
There are several options. You could do a simple text entry field (most prone to errors). You could do multiple entry fields, or multiple combo boxes. You could also do full calendar, which is the most natural. Error processing would involve testing for valid dates (ie, Feb 31 or dates in the future). An error message would be something constructive, such as “Sorry, the date you entered (Feb 31) is not recognized. Please enter a date from the calendar.”
2. A user specified a telephone number incorrectly on a data entry screen. Give an example of a good error message and a poor error message. ( 10 points )
Good message: “Sorry, the number you entered isn’t recognized, you entered too few digits. You need to enter a 10 digit number. Please try again”
Bad message: “Invalid number”
3. Give two reasons, as discussed in class or from the text, why we should avoid anthropomorphic designs for user interfaces. ( 10 points)
- anthropomorphic interfaces may distract users, often by being intrusive or not providing enough emotional expression
- anthropomorphic interfaces produce anxiety in some users by making them feel less intelligent than the computer
4. You are writing an order entry system to allow a bookstore to order books from their distributor. The user has the following data on a purchase sheet, in this order:
- title of book
- author
- publisher
- retailer
- ISBN number
The user may want to order multiple copies of the same book, and wants to specify what date they would like the book delivered if they need to provide it as part of a special order. For the following dialog box:
a. Does it optimally support this scenario? Why or why not? (5 points)
It supports the tasks, but not optimally. The entry fields don’t match the date order on the purchase sheet.s
b. Does it conform to the standard dialog box guidelines? Why or why not? (5 points)
No. The buttons aren’t quite in the standard spot (bottom right). Additionally, it had primary windows controls for minimize/maximize. The OK button looks like the default, not the Cancel.
c. What improvements could you make to it? Defend your answer with UI guidelines from the class(5 points)
Any of:
- Right justify the OK and Cancel buttons, putting them in more standard locations
- Line up the text entry fields. Improper alignment is distracting.
- Reorder the text fields to better match the tasks. Work flow should be left to right, top to bottom, and right now it’s fairly random.
- Remove the window min/max controls. Dialog boxes don’t have them.
- Give it a descriptive title. A dialog title should always match it’s task.
- Be consistent in use of colons after labels.
5. Microsoft Office uses adaptive menus. Describe what an adaptive menu is, and give an advantage and a disadvantage to using that menu style. ( 10 points )
An adaptive menu is one that changes the content and ordering of the menu items to based on the selections the user makes while running the application. An advantage is that the most commonly used selections are available quickly. Disadvantages include longer search times for less commonly used items and the user getting confused because selections have moved in the menus (which is generally bad).
6. Describe the problem of specifying a search query in natural language versus in boolean algebra. (10 points)
In natural language, AND is inclusive (“List all users who live in Boston and New York”) while in code it’s used as refinement ( if ( userLivesIn(Boston) & userLivesIn(NewYork)) ). Similarly, in language, OR is exclusive (“Give me this or that”) while in code it signifies inclusion. Thus, a search query needs to have options that make sense to the target user, such as “Match all or” or “Match any of”
7. What is the difference between a menu mnemonic and an accelerator? Who benefits more from them, expert or novice users? ( 10 points)
A mnemonic is a keyboard shortcut that’s specific to a menu, such as Alt-F, Alt-S being “Save” only for a File menu; basically a way of navigating a menu without using a mouse. An accelerator is a one-step shortcut, such as Ctrl-S from anywhere being uniquely “Save”. Expert users tend to benefit more from using them.
8. Answer ANYTWO(and only two) of the following (20 points total):
a. List and describethree differences between an application main window and a dialog box (10 points).
An application main window is one that stays up on the screen for a long time, typically the entire time an app is running. A dialog box is only active for a short time, just to give or get information from a user. Main windows are resizable, dialogs usually are not. Main windows often have menus or toolbars, dialogs should not. Application window title bars typically list the document/data that is being manipulated, while a dialog title bar typically lists the function being performed.
b. List and briefly describe three types of multi-dimensional data visualization techniques (10 points).
- Parallel Coordinates, where each values gets graphed on a parallel Y axis and then the points are connected
- Glyphs, where each value is represented by the magnitude of an arm in a small polygon
- Scatterplots, where different X/Y values are graphed as points, and different groups are compared together
- Dimensional Stacking, where different X/Y values are put into a graph, one against another, X1 within X2, Y1 withinY2, etc.
c. What are the four layers of software that you can apply interface building tools? (10 points)
Windowing system layer, GUI toolkit layer, Application framework layer, Application layser
Extra Credit (2 points): From the 12/9 lecture, what was the title of the instructor’s MS thesis?
N-Land: a Visualization Tool for N-Dimensional Data
“Exploring N-Dimensional Databases” was a presentation, not the actual thesis (partial credit)