CS190 - Project Requirements Greg Getchell Overview: ------------ With multimedia becoming ubiquitous, with images and video stored digitally, it becomes necessary to manage and organize all this data. From the home user to large corporations such as CNN, clearly, a database that specializes in storage of multimedia, whether it be images, video or sound, is needed. This project would be a multimedia database and digital multimedia album. Specifically, it should store multiple image, video and possibly sound formats, categorized by different fields and attributes, which could then be sorted, retrieved and organized in a nice UI. These fields should be fully customizable by the user, and should include the ability to link pictures and sounds to each other, so that related images and videos can be retrieved easily. Users could easily retrieve an image, video or sound that they stored by searching for any of its attributes. Additionally, users could organize photos and videos into a digital photo/video album. This album could be saved and loaded. When viewed, the album should have a nice, "photo-albummy" look, with multiple pictures laid out on nice pages, for example. It should be fully customizable and allow the user to place pictures and videos wherever they please on any page. Additionally, users can cut, edit, and paste pictures to make collages, if they please. More advanced editing features should be added as time permits (such as video editing, retouching, etc.). Photo albums can then be displayed on the screen, as mentioned above, but also as a slide show or as a screen saver. Features for these two display methods should be added as time allows. Security in the databases is not a high priority, but if time allows, is a nice feature. Another use of this database would be for a business that needs to store a lot of multimedia such as CNN or a newspaper. To make this project useful for such a business, the database must be split into a client and server, with the server storing the images and video, and retrieval of the multimedia done from the clients. It is conceivable that both the photo-album and the networked database could be incorporated into one project, but that may require more time than available, and combining the two seems an unpractical application. Security would obviously become a much important issue in the networked version. Target Users: ---------------- Users of this product depend on whether the networked version of the database is implemented of the photo-album. Newspapers, television corporations, magazines and anything storing any sort of media would find the networked database beneficial. Home users and nostalgic people would appreciate the photo-album maker, so long as they have a means to scan images in. Features of the database: ----------------------------- Storage of multimedia: Images necessary (the more formats, the better) Video would be nice (probably just mpeg) Sound not a high priority Retrieval of multimedia, including displaying Same list as above Storage/hierarchy of the database: Hierarchy is a directory of folders and subfolders Each folder has fields and attributes that the subfolder will inherit Multimedia can be stored in any folder, and will have the attributes of that folder and its parent folder(s) Attributes/fields Fully customizable by the user Date, time, string, character, boolean, etc fields available Link field also available, which allows the user to specify other multimedia that are related to this image/video (for easy navigation through database) Fields can be changed, added and removed at any time UI Similar to explorer: left side displays the folders, right side displays multimedia in selected folder Right side probably should have the fields as the columns and each multimedia item in the row Column-fields shown should be fully customizable by the user. Clicking on a column will sort the items by that column field Dbl-clicking on an item will display the image/video/sound and all its fields Fields can be edited from the navigator screen or the dbl-clicking display screen A possible feature is a "preview" of each image in each row, a small, shrunk picture of the full image Clicking on a link field of an item should bring the user to the respective link Sorting A user can sort any folder or subfolder by any field or fields. A user can also choose not to display items that have certain attributes in their field(s) Photo-album: Should be savable, loadable Should consist of unlimited amount of "pages," which can contain multiple images and videos User can place any picture on a page wherever it pleases him/her User can do basic image editing (cutting, pasting, copying) to any image and place them on a page The effect is a collage More advanced image editing added as time permits Pages should look "nice," one of many nice backgrounds provided by the program User-built backgrounds is an optional feature Image album could be screen displayed (where the user clicks on "next/prev page" buttons Image album could be displayed in a slide show (optional features allow for time delays, transitions, etc.) Image album could be displayed as a screen save (optional features here too) Networked database: Multiple clients can work from one server Security an issue, must be secure, with passwords and access-levels Clients can choose multiple items and/or folders to download from the server Chosen by clicking on explorer screen or by choosing field values Clients can also upload to server The program should do everything above, unless otherwise noted as optional. The exception is that either the features under Photo-album are implemented or the features under Networked database. The UI should be easy to use and aesthetically pleasing, which will be determined by some test users. The program should be run on UNIX Solaris and within the scope of 8-10 CS 190 students who just might be 2nd-semester seniors.