Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Reza hooshangi ( ). short history  One of the last major challenges for the web is to enable human communication via voice and video: Real Time.
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
Lesson 4: Web Browsing.
Operating System Customization
AVG Internet Security 7.5 Product presentation.
CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies your questions Send an in order.
1 CS 502: Computing Methods for Digital Libraries Lecture 22 Web browsers.
A Security Pattern for a Virtual Private Network Ajoy Kumar and Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca.
Oren Kalinsky Amir Tepper Supervisor: Ittay Eyal.
11.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
James Tam Web Browsers In this section of notes you will learn about the web browsing process, some of the important features of popular browsers and a.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
Maintaining and Updating Windows Server 2008
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Installing software on personal computer
11 CONFIGURE INTERNET EXPLORER Chapter 5. Chapter 5: Configure Internet Explorer2 CHAPTER OVERVIEW AND OBJECTIVES  Configuring Accessibility and Language.
Automated Tracking of Online Service Policies J. Trent Adams 1 Kevin Bauer 2 Asa Hardcastle 3 Dirk Grunwald 2 Douglas Sicker 2 1 The Internet Society 2.
Presented by…. Group 2 1. Programming language 2Introduction.
Data Communications and Networks
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
DONE-10: Adminserver Survival Tips Brian Bowman Product Manager, Data Management Group.
©Kwan Sai Kit, All Rights Reserved Windows Small Business Server 2003 Features.
An Introduction to Software Architecture
Computing on the Cloud Jason Detchevery March 4 th 2009.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Fundamentals of Database Chapter 7 Database Technologies.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Module 2: Installing and Maintaining ISA Server. Overview Installing ISA Server 2004 Choosing ISA Server Clients Installing and Configuring Firewall Clients.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
Computer Emergency Notification System (CENS)
1 Introduction to Microsoft Windows 2000 Windows 2000 Overview Windows 2000 Architecture Overview Windows 2000 Directory Services Overview Logging On to.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
CN2140 Server II Kemtis Kunanuraksapong MSIS with Distinction MCT, MCITP, MCTS, MCDST, MCP, A+
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Amir Bishara and Dorin Danial Supervisors: Roiy Zysman Dr. Ilana David.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
{ Cloud computing. Exciting and relatively new technologies allow computing to be a part of our everyday lives. Cloud computing allows users to save their.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
The Personal Server Changing the Way We Think About Ubiquitous Computing Roy Want, et al. / Intel Research UBICOMP 2002 Nov Seungjae Lee
Configuring and Deploying Web Applications Lesson 7.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Module 5: Managing Content. Overview Publishing Content Executing Reports Creating Cached Instances Creating Snapshots and Report History Creating Subscriptions.
Maintaining and Updating Windows Server 2008 Lesson 8.
Architecture Review 10/11/2004
Web Browser presentation Name/ Hassan AL-Abdulmohsen
The Client-Server Model
Lesson 4: Web Browsing.
Chapter 2: System Structures
Software Design and Architecture
Introduction to Cloud Computing
Client-Side Validation with Javascript
Lecture 1: Multi-tier Architecture Overview
An Introduction to Cloud Computing
An Introduction to Software Architecture
Lesson 4: Web Browsing.
SharePoint 2019 Overview and Use SPFx Extensions
Dongwhan Kim Annie Zhao Steven Lawrance
Presentation transcript:

Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007

Agenda Introduction Feature Details Implementation Extension Approach Code Base Alteration Approach SAAM Analysis Conclusion Introduction Feature Details Implementation Extension Approach Code Base Alteration Approach SAAM Analysis Conclusion

Introduction Many users browse the web on multiple machines Bookmarks/customizations don’t carry over to other machines Proposed feature to address this issue Many users browse the web on multiple machines Bookmarks/customizations don’t carry over to other machines Proposed feature to address this issue

Proposed Enhancement Remote Profiling The “same” Firefox everywhere Profile Components Bookmarks, browser history, cookies, plug-ins, extensions, saved form data, saved passwords, address book entries Remote Profiling The “same” Firefox everywhere Profile Components Bookmarks, browser history, cookies, plug-ins, extensions, saved form data, saved passwords, address book entries

Proposed Enhancement Online Profile Repository Secure service that holds the profile Requires user authentication Provides profile versioning Much like a source code repository Online Profile Repository Secure service that holds the profile Requires user authentication Provides profile versioning Much like a source code repository

Proposed Enhancement Use Cases Create online profile Change password Export profile to disk Import profile from disk Export profile to server Import profile from server (latest version) Import profile from server (any version) Use Cases Create online profile Change password Export profile to disk Import profile from disk Export profile to server Import profile from server (latest version) Import profile from server (any version)

Extension Approach Re-use Firefox’s built-in extension mechanism and build an extension to realize our enhancement Users download our extension and gain the ability to export their profile, which can later be accessed from another computer: remotely using HTTP; locally by downloading a file. Users can select which profile element they wish to export and load. Re-use Firefox’s built-in extension mechanism and build an extension to realize our enhancement Users download our extension and gain the ability to export their profile, which can later be accessed from another computer: remotely using HTTP; locally by downloading a file. Users can select which profile element they wish to export and load.

Extension Approach: Profile Elements The following profile elements are supported: bookmarks; browser history; cookies; plug-ins; extensions; saved form data; saved passwords; address book entries. The following profile elements are supported: bookmarks; browser history; cookies; plug-ins; extensions; saved form data; saved passwords; address book entries.

Extension Approach: Architectural Changes No change to the architecture of Firefox Built-in extension mechanism is re- used allowing for ease of maintenance, development and deployment. No change to the architecture of Firefox Built-in extension mechanism is re- used allowing for ease of maintenance, development and deployment.

Extension Approach: Implications and Risks Reliability, by way of atomic updates to local and remote profiles Security, in the case of passwords and saved form data Maintainability, in the case of change in Firefox’s extension mechanism Usability, in the case of restarting Firefox when loading a saved profile Reliability, by way of atomic updates to local and remote profiles Security, in the case of passwords and saved form data Maintainability, in the case of change in Firefox’s extension mechanism Usability, in the case of restarting Firefox when loading a saved profile

Modify Code Base Approach Modify existing code within Firefox Changes would modify two layers Data Persistence UI Explicit connection between Networking and Data Persistence layers Modify existing code within Firefox Changes would modify two layers Data Persistence UI Explicit connection between Networking and Data Persistence layers

Modify Code Base Approach Issues Common data format Common data access Common communication methods Issues Common data format Common data access Common communication methods

Modify Code Base Approach Tasks Abstract factory for saving and retrieving all profile information Implementations for accessing file system and remote profiles Configuration UI in XUL Tasks Abstract factory for saving and retrieving all profile information Implementations for accessing file system and remote profiles Configuration UI in XUL

Comparison Codebase modifications Firefox extensions Tradeoffs and risks Final decision Codebase modifications Firefox extensions Tradeoffs and risks Final decision

Codebase Modifications Multiple components changed Unknown consequences of changes Greater control over functionality Enhanced security High maintenance costs Limited distribution Multiple components changed Unknown consequences of changes Greater control over functionality Enhanced security High maintenance costs Limited distribution

Firefox Extension Low development costs Easier maintenance Automatic update functionality Unknown if user data is accessible via the extension interface Low development costs Easier maintenance Automatic update functionality Unknown if user data is accessible via the extension interface

Conclusion Extension Implementation best option Deployment Development costs Maintenance costs Better updates Fewer risks/unknowns Extension Implementation best option Deployment Development costs Maintenance costs Better updates Fewer risks/unknowns

Thank you Questions?