Reflective Software Engineering

Project 5 Feedback

Last modified: Tue Sep 14 09:50:19 HST 1999

As most of you know from your interview, there were a variety of GUI-related problems in your P5 submission. This is to be expected; it is a rare GUI interface that is not redesigned several times over its lifetime.

  1. Virtually every system I reviewed suffered from what I call the inefficient screen real estate management problem. My first test question involved a moderately large question, a moderately large first answer, and 10 or so other relatively short answers. In general, a well designed GUI should be able to display the complete question and all answers in a reasonable amount of screen real estate, and should introduce scroll bars as required if the window is resized. Instead, the systems I reviewed suffered from one or more of the following problems:
    1. Not all of the question could be displayed (or an excessive amount of real estate was required to display it.)
    2. Not all of the answers could be displayed (or an excessive amount of real estate was required to display them).
    3. After resizing the window so that all of the questions and answers are visible, large "blank" wasted areas appeared in the GUI.
    4. Regardless of how big the window was, scrolling was required to view the question and/or answers.
    5. Resizing the window in some cases had no effect upon the layout. In other words, absolute positioning was used.

  2. Some buttons were the entire width of the screen.

  3. Some GUI elements (such as the "next" button) disappeared unless the window was resized to be quite large.

  4. The question text area was in some cases out of alignment with the answer text areas. This gave the GUI an unbalanced, unprofessional look.

  5. The question and answer fields were editable.

  6. The question and answer fields were read-only, but the text was grey and not very readable.

  7. Some GUIs had a checkbox on a different line than its corresponding answer, which wasted space.

  8. Some GUIs did not have an indication of which area was the question and which area was the answer.

  9. The "totals" portion of the GUI naturally lends itself to the use of a JTable component, but this component was not used.

  10. Some scrollbars covered the field contents when the window was resized, with the result that the text inside could not be seen.


Philip Johnson