CS 329: Assignment #5

Due Friday, October 30, 2015

The following project is to be done in pairs.

Project: GUI Design

Choose a desktop app whose interface you find particularly pleasing and which exemplifies for you Spolsky's three principles of UI design. This choice is quite open-ended, but the interface should have a "reasonable diversity" of interaction modes (drop-down menus, pop-up menus, dialogue boxes, buttons, sliders, etc.).

Clone this interface in Swing (or JavaFX) as best as you are able. This includes resizing features, drag and drop, font choices, colors, icons, dialogue boxes, pop-up menus, and (where it causes an obvious change in the interface such as a dialogue box) keyboard shortcuts.

You should not try to clone the behavior! That would make this far too much work, and it would distract from the central goal of this project: to give you deeper familiarity with Swing (or JavaFX) and to engage with a user interface from a critical point of view. Thus, for example, the "open" option in a word processor might open a file dialogue box, and opening this file would a produce a new window with its own controls and an editable visual presentation of the file's contents. Your version would just open this window, with its controls, but nothing for the file that you've just "opened" (nor should you actually open that file).


Next Friday, each of you will present your interface. Be prepared, in addition to this, to discuss how you think this interface exemplifies Spolsky's three principles, and how/where it violates them.

John H. E. Lasseter