April 13, 2006 CSCI E-259 final project proposal Allen Crockett arcrock@fas.harvard.edu ======================================================================================= i. title: Lecture Demo Web 3.0 ii. author: Allen Crockett iii. abstract: Add features to the Harvard Natural Sciences Lecture Demonstrations Web site so that the process of (1) editing certain parts of the site are more transparent for Lecture Demo staff and (2) customizing views of lecture demos and sharing those views are more transparent for users. iv. what: Lecture Demo Web 3.0 will allow users to view the online catalog of science demonstrations offered by the Harvard Lecture Demo team. The site is primarily geared towards Harvard science instructors who want to incorporate live demonstrations into their lesson plans, although instructors and researchers around the world also find the site a useful educational resource. Currently there are about 300 available lecture demos. To better aid lesson planning and collaboration among Harvard instructors and Lecture Demo staff, users of the catalog will be able to log in and collect subsets of the catalog in their account. Views of a user's preferred demos will be presented either as text, HTML, or PDF. Users will be able to view the preferred demos of other users, as well as the demos used in past Harvard science classes. Lecture Demo staff will be able to edit parts of the catalog by logging in and entering data via HTML forms. v. why: Currently, the Lecture Demo Web site (http://www.fas.harvard.edu/~scidemos) provides two views of the demos they offer: a short "white pages" view, and a more detailed "yellow pages" view. The white pages are organized by general subject (i.e. Newtonain Mechanics), and each view of a subject is dynamically generated from a corresponding XML file (i.e. Newtonian Mechanics corresponds to nm.xml). From time to time Lecture Demo staff need to edit the content of the white pages, which means editing the appropriate XML file by hand. Worse, if the HTML structure of the white pages needs adjustment, a staff member has to edit the Perl CGI script that handles the parsing and transforming of the XML (the script does not use XSLT to produce the HTML; rather, the XML is read into a DOM tree and then the script traverses the DOM data structure to format the output). The Lecture Demo Web 3.0 project will make the editing of white pages content more transparent to staff by allowing them to log in to the site and edit the content via HTML forms. Another problem with the current site is its limited ability to create customized user views of demos. A view can only consist of demos from a single subject area at a time, which is inconvenient for instructors whose lesson plans may cross different subject areas. Once a view is created, it is up to the user to save it somehow, either by bookmarking it, printing it, or saving the HTML to their personal computer. Harvard science instructors often do not teach the same course more than once every few years, rotating the different faculty in a department among courses, so it is useful for instructors to research the demos presented to a given class in past offerings. By allowing instructors to customize their own accounts and to view the accounts of other users, Lecture Demo Web 3.0 will become a more practical educational tool. Lastly, I think it deserves mentioning that the current site runs a little slow, perhaps as a result of the Perl CGI scripts mentioned above. This peoject hopes to produce a site with better computational performance. vi. how: Lecture Demo Web 3.0 will consist of Servlets and JSPs running under Tomcat, in a similar manner as the !Wahoo! project. A shopping cart may be used for compiling user demos. XSL-FO will be used to produce PDFs for users. Perhaps some sort of authentication for Harvard instructors will be needed, such as sending an email to the instructor with a hyperlink to an authentication servlet. vii. questions: Aside from concerns about wether this proposed project will be substantial enough, the biggest question I have right now regards how Lecture Demo staff can alter the HTML structure of the "white pages" view of demos. What if the XML needs to be extended? What if they want to be able to upload thumbnail images? Can or should Demo staff edit the XSLT via a Web form?