Copy into your editor, fill in the blanks, and place in directory /pro/web/web/courses/cs190/asgns/1-24/LOGIN2.txt. Replace LOGIN with your CS login. Note the 2 there so that you don't overwrite the first handin! Come up with at least 3 potential projects. ================================================================ Name: Colin Hartnett ================================================================ Questions/comments about the syllabus or project handout: ================================================================ Project Title 1: cjc: A type manager for Linux Brief Description A type management program, much like Adobe Type Manager or Extensis Suitcase, which would allow users in Linux to use fonts of various formats, possibly including TrueType, PostScript, OpenType, TeX, and native X11 fonts. It would allow users to group fonts into sets and to selectively enable and disable sets and single fonts. Identify Local Users: Anyone who uses a decent amount of fonts on a Linux system. Assign a 1-5 score for these criteria Useful to others: 4 Has specific users: 4 Can be scaled up to PC product: 4 Divisible: 3 In C++ on Suns: 5 Overall: 4 Pros: Useful, hasn't really been well-done as of yet. Cons: Requires learning about different file formats. Could run into unavoidable walls with file support. ================================================================ Project Title 2: xide: An integrated development environment for XML Brief Description An IDE for developing XML documents. Would include the following features: * multiple documents open * project management (linking data, schema, and transformation files) * syntax highlighting * smart indenting (and deindenting) * useful shortcut keys, such as a ket for tag completion * user-definable macros * execute and preview XSLT transformations * validate documents against DTD, XML Schema, or RELAX files * graphic representation of tree structure of XML document * command-line XPath execution to easily test for correctness Identify Local Users: Developers of XML documents looking for a robust development environment. Assign a 1-5 score for these criteria Useful to others: 4 Has specific users: 5 Can be scaled up to PC product: 4 Divisible: 5 In C++ on Suns: 5 Overall: 4.5 Pros: Can be made large enough to easily divide amongst team members. XML is an up-and-coming technology, so there are not yet industry- standard development programs. XML is well-supported and has many standards. There are code libraries out there that could be of use. Cons: Many tools already exist to do certain parts (including parsing, XSLT transformation, XPath, etc.) ================================================================ Project Title 3: filmlist Brief Description A program that allows a user to keep track of the films they see. In its most basic form, it'd store: * film title * date seen * venue seen (theater, DVD, TV channel, etc.) * rating * review On top of that, it could also include the following features: * connectivity to IMDb for extended film information * uploading to an Internet site to share list with the World and generate statistics, such as average rating * Allow creation of various themed top-X lists (top 10 movies of 2003, top 10 westerns, worst movies of all-time, etc.) http://www.dvdprofiler.com/ is a good example of a program like this to catalog DVD collections. Identify Local Users: People who enjoy movies. Assign a 1-5 score for these criteria Useful to others: 3 Has specific users: 3 Can be scaled up to PC product: 3 Divisible: 3 In C++ on Suns: 2 Overall: 3 Pros: Generally useful to archive film data and reflect on films seen. Would be a good source for the average Joe's movie ratings. Cons: Better as an Internet application; not really suited for a standalone C++ app. ================================================================ Project Title 4: crip: A CD ripper optimized for large music collections Brief Description A CD ripper, plus. This would make it easy to rip volumes of audio CDs. It could also include a catalog browser feature, and if we really want to go nuts, an integrated audio player. These are the features I find lacking in current CD-ripping software: * easy ability to catalog files based on whatever criteria user prefers (genre, alphabetical by artist, etc.) * ability to browse entire music collection and place new files in proper place * ability to rip certain tracks into one file and create a CUE file (or or another type of skip table) with the original track breaks preserved. (example: I have a CD with Beethoven's 1st and 3rd symphonys. 1 is on tracks 1-4, 3 is on tracks 5-9. I want to create two files from this CD - one for each symphony - but I want to preserve the movement breaks) It would also have other standard features, like connectivity to FreeDB and/or CDDB to retreive extended CD information, file tagging abilities, integration with compression codecs, etc. Identify Local Users: People who never want to touch another CD, and would prefer to have a music server. Assign a 1-5 score for these criteria Useful to others: 4 Has specific users: 4 Can be scaled up to PC product: 5 Divisible: 4 In C++ on Suns: 5 Overall: 4.5 Pros: Has many components. Cons: Interfacing with CD-ROM drives. ================================================================ Project Title 5: accordion: Archival software for students Brief Description Would allow students to catalog and archive any digital material (research papers, lab reports, digital art projects, source code) associated with various courses. Archive would be hierarchal and searchable. It would also be easily transportable between machines so students can keep the archive permanently. Revisions would be preserved in case students decide they need to revert to an older version. Identify Local Users: Students. Assign a 1-5 score for these criteria Useful to others: 5 Has specific users: 5 Can be scaled up to PC product: 5 Divisible: 4 In C++ on Suns: 4 Overall: 4.5 Pros: Useful to all students. Would allow students a better way to keep course material permanently (I can't count how much stuff I've lost in the My Documents abyss). Cons: Very database-heavy, could be implemented on top of existing database engines (or is that a pro?). ================================================================