Homework 4

(Extreme) Programming in the User Interface


Software Systems

Spring Semester 2001


  1. To think more about direct manipulation.
  2. To understand better the idea of Extreme Programming.
  3. To understand better the principles of good interface design.


Work in teams as assigned below. Complete the following tasks as a team.

We spent several exercises (#26, #27, #29) on how the way we program computers could change through use of a different metaphor. Shneiderman devotes Section 6.5 in Designing the User Interface to the possibility of programming by direct manipulation.

You can also support programmers by supporting the way they build software. In Exercise 30, we learned a bit about Extreme Programming (XP), a different kind of software development methodology. XP looks to be quite easy to do, but in fact it requires a high degree of discipline to do right. Any time something requires a high degree of discipline, we might consider ways that the computer can help us.

Design a direct manipulation tool to support a team of programmers who are doing Extreme Programming.

Use your creativity in designing the tool. Your system may incorporate any techniques or ideas that you have encountered in Designing the User Interface. Your system should address both programming and life-cycle support.

The web pages on XP are sometimes hard to digest. So: Review the journal article passed out at the end of Session 20 that discusses XP in a more traditional way (if with fewer details). You might also look at a couple of articles on the web -- Why XP? and sdrawkcaB gnikroW -- courtesy of ObjectMentor's XP site.

Designs that contain too many ideas can begin to seem disorganized or ad hoc. So: Be sure that you describe which parts of your tool support which parts of the process, and explain why you used the features you the way you did.

You do not have to write programs to implement your tool. But designs with no implementation run the danger of being unrealistic or impossible to build. So: Be sure that you describe how you might implement your tool, with enoygh programming ideas that you could convince a reasonable reader that a competent, experienced programmer could implement your design.

The content of your paper is its most important feature, but style of presentation conveys a great deal of information to your reader. So: Write a paper that conforms to contemporary professional standards for layout, organization, style, and grammar.


Submit at or before 9:30 AM on Tuesday, April 3 three copies of your paper. Two copies must be "unsigned". You may deliver the paper to me directly or to the department office in 219 Wright Hall. I prefer submission at class time.

Team Assignments

Each pair of partners is on a line:

Scott Drilling [DRILLIS5204@uni.edu]     Joshua Summers [SUMMERJ5397@uni.edu]
Daniel Woldekirkos [WOLDEKD9356@uni.edu] Mike Janssen [JANSSEM8312@uni.edu]
Nathan Klostermann [KLOSTEN2962@uni.edu] Chris Turner [TURNERJ4957@uni.edu]
James Brito [BRITOJ2136@uni.edu]         Kwong Choo [CHOOK1635@uni.edu]
Troy Pfiffner [PFIFFNT5079@uni.edu]      Lisa Swanson [SWANSOL6476@uni.edu]
Drew Jones [JONESA8597@uni.edu]          J.J. Haag [HAAGJ2799@uni.edu]
Adam Petrie [PETRIEA0099@uni.edu]        Jennifer Hebl [HEBLJ3755@uni.edu]
Derek Lawless [LAWLESD1386@uni.edu]      Eric Potratz [POTRATE6152@uni.edu]
Chris Johnson [JOHNSOC8535@uni.edu]      Curtis Driscoll [DRISCOC3075@uni.edu]
Edward Fordjour [FORDJOE4299@uni.edu]    Jennifer Sampson [SAMPSOJ0055@uni.edu]
Nicholas Kledis [KLEDISN9325@uni.edu]    Joe Bain [BAINJ5436@uni.edu]
Abigail Peterson [PETERSA2125@uni.edu]   Chad Mormann [MORMANC7474@uni.edu]
Derek Weatherman [WEATHED2602@uni.edu]   Mark Mcconnell [MCCONNM1201@uni.edu]
John Huss [HUSSJ2604@uni.edu]            Shivangi Kothari [KOTHARS9043@uni.edu]
Travis Davis [DAVIST0021@uni.edu]        David Schmudde [SCHMUDD7272@uni.edu]

If your partner refuses to work with you or poses some other major problem to the completion of your project, let me know as soon as possible by e-mail. The general policy for this assignment is: You must work with your assigned partners; papers from individuals will not accepted. Only exceptions approved by me well in advance will result in relaxing the policy.

Eugene Wallingford ==== wallingf@cs.uni.edu ==== March 22, 2001