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.
- 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:
- Not all of the question could be displayed (or an excessive amount of
real estate was required to display it.)
- Not all of the answers could be displayed (or an excessive amount of
real estate was required to display them).
- After resizing the window so that all of the questions and answers
are visible, large "blank" wasted areas appeared in the GUI.
- Regardless of how big the window was, scrolling was required to view
the question and/or answers.
- Resizing the window in some cases had no effect upon the layout. In
other words, absolute positioning was used.
- Some buttons were the entire width of the screen.
- Some GUI elements (such as the "next" button) disappeared unless
the window was resized to be quite large.
- The question text area was in some cases out of alignment with the
answer text areas. This gave the GUI an unbalanced, unprofessional look.
- The question and answer fields were editable.
- The question and answer fields were read-only, but the
text was grey and not very readable.
- Some GUIs had a checkbox on a different line than its corresponding
answer, which wasted space.
- Some GUIs did not have an indication of which area was the
question and which area was the answer.
- The "totals" portion of the GUI naturally lends itself to the use
of a JTable component, but this component was not used.
- Some scrollbars covered the field contents
when the window was resized, with the result that
the text inside could not be seen.
Philip Johnson