Name: Mark Humphrey Class: CS190 Date: 1/29/2003 Asgn: Requirements Document === Project Title === E-Study === Problem Statement === While the world gets more electronic-based with every day, students still typically lug around massive textbooks when they could easily browse some sort of e-book. This is becoming more and more reasonable with the emergence of wireless connectivity and the dropping prices of laptops and tablet pcs. One feature which students currently lack, however, is the ability to effectively mark up (take notes in, highlight) their eletronic books/lectures. This is a neccessity to most students and creates a reliance on the traditional "textbook". === Project Overview === The general idea behind this project is to create a electronic study environment in which students can mark up books/lectures/presentations in several different ways and then provide an organized interface at which students can get at these notes as well as additional study tools to aid in the study process. This involves a convenient gui which provides the students with easy navigation through their notes and access to all the additional features this project may have. These features include a task master, designed to keep students focused, and possible quizing and notecard tools. User controls would be the mouse and keyboard, but the ideal situation of having a tablet pc with a "pen" would be kept in mind. === Similar Exisiting Products === Several companies have e-book readers, most which simply allow the reading of e-books. Adobe's "ebook Reader" actually allows for highlighting of text. However, most of these products allow limited interaction with the text and are primarily designed for "ebooks" as opposed to the variety of different types of input that this program can expect. An example is Microsoft's "PowerPoint" which allows one to write with the mouse on a presentation, but does not save the marks. === Target Users === Everyone who wishes that they could do more than just read text on a computer would find this project useful. It is ideally suited for students, probably applying to high school and college students the most as the integrated study environment requires a certain level of sophistication. The variety of options which are provided should suit both the ultra-studious individual and casual studier. Students at Brown University would provide a good pool of users, in particular those who major in the humanities, although this project applies to science concentrators to a large degree as well. === Basic Features === - Ability to import and view some file format, probably pdf - Simple organization and compilation of all files > drag and drop organizational hierarchy > easy point and click navigation - Intuitive graphical user interface > no more than one level of menus > designed with the ideal situtation of using a "pen" kept in mind - Several types of marking > Highlighting (selected with mouse) > Freehand (drawn with mouse or pen) > Sticky Note (textbox with typed text) - Linking/Bookmarking > Ability to jump through all the different type of markings > Revelvant sets of notes can be linked together > Arbitrary bookmarks can also be set - Task Master > Generates a study schedule given goals and available time > Tracks idle time and gives visual and audio reminders to stay on task > Schedules break time to optimize studying === Optional Features === - Voice notes > Can be linked to a particular section of text - Index card factory > Compiles index cards from existing notes > Produces a printable format - Quizzes > Can tabulate primtive questions based on notes > Keeps track of students results on quizzes > Analyzes strengths/weakness and suggests which sections to study === Testing Criteria === Once the basic skeleton of a gui is constructed, each element of the project is fairly independent and can be tested seperately. The only difficulty could be that most pieces are dependent in some way on the gui, so it is difficult to test in isolation from the gui. === Hardware/Software Requirements === This program should be able to be written in c++ on the linux machines which are readily available. Ideally it would be run on windows, but that can be done at a future date.