Point counts:
- Add photos and remove photos (10 pts)
- Save and restore (5 pts)
- Single step (10 pts)
- Fixed rate viewing (10 pts)
- Write-up (10 pts)
- Separation of model from view (5 pts)
- Visual layout and aesthetics (25 pts)
- Usability (25 pts)
Implementation of extra features or nice visual effects can compensate for point losses in
other areas.
Features:
- Required for minimal implementation:
- Add photos and remove photos
- Save and restore shows
- Single step and fixed rate viewing
- Optional:
- List of slides in show by name or by thumbnail
- Information about current slide (e.g., dimensions, type, creation data)
- Titles on slides or show
- Full screen mode for showing slides
- Splash screen with initial steps and choices to get user started.
- Closing the current slide show and clearing the workspace.
- Loop mode and time interval options for slide show.
Organization:
- Some people had graphics (e.g., JList) in their model
- Some people had different models for slide show and for adding photos. The result was
that you couldn't show the slides you were working on without saving the show and reloading.
- Some people didn't reformat code so it was badly indented. (Use Source ->Format)
- Some people put their class and source files in same directory. This doesn't work at all for large projects and makes
code hard to manage. Use a bin, src and resource directories in your projects.
- Don't use the default package for your code.
- Don't use odd characters to name your projects. For example, the exclamation point and ampersand are not
portable in filenames.
Visual layout and aesthetics (issues):
- Not all unavailable choices grayed out.
- Often it wasn't clear what the current slide was when a list of slides or thumbnails were given.
- Taking a slide out of a show should probably be called Remove instead of Delete since
the operation does not actually delete the picture from the system.
- Buttons of the same stature (e.g. Add and Remove) should be the same size and co-located.
- Buttons shouldn't fill up a panel and have no borders. They should have spacing around them or they are too
hard to distinguish.
- Layout didn't support meaning. For example, having the list of slides on left and buttons to add and remove slides on the
right of the view.
- Scaling of images should be handled by resizing to fit the window while maintaining aspect ratio. Some people
used scrollbars, which wasn't terrible, but some people just cut off the view.
- Over-use of split panes in layout --- in general, a panel containing just buttons should be in its own split pane.
- Aspect ratio of the viewing area should be 6 x 4 or 5 x 3 to correspond to usual size of slides.
- Size of the application should be set to some reasonable starting value. The application should not come
up taking up the whole screen. You need to decide about resizing.
- Don't display the full path name if you are showing a list of the sides. Pathnames can become very long and
so you won't be able to show them at all. Better to use just the file name and show full path in a tooltip.
- There was some confusion about terminology. For example, the slide show might be referred to as a
"project" in the menu but as a "show" on the buttons.
- Not enough informative tooltips were shown, especially on buttons that just had icons on them.
Usability:
- For adding photos --- set the default directory to the last one accessed, since users will often
add multiple photos from the same place. It was annoying to have the directory reset to
some default place --- especially one not relevant.
- Organizers that didn't have any way of showing what was in the slide show were really hard to use.
- For some projects it wasn't obvious how to get started. Some required that you create a new show before
adding slides, but that wasn't obvious from what came up.
- It was annoying not to be able reorder slides in the show.
- Most people implemented remove as remove the current slide, but sometimes what the current slide was
wasn't obvious.
- Adding a slide should probably add after the current slide rather than always at the end. Some people
added at the beginning which was very unexpected.
- When moving slides up and down, the slide just moved should remain the current slide so that the user
can press the button multiple times. Some people implemented moving up and down, but reset the current slide to the
first slide after each move.
- Some people did not synchronize the current slide on the thumbnail view with the current slide in the view
window, especially adding an image. This is evidence of an underlying flaw in or lack of MVC implementation.
- File types for browsing were not always handled correctly. The slide show needs a different filter and preview then images.
- When providing an edit capability for title or description --- use a text box that contains the current description rather
than starting with an empty box and forcing the user to re-enter.
- Removing from the view, didn't remove from the list.
- Next and Previous should not wrap. Rather you should provide a First and Last.
- Some thought should be given to where slide shows start and where they resume after pause. (Do they
always restart at the beginning? At the current slide?)
Write-up:
- Separate the write-up into paragraphs by topics.
- You should have a subsection with subsection title for each topic specified in the requirements.
- Many people gave the steps involved in the use cases instead of discussing their design.
- Please put your name in the document.