Chris Pollett > Students >

    ( Print View )


    [Project Blog]

    [CS297 Proposal]

    [Del1- JavaScript file]

    [Del2-Presentation on Web Crawlers-Nutch-PPT]

    [Del2-Implementation of Nutch Crawl]

    [Del3-Code Obfuscation Techniques-PPT]

    [Del4-data:URI scheme]


    [CS298 Proposal]

    [CS298 Report-PDF]

    [CS298 Presentation Slides-PDF]


CS297 Proposal

Bookmarklet Builder for Offline Data Retrieval

Sheetal Naidu (

Advisor: Dr. Chris Pollett


The goal for this project is to develop a tool that can save entire web page applications as bookmarklets. This will enable users to use these applications even when they are not connected to the Internet. The main technology beyond Javascript needed to do this is the data: URI scheme. This enable images, Flash, applets, PDFs, etc. to be directly embedded as base64 encoded text within a web page. This URI scheme is supported by all major browsers other than Internet explorer. Our program will obfuscate the actual resulting JavaScript so these complete applications could potentially be sold without easily being reverse engineered. The application will be made available online, to users who are typically website owners and would like to allow thier users to be able to use the applications offline.


Week 1: Sep.2-8Read book JavaScript : The Definitive Guide
Week 2: Sep.9-15Read book JavaScript : The Definitive Guide and work on Deliverable 1.
Week 3: Sep.16-22Read about web crawlers. Deliverable 1 due.
Week 4: Sep.23-29Work on Deliverable 2
Week 5: Oct.1-6Read about code obfuscation of JavaScript
Week 6: Oct.7-13Work on deliverable 2
Week 7: Oct.14-20Deliverable 2 due
Week 8: Oct.21-27Read book Programming PHP. Work on deliverable 3
Week 9: Oct.28-Nov.3Read book Programming PHP and data:URI scheme
Week 10: Nov.4-10Work on Deliverable 4
Week 11: Nov.11-17Deliverable 3 due. Work on Deliverable 4
Week 12: Nov.18-24Work on Deliverable 4
Week 13: Nov.25-30Deliverable 4 due
Week 14: Dec.2-8Work on CS297 Report
Week 15: Dec.9-15CS297 report due


The full project will be done when CS298 is completed. The following will be done by the end of CS297:

1. Write simple JavaScript to read from HTML file and enhance its appearance.

2. Study and understand how web crawlers browse the World Wide Web. Case study: Nutch. Use Nutch to crawl sample website.

3. Study different code obfuscation techniques and pick a technique to use in our project.

4. Write PHP code to convert web applications with text to the data:URI scheme.

5. CS297 Proposal report


[2004] JavaScript Bible. Danny Goodman with Michael Morrison. Wiley. 2004.

[2006] JavaScript : The Definitive Guide. David Flanagan. O'Reilly. 2006.

[2006] Programming PHP. Rasmus Lerdorf, Kevin Tatroe, and Peter MacIntyre. O'Reilly. 2006.

[2005] RFC 3986. Uniform Resource Identifier (URI): Generic Syntax. Network Working Group. ""

[2007] Official page of Nutch project. ""