1 / 19

Firefox 6 Architectural Enhancement (Fully Optimized Favourites )

Firefox 6 Architectural Enhancement (Fully Optimized Favourites ). By Fully Optimized eXperience (FOX) James Brereton - 06069736 Katie Tanner - 06060472 Gordon Krull - 06003108 Rob Staalduinen - 06009513 . Presentation Overview. Introduction Enhancement Implementations

ginger
Télécharger la présentation

Firefox 6 Architectural Enhancement (Fully Optimized Favourites )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Firefox 6 Architectural Enhancement (Fully Optimized Favourites) By Fully Optimized eXperience (FOX) James Brereton - 06069736 Katie Tanner - 06060472 Gordon Krull - 06003108 Rob Staalduinen - 06009513

  2. Presentation Overview • Introduction • Enhancement • Implementations • Stakeholders & NFRs • SAAM Analysis • Sequence Diagrams • Testing • Limitations • Lessons Learned & Team Issues • Conclusions

  3. Introduction • Everyone uses bookmarks for quicker access to their favourite pages, but we felt that we could improve upon this • Therefore, our enhancement is a way to give users very fast access to their favourite pages • Will work in conjunction with the current system so that it will not hinder performance when loading other web pages but still allow for faster access

  4. Enhancement • The main goal of our enhancement is to allow for instant access of a user’s favourite pages by ensuring that pre-rendered, cached versions of the page are continuously updated • Implementation of this enhancement requires the addition of modules and function calls in the UI, Gecko and the Data Persistence • The rationale behind this enhancements is the large amount of unused idle time that tends to exist in a user’s web-browsing session • The UI would see the addition of button next to the “awesome bar” presenting the user with a drop down of their favourite pages

  5. Original Conceptual Architecture

  6. Implementation 1 • Proposed Design: • Add Favourites Data Component to Data Persistence which holds pre-parsed data, header files, and address of top favourites • Every X amount of time, Favourites Data makes a request to Necko for the header for one of its top favourites and checks for differences • If different, gets full website data and then sends it to Content Model and replaces header file in Favourites Data • After Content Model has manipulated data, the data is sent to Frame Constructor for final rendering before being send back to Favourites Data for storage

  7. Implementation 1 Conceptual Architecture

  8. Implementation 2 • Proposed Design: • Would also add Favourites Data component to Data Persistence, but only store parsed data and addresses • An Update Module would be added to Gecko, which would store header files and addresses • Update Module would poll Necko for updates to the favourite sites whenever Necko had idle time • As before, compares header files and retrieves data if they differ • Sends to Content Model for rendering, header files are stored in the module and rendered data gets sent to Favourites Data

  9. Implementation 2 architecture

  10. Stakeholders & NFRs

  11. SAAM Analysis: Implementation 1

  12. SAAM Analysis: Implementation 2

  13. Chosen Design • Based on our SAAM Analysis, we have decided to choose Implementation 2 • Deciding factors: • Elimination of impact on browser performance, as this feature should never affect standard browsing • Fewer dependencies between subsystems eases modifiability and integration

  14. Sequence Diagram: Adding a new favourite page

  15. Sequence Diagram: Loading a favourite page

  16. Testing • Subsytems the enhancement would interact with that need to be tested include: • User Interface • Necko • Data Persistence • Tests planned for each subsystem • User Interface- Measure time required to render the page, ensure it’s not hindering performance • Necko- Ensure resource allocation is being handled correctly and not interfering with the retrieval of non-favourite sites • Data Persistence- Make sure cached websites don’t inflate data persistence and hinder standard browsing

  17. Limitations • Limitations: • Impossible to determine the full impact on the system without actually having the time to implement the feature • We have no prior experience developing for a large-scale project such as Firefox

  18. Lessons Learned and Team Issues • Lessons Learned: • Knowledge of concrete architecture made it much easier to determine how our enhancement would affect each component of Firefox as well as how it would affectNFRs • Trade-offs betweenNFRsare unavoidable • Team Issues: • Found it much easier to collaborate on Brain-Storming potential enhancements and implementation details compared to previous deliverable

  19. Conclusions • We chose to implement a ‘Top Favourites”feature to Firefox which allows users to select approx. 5 pages to be continually updated in cache • Stakeholders: end users and developers • Considered 2 alternatives, and based on a SAAM analysis, chose one consisting of adding a Favourites Data component to Data Persistence and an Update Module to Gecko • Overall layered architecture is preserved; no significant changes to the design other than the addition of components

More Related