Project
Your project will involve
designing,
implementing and
evaluating a
desktop application called
MovieOrganizer . This application, which allows users to search through a large database of movies, is based on the
FilmFinder application developed at the University of Maryland.
The basic operation that every MovieOrganizer should support is allowing users to query for information on any type of movie, based on different attributes (e.g., actors, director, movie type, year for movie, etc). A sample screenshot of the original FilmFinder application, which supports this basic querying mode, is included below. All MovieOrganizers have to include querying facilities, however, these facilities do not have to be the same as they are in FilmFinder.
In addition to querying, your MovieOrganizer has to allow users to contribute personalized information . Examples of personalized information include allowing a user to add ratings, to maintain a list of movies that s/he would like to see, or to add recommendations from friend. Talking to users and gathering requirements will enable to you decide what features your application will support.
Your MovieOrganizer will also have to manage data. Therefore, you should include a component that handles data transactions, such as adding, deleting, editing and printing records. This is not a database course, however, your application will need data in order to be tested at the end with users (and the markers!).
Fig. 1 All dots representing the various films.
|
Fig. 2 Getting details for one movie.
|
Data Sources
To demonstrate and test your MovieFinder application with users you will need a source of movie data. You are welcome to use the following XML
data file for the project provided courtesy of a generous former COMP3020 student. If you prefer not to use the XML file, you can also get movie information from popular websites such as
imdb.com or
themoviedb.org . As mentioned in the paragraph above, please keep in mind that while your MovieFinder will need to deal with data, this is not a database course, and so efficient data storage, retrieval, etc. should not be your primary focus.
How you will complete this project
You will complete a piece of this project in each assignment. Roughly
speaking, Assignment 1 will involve identifying and documenting user
needs, and identifying usability goals. Assignment 2 will involve
low- and high-fidelity prototyping. Assignment 3 will involve
implementing the system. Assignment 4, if time permits, will involve evaluation. In other
words, by the end of assignment 3, you will need to have something that can
be evaluated with real users.