7
#8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder of plot types were perceived to be real- time thumbnails of the actual plot). Testing early and often requires that testing time be part of the development schedule. Informational goal: wide variety of tests uncover trouble spots. Social goal: educate developers to the role of usability testing (not developer evaluation) Testing protocols: Implementation stage—before development test mockup (Fork); during development build prototypes; after development to improve documentation, prepare for future improvements.

#8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

Embed Size (px)

Citation preview

Page 1: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

#8: Try it Out on Users, Then Fix It!• Users bring a different context to the situation than do designers

(thumbnail plot images provided as a reminder of plot types were perceived to be real-time thumbnails of the actual plot).

• Testing early and often requires that testing time be part of the development schedule.– Informational goal: wide variety of tests uncover trouble spots.– Social goal: educate developers to the role of usability testing (not

developer evaluation)

• Testing protocols:– Implementation stage—before development test mockup (Fork); during

development build prototypes; after development to improve documentation, prepare for future improvements.

Page 2: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

Usability Testing (con’t)• Formality of testing:

– Informal—user interviews, user observation (video taped, qualitative evaluation)

– Quasi-formal—users perform predetermined tasks rather than explore on their own or perform their normal work and tester record errors and measure time.

– Formal—highly prescribed tests on sets of testers with control group and treatment groups. Often sequence of atomic tasks that provide quantities of data for statistical analysis. Often instrumented software collects measurements and it is the data rather than the user opinions that are analyzed. Usually conducted by teams of specialized researchers, often on contract, that include psychologists and behavioral scientists that specialize in GUI data collection (seldom programmers)

• Bibliography (Shneiderman only 1980’s book in list)

Page 3: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

Bloopers Presentations11-11:30am

• Mar 5-2.1&2.2: Leslie Prepare PowerPoint slides• Mar 7-2.3: Davidson that state and describe• Mar 9-2.4&2.5: Davis blooper category, explain• Mar 12-3.1: Rogers the reasons the bloopers• Mar 14-3.2: Spillers occur, and identify checks• Mar 16-3.3: Davidson that designers can use• Mar 19-3.4: Rogers prevent or correct the • Mar 21-4.1: Leslie bloopers in this category.• Mar 23-4.2&4.3: Spillers• Spring Break• April 2-5.1: Davis

Page 4: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

S30: Using Images

• Support for handling images is spread across many classes: java.awt.Image is the object that represents images. Image objects are manipulated ay g.drawImage(), Toolkit.getImage(), Applet.getImage(), & MediaTracker. – Getting an image loaded from a server takes a while. The

getImage() methods run on a separate thread and return to the GUI thread after they are started. These threads don’t actually transfer data until the screen area where they are to be displayed is painted.

– Drawing images is just like drawing text except that it is also run on a separate thread so the GUI can go on.

Page 5: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

Loading Images• Toolkit.getImage(url or filename)• Applet.getImage(url or url, name) (use in init()

method) url returned by getCodeBase() or getDocumentBase() would be combined with name.

• Instantiate a MediaTracker instance and point it at the image(s) you want to track and it will provide status information. MT.checkID() and MT.checkAll() are setter methods to begin the load operation. MT.waitForID() and waitForAll() pause the GUI until the load is complete

Page 6: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

Building Images from Scratch

• Image img = createImage(new MemoryImageSource(width,height, pixelArray, startPixel, w)

Page 7: #8: Try it Out on Users, Then Fix It! Users bring a different context to the situation than do designers (thumbnail plot images provided as a reminder

Displaying Images

• G.drawImage(image,x,y,observer)• G.drawImage(image,x,y,newWidth,newHeight,

observer)– Given that the image is being displayed on a child of

Component and that Component implements the Observer Interface, the child is notified whenever the image is loaded and this causes the child’s repaint() to be invoked.

– drawImage does not draw complete images, so after a call the program may need to wait.

• ImageDisplayer