Chris Pollett >
Students > [Bio] [Deliverable 1 - Hello World Extension] [Deliverable2 - Capture Events] |
CS298 ProposalTotal Recall for AJAX Applications - an extension to FirefoxSmita Periyapatna (smita.periyapatna@gmail.com) Advisor: Dr. Chris Pollett Committee Members: Dr.Araya and Dr.Stamp Description: In AJAX, most of the action takes place inside a single page. When an AJAX page is loaded, new instance of JavaScript objects are created. When you leave that page and go to some other page like say Yahoo, the JavaScript objects are completely wiped out. When you hit the back button, the page actually reloads completely. All the objects are lost and this can be pain. First, it is something that not all programmers are aware of, which can lead to errors, so it is important to know about. Second, users see their state completely wiped out; when they go back to their AJAX application with the back button, they see the original state of their program, not the last place they left it. Third, this can affect performance, since the AJAX application has to re-retrieve everything from the server rather than use its local state. My project aims to solve the above-mentioned problems. I propose to build an extension for Mozilla Firefox browser which extends the functionality of the browser to save the states of an AJAX page.This will allow users to go back to the last place they left, instead of going to the original state of their AJAX application. It would also check if some states were already saved in the history item, if they were, then those states would not be saved. My extension will allow users to set a time interval at which they want to save the states of a page. CS297 Results 1. Created a sample Hello World extension to test the extension functionality. 2. Captured events in a DOM tree and displayed an alert message when the event was captured. 3. Created a Preference system to select between different choices. 4. Cached pages for a single tab browser at different time intervals. Schedule:
Key Deliverables:
1. Deliverable_1: In CS297 the browsing of cached pages was successful using micro back/forward controls implemented for this project.But the browsing of pages with images was not supported.In CS298 I will implement the caching and browsing of pages with images. 2. Deliverable_2: In CS297 the caching of pages and browsing of saved pages was done only for single tab browser. In CS298 it would be done for multiple tabbed browser. 3. Deliverable_3: Implementing caching of pages for pages written in Flash. Final Report and Presentation. Innovations and Challenges
References: [2007] Official page of Mozilla. "http://developer.mozilla.org/en/docs/Building_an_Extension" [2007] Programming Firefox: Building Rich Internet Applications with XUL. Kenneth C. Feldt. O'Reilly. 2007. [2007] JavaScript and DHTML Cookbook: Danny Goodman. O'Reilly. 2007. [2007] Official page of Backbase. "http://bdn.backbase.com/topic/documentation" |